Analiză distribuție Linux: Intel’s own Intel’s Clear Linux OS

Distribuția Clear Linux de la Intel a primit multă atenție în ultima vreme, datorită performanțelor sale incongruent de ridicate din benchmark-uri. Deși distribuția a fost creată și este administrată de Intel, chiar și AMD recomandă rularea de benchmark-uri ale noilor sale procesoare sub Clear Linux pentru a obține cele mai bune scoruri.

Recent, la Phoronix, Michael Larabel a testat un sistem Threadripper 3990X folosind nouă distribuții Linux diferite, dintre care una a fost Clear Linux – iar distribuția Intel a obținut de trei ori mai multe rezultate pe primul loc decât orice altă distribuție testată. Atunci când a încercat să aglomereze toate rezultatele testelor într-o singură medie geometrică, Larabel a constatat că rezultatele distribuției au fost, în medie, cu 14% mai rapide decât cele mai lente distribuții testate (CentOS 8 și Ubuntu 18.04.3).

Vezi mai mult

Nu există prea multe semne de întrebare că Clear Linux este cea mai bună opțiune dacă doriți să obțineți cele mai bune cifre de referință posibile. Întrebarea care nu este abordată aici este: cum este să rulezi Clear Linux ca șofer zilnic? Am fost curioși, așa că l-am luat la o tură.

Instalarea Clear Linux

Instalarea este cam la fel pentru Clear Linux ca pentru orice alt sistem de operare – descărcați ISO-ul, descărcați-l pe o unitate de memorie, porniți și porniți. Sunt disponibile două versiuni de instalare: o versiune „server” care este doar în modul text și o versiune „desktop” care folosește un mediu live desktop complet. Noi am ales versiunea desktop. Pe hardware real, Clear nu ne-a creat probleme și s-a instalat imediat – dar într-un mediu KVM, a refuzat inițial să se instaleze, cu un mesaj de eroare mai puțin util: „failed to pass pre-install checks” (nu a reușit să treacă verificările de preinstalare).

O mică cercetare online a scos la iveală faptul că, în timp ce mediul desktop live al Clear Linux va porni în modul BIOS, sistemul de operare real necesită UEFI. În mediul nostru de virtualizare – Linux KVM, sub Ubuntu 19.10 – noile VM-uri sunt în mod implicit în modul BIOS, cu excepția cazului în care bifați „Customize configuration before install” (Personalizați configurația înainte de instalare) la ultimul pas, iar apoi, în fila Overview (Prezentare generală), schimbați din BIOS în UEFI. Așa că am distrus mașina virtuală, am recreat-o cu firmware-ul UEFI corespunzător și apoi am pornit la drum.

După ce am îndreptat arhitectura firmware-ului mașinii noastre virtuale, instalarea Clear Linux într-o mașină virtuală a fost la fel de simplă ca pe hardware real – hardware real cu firmware UEFI, adică. Dacă sperați să instalați Clear Linux pe hardware vechi care suportă doar modul BIOS, nu aveți noroc.

Instalatorul este clar și direct. Trebuie să alegeți o limbă (deocamdată dintr-o listă foarte limitată), o țintă de instalare și să furnizați instalatorului un nume de utilizator și o parolă pentru noul sistem de operare. De asemenea, trebuie să îi comunicați dacă optați sau nu pentru telemetria telefonului de acasă, folosită în scopuri de control al calității și de dezvoltare.

Când setați o țintă de instalare, Clear Linux oferă fie o instalare „sigură”, fie una „distructivă”. Noi nu am testat programul de instalare sigur, alegând în schimb să instalăm Clear Linux ca singurul sistem de operare disponibil.

După ce v-ați selectat opțiunile, Clear nu ar trebui să dureze mai mult de câteva minute în total pentru a se instala efectiv – dar dacă vă îndepărtați și vă întoarceți, merită să vă dați seama că este posibil ca ecranul de blocare a economizorului de ecran să se declanșeze. (Dacă nu sunteți obișnuit cu Gnome3, faceți clic și trageți în sus pentru a respinge ecranul de blocare.)

Post-instalare: Cursa GIMP

În mare parte, nu părea să aibă prea mult rost să facem teste de performanță tradiționale pe Clear Linux. Phoronix a făcut deja o mulțime de acestea – și da, fără îndoială, Clear Linux este în medie mai rapid decât majoritatea distribuțiilor. Dar a câștiga teste de referință nu este neapărat același lucru cu a te simți rapid.

Fără un punct de referință pentru comparație – un cronometru supravegheat și ticăind sau o cursă cap la cap – majoritatea oamenilor nu vor observa o diferență mai mică de 33% în timpul necesar pentru a finaliza o sarcină cunoscută. Un observator tipic – unul care nu cronometrează de fapt lucrurile – confruntat cu o sarcină de o oră care s-a finalizat în 40 de minute va gândi „hei, părea rapid”. Același observator, așteptând ca o sarcină de o secundă să se finalizeze, va începe, în general, să se încrunte în jurul valorii de 1.300ms.

Publicitate

De asemenea, ar trebui să subliniem că majoritatea criteriilor de referință ale Phoronix se concentrează pe sarcini de calcul sau de stocare de lungă durată. Acest tip de benchmark se corelează mai bine cu schimbările de hardware decât cu schimbările de software la nivel de distribuție. Altfel spus, chiar dacă Clear Linux se prezintă mai rapid la o sarcină relevantă pentru performanța desktop-ului, diferența poate fi ușor copleșită de diferențele de la nivelul desktop-ului – sau al pachetului de aplicații specifice – în sine.

Când am instalat și am deschis GIMP într-o mașină virtuală Clear Linux, m-am gândit: „se simte rapid” – dar mă așteptam să se simtă rapid. Pentru a-mi testa percepția inițială, am deschis GIMP și pe stația mea de lucru Ubuntu 19.04 propriu-zisă și am numărat Mississippi – se pare că desktop-ul Ubuntu era de fapt de două ori mai rapid decât desktop-ul Clear. Cam atât despre percepția umană? Poate că nu – lucrez mult în cadrul VM-urilor, așa că poate că, în subconștient, am comparat Clear VM cu o VM Ubuntu, nu cu Ubuntu de pe stația de lucru gazdă.

Pentru a testa această teorie, am adus o VM Ubuntu 18.04.4 și o VM Clear Linux una lângă alta, fiecare cu patru vCPU și 4GB de RAM alocați. Apoi am instalat și configurat demonul NTP pe ambele VM-uri pentru a aduce ceasurile lor la o milisecundă una față de cealaltă și am instalat propriul meu utilitar de programare whenits. După ce am făcut toate acestea, rezultatele unei „curse GIMP” una lângă alta nu au fost diferite – în ciuda faptului că fiecare dintre ele avea aceleași resurse alocate, VM Ubuntu 18.04 a „câștigat” cu ușurință.

Publicitate

Investigând mai departe, am observat că Ubuntu 18.04 folosește o versiune mai veche de GIMP decât Clear. Așa că am dezinstalat GIMP 2.08 furnizat de sistem de pe Ubuntu VM și am instalat cea mai recentă versiune 2.10.14 – aceeași versiune pe care o folosește Clear – de la un PPA. Rezultatul nu s-a schimbat în mod semnificativ – GIMP s-a deschis în continuare mai repede în Ubuntu VM și puteți vedea rezultatele alăturate ale acestei „curse” finale în scurtul clip video de mai sus.

Nimic din toate acestea nu ar trebui să fie luat ca un punct de referință definitiv care face ca Clear Linux să fie „lent”. Dar demonstrează failibilitatea percepției umane și limitele impactului pe care o distro „rapidă” îl poate avea cu adevărat asupra funcționării normale, de zi cu zi, a unui sistem desktop. În afară de pornire, Clear Linux nu s-a simțit vizibil mai rapid decât Ubuntu în utilizarea generală – fie în VM-urile găzduite pe stația mea de lucru Ryzen 3700X, fie pe un Dell Latitude alimentat cu i7-6500U pe care l-am instalat direct.

Dacă sunteți genul de persoană care este foarte entuziasmată de optimizările compilatorului din pachetele Gentoo sau Arch – sau dacă aveți o sarcină foarte specifică pe care sunteți nerăbdător să o accelerați potențial cu 15% sau așa ceva – Clear ar putea foarte bine să fie pentru dumneavoastră. Dar dacă vă așteptați la genul de accelerare de tip kick-in-the-pants pe care prietenii dvs. o vor observa imediat și vor saliva, probabil că veți fi dezamăgiți.

Instalarea de software

Ubuntu 19.10 și Clear Linux folosesc ambele Gnome Software Center ca interfață grafică pentru instalarea și eliminarea de software. Diferența cea mai imediat evidentă aici este reprezentată de eforturile Canonical de a face ca depozitele din versiunea lor de Software Center să pară mai îngrijite și mai îngrijite – Software Center de la Ubuntu prezintă în mod proeminent Editor’s Picks și aplicații recomandate, lucru pe care Clear Linux nu îl face.

Oarecum mai important, Canonical are depozite mult mai profunde dedesubt decât Clear – iar acest lucru poate avea un impact chiar și atunci când ambele distribuții oferă o anumită aplicație. De exemplu, jocul Frozen Bubble este disponibil în Software Center pe ambele distribuții – dar pe Clear, acesta provine ca un flatpak, provenind din sursa terță parte dl.flathub.org.

Publicitate

Pe Ubuntu, Frozen Bubble provine din propriul depozit Universe al Canonical în loc de o sursă terță parte. S-ar putea să nu pară că nu contează – dar instalarea jocului pe Ubuntu din propriul depozit Canonical a durat doar câteva secunde, în timp ce instalarea pe Clear a durat aproape zece minute.

Va funcționa Chrome?

Nici Clear Linux, nici Ubuntu nu oferă la pachet browserul Google Chrome – dar pe Ubuntu, instalarea este la fel de simplă ca și pe Windows: o căutare, o descărcare, un clic și ați terminat. Descărcarea efectivă pe care o obțineți este un fișier .deb nativ Ubuntu și, pe lângă instalarea browserului în sine, vă actualizează automat lista de depozite – astfel încât, din acel moment, Chrome va fi actualizat automat de Ubuntu, în același mod și folosind aceleași instrumente ca și actualizările standard ale sistemului.

Căutarea paginii de descărcare Chrome în Firefox instalat nativ în Clear Linux vă prezintă aceeași alegere între o descărcare .deb sau .rpm – dar niciuna dintre ele nu va „funcționa pur și simplu”. Există o mică șmecherie pe care o puteți face în linia de comandă a Clear Linux pentru a descărca fișierul .rpm, pentru a-l extrage și instala și apoi pentru a face o reconfigurare manuală pentru ca fonturile să nu arate ciudat.

Publicitate

Din păcate, Chrome nu va fi actualizat automat, așa cum s-ar întâmpla pe Ubuntu sau pe majoritatea celorlalte distribuții desktop – în schimb, va trebui să vă amintiți să îl actualizați singur și să parcurgeți aceiași câțiva pași pe linia de comandă (inclusiv reconfigurarea fonturilor) de fiecare dată când o faceți.

Gestiunea pachetelor

Desigur, utilizatorii mai avansați probabil că nu se vor deranja niciodată cu Software Center în primul rând, pe oricare dintre distribuții. Ubuntu, ca distribuție bazată pe Debian, utilizează pachete .deb sub capotă, care pot fi instalate, actualizate, eliminate și căutate cu ajutorul instrumentului de linie de comandă apt. Clear Linux nu folosește apt – sau yum, zypper, pacman, pkg, sau orice altceva de care probabil ați auzit. În schimb, folosește propriul său instrument de gestionare a pachetelor în linie de comandă numit swupd.

În mare parte, swupd funcționează ca orice alt manager de pachete – există un argument pentru a instala pachete, un alt cuplu pentru a le căuta fie după numele/descrierea pachetului, fie după fișierele incluse, și așa mai departe. Din păcate, trebuie să recunosc că am găsit swupd în mod constant frustrant – în special, argumentele sunt verboase și ciudat formulate.

Publicitate

În Debian, Ubuntu, Fedora, OpenSUSE, CentOS sau FreeBSD ați <packagemanager> install <package> să instalați o nouă aplicație din depozite – de exemplu, apt install gimp. Dar în swupd, în schimb swupd bundle-add <package>. În mod similar bundle-remove, bundle-list, bundle-info și așa mai departe.

Aceasta ar putea părea o distincție minoră, neînsemnată, dar mie mi s-a părut destul de odioasă. Am bâjbâit sintaxa – de exemplu, am tastat din greșeală add-bundle în loc de bundle-add – mult mai frecvent decât o fac în mod normal atunci când folosesc un manager de pachete necunoscut.

Pachetele în sine, de asemenea, încalcă destul de des convențiile de denumire relativ standard. De exemplu, când m-am trezit că am nevoie de un anumit set de anteturi pe care Ubuntu le are în uuid-dev, iar Fedora le are în libuuid-devel, Clear Linux în schimb le avea în os-core-dev – și să-mi dau seama de asta a fost o pacoste enormă. Încercarea swupd search uuid nu a listat deloc pachetul os-core-dev – și nici căutarea fișierului real de care aveam nevoie, cu swupd search-file uuid.h. (Mai multe despre acest subiect mai târziu.)

Publicitate

Deși swupd funcționează, seamănă teribil de mult cu rezultatul sindromului NIH. Intel susține că o mare parte din sosul secret al Clear Linux se află în ambalaj, și poate că a avut cu adevărat nevoie să își construiască propriul instrument de gestionare de la zero. Dar, din punctul de vedere al acestui administrator de sistem, este greu de văzut beneficiile și ușor de văzut negurile – puțin mai mult efort dedicat lustruirii și ușurinței de utilizare a swupd ar ajuta mult.

Va fi ZFS?

Nu toată lumea se va interesa dacă puteți face OpenZFS să funcționeze pe Clear Linux. Dar mie cu siguranță mi-a păsat și am petrecut o cantitate ridicolă de timp urmărind acest dragon special. Mă gândeam serios să-mi asfaltez laptopul principal și să-l reinstalez cu Clear Linux pentru un test pe termen lung – dar chiar și pe „doar un laptop” nu am vrut să mă lipsesc de capacitatea ZFS de a replica rapid în mod asincron, de a detecta și repara criptografic bitrotul, de a folosi compresia inline, și așa mai departe și așa mai departe.

Proiectul OpenZFS însuși nu are nicio notă de instalare pentru Clear Linux, iar un swupd search zfs nu a găsit nimic, așa că am căutat pe Internet. Căutarea „Clear Linux ZFS” te duce rapid la FAQ-ul lui Clear, care afirmă că „ZFS nu este disponibil cu sistemul de operare Clear Linux” și oferă btrfs ca alternativă.

Btrfs oferă majoritatea acelorași caracteristici pe care le oferă ZFS – dar, din păcate, dacă folosești cu adevărat cele mai interesante dintre aceste caracteristici, cum ar fi matricele redundante cu vindecare a datelor, replicarea rapidă sau compresia în linie, devine rapid nesigură. (Da, într-adevăr – dispozitivele NAS comerciale, cum ar fi Synology și ReadyNAS de la Netgear, utilizează btrfs, dar îl suprapun peste LVM și mdraid, și fac acest lucru pentru un motiv întemeiat. Consultați wiki-ul Debian pentru mai multe informații și rețineți decizia Red Hat de a renunța în totalitate la btrfs în RHEL 7.4.)

Publicitate

Pregătirea frecventă Clear Linux ne indică, de asemenea, o problemă Github mai veche în care un utilizator solicită un pachet ZFS și este respins. Un alt utilizator cere ajutor pentru a face să funcționeze modulele de kernel fără semnătură și primește un indicator către o documentație prin intermediul unui link acum mort. Am găsit o copie a documentației cu link mort pe web.archive.org (și mai târziu, un membru al proiectului Clear Linux a furnizat un link actualizat către versiunea curentă), dar nici asta nu m-a dus unde trebuia să ajung.

Instalarea pachetului linux-lts-dev a fost simplă, la fel ca și crearea unui fișier de configurare a kernelului care să permită încărcarea modulelor nesemnate. Dar trecerea înapoi la kernelul LTS – necesară, deoarece kernelul nativ era un pic prea bleeding-edge pentru suportul oficial din partea OpenZFS – s-a dovedit a fi mai complicată. Instalarea kernelului a fost simplă-swupd bundle-add kernel-lts2018-dar a fost un coșmar să facem ca Clear Linux să pornească efectiv de pe el.

Unitatea clr-boot-manager pare destul de simplă-dar nu toate opțiunile au funcționat.
Amărire / Instrumentul clr-boot-manager arată destul de simplu-dar nu toate opțiunile au funcționat.
Jim Salter

Distribuția nu păstrează configurația de gestionare a boot-ului în niciunul dintre locurile în care un utilizator *nix experimentat le-ar putea căuta-/boot, /etc/default, orice are legătură cu grub, etc. Nu am găsit niciodată locația reală a datelor de configurare, dar în cele din urmă am descoperit că un utilizator Clear Linux este așteptat să manipuleze mediul de boot cu instrumentul clr-boot-manager. Din nefericire, clr-boot-manager set-kernel org.clearlinux.lts2018.4.19.103-113 urmat de clr-boot-manager update – care ar fi trebuit să selecteze acel nucleu pentru a fi folosit la următoarea pornire – nu a făcut absolut nimic, și m-am învârtit în jurul roților, repornind, rulând uname -a, și încă mai vedeam un nucleu 5.5 rulând pentru ceva timp.

În cele din urmă, am renunțat la clr-boot-manager set-kernel și am încercat clr-boot-manager set-timeout 10. Asta chiar a funcționat – după ce am repornit de data aceasta, mi s-a prezentat o listă de kerneluri și am selectat manual kernelul 4.19 LTS. Acum, uname -a mi-a arătat că rulam pe kernelul 4.19 și eram gata să compilez ZFS!

Publicitate

Problemele erau departe de a se termina, din păcate. Descărcând și extrăgând tarball-ul sursă OpenZFS, chdirintrând în el și rulând ./configure, mi s-a prezentat o eroare: uuid/uuid.h missing, libuuid-devel package required. Din nefericire, nu există nici un pachet libuuid-devel în swupd – și nici libuuid, uuid, uuid-dev, uuid-devel, sau orice altceva în acest sens. Nici swupd search uuid și nici swupd search-file uuid.h nu au dat rezultate utile – deși ar fi trebuit să o facă.

În cele din urmă, am deschis o nouă problemă în trackerul ZFS on Linux, sperând fie că altcineva a reușit să facă să funcționeze ZFS pe Clear, fie că aș putea obține suficiente informații despre scriptul de configurare pentru a încerca să îl monkey-patch eu însumi. Brian Behlendorf – dezvoltatorul fondator al portului Linux al OpenZFS și un tip de treabă în general – nu a avut nici el răspunsul.

Dar Brian mi-a dat indiciul care a rezolvat în cele din urmă puzzle-ul – deși swupd search-file uuid.h nu a găsit pachetul de care aveam nevoie, swupd search-file libuuid.so.1 a găsit. Așa că un swupd bundle-add os-core-dev mai târziu/configure și make install, ambele finalizate cu succes!

Publicitate

Problema rămasă cu care m-am confruntat este că simpla comandă de manipulare a modulului Linux Kernel Module (LKM) insmod – care vă permite să specificați o cale către modulul care urmează să fie inserat în nucleu – nu rezolvă dependențele, și astfel insmod /path/to/zfs.ko a eșuat cu eroarea unknown symbol. Instrumentul mult mai inteligent modprobe detectează și rezolvă problemele de dependență – dar nu vă permite să specificați calea către modulele kernelului, iar programul de instalare le-a descărcat în locuri în care modprobe nu știa să se uite.

După un pic de frământări, în cele din urmă am descărcat un link simbolic către fiecare dintre fișierele package.ko ale ZFS – care erau în directoare individuale sub /lib/modules/extra – direct în /lib/modules însuși. Cu asta, modprobe zfs a funcționat și am avut de fapt ZFS rulând pe Clear Linux. Huzzah!

Deși ZFS era funcțional acum, mai erau încă tăieturi de hârtie de rezolvat. Comenzile zpool și zfs se aflau în /usr/local/sbin, care nu face parte din PATH implicit din Clear Linux. De asemenea, modulul ZFS nu era setat să se încarce automat la pornire. Aceste probleme rămase sunt, din fericire, destul de banale de rezolvat. Pentru a rezolva problema căilor de acces, fie vă actualizați PATH pentru a include /usr/local/sbin, fie faceți un symlink al utilităților de acolo în /usr/local/bin. Pentru a face ca ZFS să se încarce automat la pornire, creați un director /etc/modules-load.d, apoi creați un fișier /etc/modules-load.d/zfs.conf și completați-l cu o singură linie care să spună doar zfs.

Publicitate

Această poveste cu câinele zbanghiu nu este cu adevărat despre ZFS în sine – ci despre faptul că problemele care sunt relativ simple în distribuții mai experimentate pot fi o pacoste uriașă în Clear Linux. Aceste tipuri de probleme sunt toate rezolvabile, desigur – dar dacă nu sunteți dispuși și entuziasmați să luați parte la efortul de a le rezolva voi înșivă sau pentru cei care vin după voi, ar trebui, probabil, să vă feriți de Clear ca șofer zilnic.

Cele bune

  • Clear Linux este susținut de Intel, una dintre cele mai mari și mai importante companii de informatică din lume
  • Clear Linux are un mandat concis și clar: să fie sigur, să fie rapid, să facă lucrurile cum trebuie
  • Majoritatea lucrurilor funcționează cu puțină sau nicio modificare
  • Dacă sunteți obligat și hotărât să aveți Cel mai rapid Linux din Vest, aceasta este distribuția potrivită – scuze, utilizatori Arch și Gentoo
  • „Acesta este Linux! Știu asta!”

Răul

  • Deși majoritatea lucrurilor funcționează fără ajustări, majoritatea utilizatorilor vor dori rapid ceva care nu funcționează
  • Instrumentul de gestionare a pachetelor swupd de la Intel este greoi, neîndemânatic și nu pare să indexeze toate pachetele în mod corespunzător
  • Există atât de puțini utilizatori, încât căutarea de ajutor poate părea o călătorie în timp în trecut (Cine ai fost tu, DenverCoder9? Ce ai văzut?!)

Urâul

  • Clear Linux – cel puțin deocamdată – este mult mai potrivit pentru un set simplu de sarcini repetitive în care viteza de execuție este absolut critică decât pentru o utilizare zilnică de mare anvergură, de uz general

.

Lasă un comentariu