Tag-Archive for » ubuntu «

Sunday, August 04th, 2013 | Author:

Kasaysayan

Karamihan ay nagbago mula noong huling ko ang aking nabanggit personal na server – ito ay lumago sa pamamagitan ng leaps at hangganan (ito ay mayroon na ngayong 7TB MD RAID6) at kamakailan lamang ito ay itinayong muli sa Ubuntu Server.

Arko ay hindi kailanman isang pagkakamali. Arch Linux ay na itinuro sa akin kaya magkano ang tungkol sa Linux (at patuloy na gawin ito sa aking iba pang mga desktop). Ngunit Arch Talagang nangangailangan ng mas maraming oras at atensyon kaysa Gusto kong gastusin sa isang server. May perpektong ko gustong sa magagawang kalimutan ang tungkol sa mga server para sa isang habang hanggang sa isang paalala sa email sabi “Um … mayroong ilang mga update ay dapat kang tumingin sa, buddy.”

Space ay hindi libre – at hindi rin ay espasyo

Ang pagkakataon na mag-migrate sa Ubuntu ay ang katotohanan na ako ay maubusan ng SATA port, ang port na kinakailangan upang ikonekta ang matapang na drive upang ang natitirang bahagi ng ang computer – 7TB na salakayin array ay gumagamit ng maraming port! Kahit na ako ay ibinigay ang layo ng aking napaka lumang 200GB hard disk bilang ito kinuha up ng isa sa mga port. Ako din binigyan ng babala ang tatanggap na ang disk ni Matalino Pagmamanman ng nakasaad dito ay hindi kapani-paniwala. Bilang isang pansamantalang workaround sa kakulangan ng SATA port, Kahit na ako ay lumipat na OS ng server sa isang hanay ng mga apat na sticks USB sa isang MD RAID1. Bangaw. Alam ko. Ako ay hindi masyadong masaya tungkol sa bilis. Ako nagpasya upang pumunta out at bumili ng isang bagong maaasahang hard drive at isang SATA card Pagpapalawak upang pumunta sa mga ito.

Pangunahing Arch ng server ay partisyon gamit ang tungkol sa 7GB ng disk. Ang isang malaking tipak ng iyon ay isang magpalitan file, naka-cache na data at kung hindi man ay halu-halo o hindi kinakailangang mga file. Pangkalahatang ang aktwal na laki ng OS, kabilang ang /bahay folder, lamang tungkol sa 2GB. Ito sinenyasan sa akin upang tumingin sa isang napakabilis na SSD magmaneho, iniisip marahil ng isang mas maliit na ang isa ay maaaring hindi kaya mahal. Ito ay naka-out na ang cheapest non-SSD drive ay maaaring ko mahahanap ang aktwal na gastos mas sa isa sa mga relatibong maliit na SSDs. Yay para sa akin. 🙂

Pagpili? Woah?!

Sa pagpili ng OS, Gusto ko na nagpasya hindi ito magiging Arch. Wala ng lahat ng iba pang mga sikat na distribusyon, Ako ay pinaka-pamilyar sa Ubuntu at CentOS. Fedora noon din ang isang posibilidad – ngunit hindi ako ay sineseryoso pa itinuturing na ito para sa isang server. Ubuntu nanalo ang pag-ikot.

Ang susunod na desisyon ko ay nagkaroon upang gumawa ay hindi mangyayari sa akin hanggang Pagka-nasa-lahat-ng-pook (Installation wizard ng Ubuntu) tinanong ko: Paano i-set up ang partitions.

Ako ay bago sa paggamit ng SSDs sa Linux – Ako na rin malaman ng mga pitfalls ng hindi gumagamit ang mga ito ng tama, karamihan dahil sa kanilang panganib ng mahinang kahabaan ng buhay kung maling maggamit.

Hindi ko nais na gumamit ng isang nakalaang makipagpalitan ng partisyon. Plano ko sa pag-upgrade motherboard / CPU / memory ng server ay hindi masyadong malayo sa hinaharap. Batay sa na ako nagpasya ko bang ilagay ang makipagpalitan sa isang makipagpalitan ng file sa umiiral na isang bigla at hindi inaasahang pagsalakay ng MD. Ang makipagpalitan ay hindi maging partikular na mabilis nito ngunit tanging layunin ay para na bihirang pagkakataon kapag ang isang bagay ay nawala maling at ang memorya ay hindi magagamit.

Ito pagkatapos ay iniwan sa akin upang bigyan ang root path ang buong 60GB out ng isang Intel 330 SSD. Ko itinuturing na naghihiwalay / home ngunit tila lamang ito ng kaunti walang kahulugan, ibinigay gaano kaliit ay ginagamit sa nakalipas. Ako unang-set up ang partisyon na may LVM – isang bagay na kamakailan ko ang ginagawa tuwing ako magse-set up ng isang Linux box (talaga, walang dahilan na hindi gamitin ang LVM). Kapag nakuha ito sa bahagi kung saan Gusto ko i-configure ang mga filesystem, Ko click ang drop-down at nang katutubo napiling ext4. Pagkatapos Napansin ko btrfs sa parehong listahan. Manatili!!

Ngunit kung ano ang isang?

Btrfs (“mantikilya-eff-ess”, “mas mahusay na-eff-ess”, “abeha-tree-eff-ess”, o anumang Fancy mo sa araw) ang isang relatibong bagong filesystem binuo upang dalhin ang Linux’ filesystem kakayahan bumalik sa track na may kasalukuyang filesystem tech. Ang umiiral na King-of-the-Hill filesystem, “EXT” (ang kasalukuyang bersyon na tinatawag na ext4) ay medyo magandang – ngunit ito ay limitado, Natigil sa isang lumang tularan (sa tingin ng isang bagong tatak F22 Raptor vs. isang F4 parang multo may isang half-jested pagtatangka sa isang upgrade pagkapareho) at ay malamang na hindi magagawang upang makipagkumpetensya para sa napakatagal na may mas bagong filesystems Enterprise tulad ng Oracle ni ZFS. Btrfs pa rin ay may isang mahabang paraan upang pumunta at itinuturing pa rin ang pang-eksperimentong (depende sa kung sino ang magtanong at kung ano ng kailangan mo). Maraming isaalang-alang ito upang maging matatag para sa basic na paggamit – ngunit walang saysay na tao ay pagpunta sa gumawa ng anumang mga garantiya. At, oo naman, ang lahat ay sinasabi na upang gumawa at subukan ang mga backup!

Mooooooo

Ang pinaka-pangunahing pagkakaiba sa pagitan ng EXT at btrfs na btrfs ay “Baka” o “Kopyahin sa Isulat” filesystem. Nangangahulugan ito na ang data ay hindi aktwal na sadyang mapapatungan ng internals ang filesystem. Kung sumulat ka ng pagbabago sa isang file, btrfs ay isulat ang iyong mga pagbabago sa isang bagong lokasyon sa pisikal na media at maa-update ang panloob na pointer upang sumangguni sa bagong lokasyon. Btrfs napupunta isang hakbang karagdagang sa na mga panloob na mga payo (tinutukoy bilang metadata) ay rin Baka. Mas lumang bersyon ng EXT ay may lamang-o-overwrite ang data. Ext4 gumamit ng Journal upang matiyak na hindi mangyayari ang katiwalian dapat ang AC plug yanked sa pinaka-hindi napapanahon sandali. Ang mga journal na mga resulta sa isang katulad na bilang ng mga hakbang na kinakailangan upang i-update ang data. Gamit ang isang SSD, ang kalakip na hardware ay nagpapatakbo ng isang kaparehong proseso Cow kahit na ano filesystem gumagamit ka ng. Ito ay dahil SSD drive ay hindi maaaring aktwal na patungan ang mga data – kailangan nila upang kopyahin ang data (gamit ang iyong mga pagbabago) sa isang bagong lokasyon at pagkatapos burahin ang lumang block ganap. Ang isang pag-optimize sa lugar na ito ay na SSD isang hindi maaaring kahit na burahin ang lumang bloke ngunit sa halip lamang gumawa ng isang nota upang burahin ang mga bloke sa ibang pagkakataon kapag ang mga bagay ay hindi kaya busy. Ang katapusan ng resulta ay na SSD drive magkasya napakahusay na may isang filesystem Cow at hindi gumaganap pati na rin sa mga hindi Cow filesystems.

Upang gumawa ng mga bagay na kawili-wili, Cow sa ang filesystem madaling napupunta kamay sa kamay na may isang tampok na tinatawag na Deduplication. Ito ay nagpapahintulot sa dalawang (o higit pa) magkakahawig na mga bloke ng data na naka-imbak ng paggamit lamang ng isang kopya, pagse-save espasyo. Gamit Cow, kung ang isang deduplicated file ay binagong, hiwalay twin hindi maaapektuhan ng mga data sa nabagong file ay na-nakasulat sa isang iba't ibang mga pisikal na block.

Cow ay ginagawang snapshotting medyo madaling ipatupad. Kapag ang isang snapshot ng system ang Itinatala lamang ang bagong snapshot bilang isang duplicate ng lahat ng data at metadata sa loob ng volume. Gamit Cow, kapag may mga pagbabagong ginawa, ay mananatiling buo ang data ng snapshot, at isang pare-parehong view ng katayuan ng filesystem sa oras na snapshot ang ginawa panatilihin.

Ang isang bagong kaibigan

Sa itaas sa isip, lalo na kung Ubuntu btrfs magagamit bilang isang-oras na pagpipilian ng pag-install, Naisip ko ito ay isang mahusay na oras upang sumisid in sa btrfs at galugarin ng kaunti. 🙂

Bahagi 2 paparating …

magbahagi
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 at Debian mahusay. 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” o “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!

Tungkol sa 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 malakas na palo 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 sa 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. Halimbawa: 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 (mahusay, 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 paclalaki, 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, o 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.

din, 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!
magbahagi