Tag-Archive for » ubuntu «

Sunday, August 04th, 2013 | Author:

Sejarah

Banyak telah berubah sejak saya nyatakan terakhir saya pelayan peribadi – ia telah berkembang dengan pesat (ia kini mempunyai 7TB md RAID6) dan ia telah baru-baru ini telah dibina semula dengan Ubuntu Server.

Arch tidak adalah satu kesilapan. Arch Linux telah mengajar saya banyak tentang Linux (dan akan terus berbuat demikian pada desktop saya yang lain). Tetapi Arch pasti memerlukan lebih banyak masa dan perhatian daripada yang saya ingin menghabiskan pada pelayan. Sebaik-baiknya, saya memilih untuk dapat melupakan pelayan untuk sementara waktu sehingga e-mel peringatan kata “um … terdapat beberapa kemas kini anda perlu melihat, buddy.”

Ruang tidak bebas – dan tidak adalah ruang

Peluang untuk berhijrah ke Ubuntu adalah hakikat bahawa saya telah kehabisan SATA pelabuhan, pelabuhan yang diperlukan untuk menyambung cakera keras ke seluruh komputer – bahawa array RAID 7TB menggunakan banyak pelabuhan! Saya telah pun diberikan saya sangat lama cakera keras 200GB kerana ia mengambil salah satu pelabuhan. Saya juga memberi amaran kepada penerima bahawa cakera ini SMART pemantauan menunjukkan ia tidak boleh dipercayai. Sebagai Workaround sementara kekurangan pelabuhan SATA, Saya telah pun berhijrah OS pelayan kepada satu set empat batang USB dalam md an RAID1. Crazy. Saya tahu. Saya tidak terlalu gembira tentang kelajuan. Saya membuat keputusan untuk keluar dan membeli memandu baru dipercayai keras dan kad pengembangan SATA untuk pergi bersamanya.

Partition Arch utama server telah menggunakan kira-kira 7GB cakera. Sebahagian besar yang merupakan swap file, data cache dan fail sebaliknya pelbagai atau tidak perlu. Keseluruhan saiz sebenar OS, termasuk /rumah folder, hanya kira-kira 2GB. Ini mendorong saya untuk melihat ke dalam super cepat SSD memandu, berfikir mungkin salah satu yang lebih kecil mungkin tidak begitu mahal. Ia ternyata bahawa memandu murah bukan SSD saya dapat mencari sebenarnya kos lebih daripada satu SSDs ini agak kecil. Yay untuk saya. 🙂

Pilihan? Woah?!

Dalam memilih OS, Saya sudah memutuskan ia tidak akan Arch. Daripada semua pengagihan lain yang popular, Saya paling akrab dengan Ubuntu dan CentOS. Fedora juga kemungkinan – tetapi saya tidak lagi dianggap serius untuk pelayan. Ubuntu memenangi pusingan.

Keputusan seterusnya saya terpaksa membuat tidak berlaku kepada saya sehingga Keleluasaan (Wizard pemasangan Ubuntu) bertanyakan saya: Bagaimana untuk menubuhkan sekatan.

Saya baru menggunakan SSDs dalam Linux – Saya juga sedar perangkap tidak menggunakan mereka dengan betul, kebanyakannya disebabkan risiko mereka panjang umur miskin jika disalahgunakan.

Saya tidak mahu untuk menggunakan partition swap khusus. Saya merancang untuk menaik taraf motherboard / CPU / memori pelayan tidak terlalu jauh di masa depan. Berdasarkan itu, saya memutuskan saya akan meletakkan swap ke dalam fail swap pada RAID md sedia ada. Swap tidak akan terutamanya cepat tetapi tujuan satunya adalah untuk majlis yang jarang berlaku apabila sesuatu silapnya dan memori yang tidak boleh didapati.

Ini kemudian meninggalkan saya untuk memberi jalan akar 60GB penuh daripada suatu Intel 330 SSD. Saya dianggap memisahkan / rumah tetapi ia hanya seolah-olah sedikit sia-sia, memandangkan bagaimana sedikit telah digunakan pada masa lalu. Saya mula-mula ditubuhkan partition dengan LVM – sesuatu yang saya baru-baru ini telah melakukan setiap kali saya membuka kotak Linux (benar-benar, tiada alasan untuk tidak menggunakan LVM). Apabila ia sampai ke bahagian di mana saya akan mengkonfigurasi filesystem, Saya klik drop-down dan naluri dipilih ext4. Kemudian saya perasan btrfs dalam senarai yang sama. Hang pada!!

Tetapi apa yang?

Btrfs (“mentega-EFF-ess”, “lebih baik EFF-ess”, “lebah-pokok-EFF-ess”, atau apa sahaja yang anda suka pada hari) adalah sistem fail yang agak baru dibangunkan dalam usaha untuk membawa Linux’ keupayaan sistem fail kembali ke landasan dengan teknologi semasa filesystem. Raja-the-Hill yang sedia ada sistem fail, “ext” (versi semasa dipanggil ext4) adalah cukup baik – tetapi ia adalah terhad, terperangkap dalam paradigma lama (memikirkan satu jenama baru F22 Raptor vs. an F4 Phantom dengan cubaan separuh bergurau pada menaik taraf persamaan) dan tidak mungkin dapat bersaing untuk masa yang lama dengan sistem fail Enterprise baru seperti ZFS Oracle. Btrfs masih mempunyai cara yang lama untuk pergi dan masih dianggap eksperimen (bergantung kepada siapa anda bertanya dan apa ciri-ciri yang anda perlukan). Ramai yang menganggap ia menjadi stabil untuk kegunaan asas – tetapi tiada siapa yang akan membuat apa-apa jaminan. Dan, kursus, semua orang mengatakan untuk membuat dan menguji sandaran!

Mooooooo

Perbezaan yang paling asas antara ext dan btrfs adalah bahawa btrfs adalah “Lembu” atau “Salinan di Tulis” filesystem. Ini bermakna bahawa data tidak pernah sebenarnya sengaja ditimpa oleh internals sistem fail. Jika anda menulis perubahan kepada fail, btrfs akan menulis perubahan anda ke lokasi baru pada media fizikal dan akan memaklumkan kepada petunjuk dalaman untuk merujuk ke lokasi baru. Btrfs pergi selangkah ke hadapan dalam bahawa mereka petunjuk dalaman (dirujuk sebagai metadata) adalah juga Lembu. Lama versi ext akan mempunyai hanya ditimpa data. Ext4 akan menggunakan Jurnal untuk memastikan bahawa rasuah tidak akan berlaku palam AC harus tepian tercabut pada masa yang paling hell. Keputusan jurnal dalam bilangan yang sama langkah-langkah yang diperlukan untuk mengemaskini data. Dengan SSD, perkakasan asas mengendalikan proses lembu yang sama tidak kira apa sistem fail anda menggunakan. Ini adalah kerana pemacu SSD sebenarnya tidak boleh overwrite data – mereka perlu menyalin data (dengan perubahan) ke lokasi baru dan kemudian memadam blok lama sepenuhnya. Satu pengoptimuman di kawasan ini adalah bahawa SSD yang mungkin tidak memadam blok lama tetapi sebaliknya hanya membuat nota untuk memadam blok pada suatu masa kemudian apabila perkara yang tidak begitu sibuk. Hasilnya adalah bahawa pemacu SSD sesuai dengan baik dengan sistem fail lembu dan tidak melakukan juga dengan sistem fail bukan lembu.

Untuk membuat perkara-perkara yang menarik, Lembu dalam filesystem mudah seiring dengan ciri-ciri yang dipanggil deduplication. Ini membolehkan dua (atau lebih) blok data yang sama akan disimpan menggunakan hanya satu salinan tunggal, ruang penjimatan. Dengan lembu, jika fail deduplicated diubah suai, berkembar yang berasingan tidak akan terjejas sebagai data fail diubah suai akan telah ditulis ke blok fizikal yang berbeza.

Lembu seterusnya membuat snapshotting agak mudah untuk melaksanakan. Apabila gambar dibuat sistem semata-mata rekod snapshot baru sebagai pertindihan semua data dan metadata dalam kelantangan. Dengan lembu, apabila perubahan dibuat, data snapshot kekal utuh, dan pandangan yang konsisten status filesystem pada masa gambar itu dibuat boleh dikekalkan.

Seorang rakan baru

Dengan di atas dalam fikiran, terutama sebagai Ubuntu telah dibuat btrfs disediakan sebagai pilihan memasang masa, Saya rasa ia akan menjadi masa yang baik untuk menyelam ke btrfs dan meneroka sedikit. 🙂

Bahagian 2 datang tidak lama lagi …

Kongsi
Thursday, January 01st, 2009 | Author:

Apparently, what operating system you use can say a lot about you. If you’re using some form of *nix, which distro you’re using can say a lot as well. Redundancy aside, I believe that a Linux distribution depends absolutely on its package management and distribution system.

I liked apt-get (1, 2) but there was some technical problem at some point and it caused me to use aptitude instead. Using aptitude is slightly easierit has more features automated into single, logical, commands where apt-get requires separate commands. Aptitude also has a curses-based GUI. If you’re not using the GUI then, other than brevity in terms of number of commands to learn, there is apparently no technical reason to prefer one over the other. Aptitude and apt-get serve K/X/Ubuntu dan Debian baik. From this point, I use the names Kubuntu and Ubuntu in a loosely interchangeable fashion.

In my use of CentOS (based on Red Hat), I’ve found I like yum. It seems to work in much the same as aptitudeone command to rule them all. It has some rather annoying default behaviour I’m not going to get into here as its most likely because I’m just not used to it. At least from a technical perspective, it is very good. I believe that Fedora also makes use of yum though my experience with Fedora is very limited.

the theory

Fedora and Ubuntu are in a class of distributions that have a fairly rigorous release cycle. Ubuntu 8.10 (the version is named so for the year and month of its release) will not, except for major bugs and minor changes, have another major update until the next version, Jaunty Jackalope. Ubuntu users have the latest versions of most software on their desktops right now. In the months preceding the next release, however, they’re not going to be so lucky unless they like using “beta” releases. As I’m not very familiar with Fedora, I’m not going to bother going into its release cycle.

These 2 distributions are also within a class of distributions known asbinary” atau “binary-baseddistributions. This means that when you download an update, the files that are downloaded are precompiled and should run on anysupportedhardware. This isn’t specifically optimised for your desktop’s hardware, for example, your processor. Perhaps you have an AMD processor which has extra instruction support which Intel CPUs do not have. The reverse could also be true. For this reason, a binary-release distribution cannot optimise for one particular brand of hardware. Regardless of thisnon-optimisation”, it should run at a decent pace.

the practice!

Mengenai 2 years ago I started using Kubuntu. After a few months of working with it, I started to learn more about its specifics. I’m not much of a fan of using GUI tools to update the system when, ultimately, its all happening on the command-line anyway. The GUI tools just hide the complexity I don’t mind seeing.

I ended up making a Bash script, update, which would run all the steps required to get aptitude to just go ahead and upgrade already, kthx?©, perhaps stopping along the way to back up my configuration, remount the NFS network share where we keep an on-site repository, back up the local cache of aptitude’s installed packages, do some folder-link shuffling to use a local copy if the network share couldn’t remount, sync between the local copy and the network share if the previous update had a network share issue, and update lists of packages in the repository. In general, it wouldn’t go ahead if there were any errors though, as you can tell, this script became a messy beast that went above and beyond the original requirements. It worked well for me.

Until the day came to update between Kubuntu 6.10 kepada 7.04. I did this manually though, not with the script.

I ended up reinstalling from scratch as a result of the mess that ensued. At least, as a backup administrator should do well to demonstrate, it was easy to recover everything I really needed. 🙂

What else is out there?

Even before I had to reinstall Kubuntu, I was introduced to another distribution called Gentoo. There are 2 very distinct differences between Gentoo and Ubuntu’s update system. The first is that Gentoo is a source-based distribution. This means that when you update a package, the package manager downloads the source and compiles everything, hopefully optimising it for your system. This, I think, is very cool. The downside to this is that compiling everything takes a very long time.

Here are my (very unscientific) estimates for the length of time it takes to install a basic GUI OS to a desktop from installation media, excluding extraneous drivers (for example, the latest 3D graphics drivers):

OS: minmax (median)

Windows Vista: 15 – 30 (20) minutes

Ubuntu: 15 – 40 (20) minutes

Gentoo: 3 – 40 (6) hours

Gentoo also requires much tinkering with the config files in order to get things workingthis is another reason for the extremely long delay between inserting the CD and booting your awesome* new desktop. Popular applications have binary packages available for downloadthough this isn’t a default option.

They see me rollin

There is one more very important distinction Gentoo has from most other distributions. It is arolling-releasedistribution. This means that there isn’t any rigorous version orreleasethat the distribution adheres to. If you install Gentoo todayif you finish installing Gentoo today, you’re probably going to have the latest version of all the applications you installed. If some obscure application gets a major update tomorrow, within a few days, if you update your system, you’re going to have that latest version on your desktop.

The difference between this rolling release and theotherdistributions is rather staggering. Sebagai contoh: If KDE 4.2 were to be released tomorrow, you’d probably have to wait less than 2 weeks for it to be available on Gentoo. Ubuntu users might have to wait till 9.04 – that’s a 4-month wait.

Something more suitable?

Personally, I’m not willing to put in the 40 hours of effort to get my system working the way I want it to. My colleague had to reinstall recently for some obscure reason and it turns out he wasn’t willing to put in the 6 hours (he’s more experienced with Gentoo) of effort to get his system back to how it was running either. Instead, Arch Linux caught his eye. Arch Linux is a rolling-release (like Gentoo), binary-based (like Ubuntu) distribution. Its packages (baik, the vast majority of them) don’t need much tinkering with their config files to get things working nicely either. Its the best of both worlds!

You still need to know what you’re doing* but if you’ve come to this juncture, it shouldn’t be such a giant leap of faith. Arch Linux’s package manager, called paclelaki, has built-in dependency and conflict handling. I use another package manager, yaourt (French for yoghurt), which has very quickly become popular with Arch users. Yaourt enhances the functionality of pacman by allowing you to download and install applications directly from the AUR, atau Arch User Repository. This repository contains scripts that allow you to automatically download and install many applications that would otherwise be completely unsupported by Arch’s own core developers. It downloads and compiles the package into a chroot’d environment. It then packages the chroot’d environment into a pacman-compatible package tarball and uses pacman to deploy it into your system.

juga, the AUR supports a voting system whereby popular packages get placed into the more official [community] repository. Yaourt also supports an automated voting mechanism whereby, after installing a package via AUR, it asks if you want to vote for its inclusion in [community].

I estimate that the time taken for my Arch installation was about 90 minutes. I don’t recommend Archlinux for newbies though I do recommend it for any Linux user who’s gotten bored with other distrosand wants to get into the nitty gritty without having to install Linux From Scratch. Arch Linux has been getting pretty popular these days. Its currently at number 14 on Distrowatch.

* IF you know what you’re doing. AND YOU BETTER BLOODY KNOW WHAT YOU’RE DOING!
Kongsi