Distribuce Clear Linux od Intelu se v poslední době těší velké pozornosti, a to díky svému neobvykle vysokému výkonu v benchmarcích. Přestože distribuci vytvořil a spravuje Intel, dokonce i AMD doporučuje spouštět benchmarky svých nových procesorů pod Clear Linuxem, aby dosáhlo co nejlepších výsledků.
Nedávno na Phoronixu Michael Larabel testoval systém Threadripper 3990X s devíti různými linuxovými distribucemi, z nichž jednou byl Clear Linux – a distribuce od Intelu získala třikrát více výsledků na prvních místech než jakákoli jiná testovaná distribuce. Při pokusu o shrnutí všech výsledků testů do jednoho geometrického průměru Larabel zjistil, že výsledky distribuce byly v průměru o 14 % rychlejší než výsledky nejpomalejších testovaných distribucí (CentOS 8 a Ubuntu 18.04.3).
Není příliš pochyb o tom, že Clear Linux je nejlepší volbou, pokud chcete dosáhnout co nejlepších výsledků v benchmarcích. Otázkou, která zde nebyla řešena, je, jaké to je provozovat Clear Linux jako každodenní řidič? Byli jsme zvědaví, a tak jsme ho vyzkoušeli.
Instalace Clear Linuxu
Instalace je u Clear Linuxu stejná jako u jakéhokoli jiného operačního systému – stáhněte ISO, nahrajte ho na flash disk, nabootujte a jeďte. K dispozici jsou dvě verze instalátoru: „serverová“, která je pouze v textovém režimu, a „desktopová“, která používá plnohodnotné prostředí živé plochy. My jsme si vybrali desktop. Na skutečném hardwaru nám Clear nečinil žádné potíže a nainstaloval se okamžitě, ale v prostředí KVM se zpočátku odmítl nainstalovat s nepříliš užitečnou chybovou zprávou „nepodařilo se projít předinstalačními kontrolami“.
Drobné pátrání na internetu odhalilo skutečnost, že zatímco prostředí živé plochy Clear Linuxu se spustí v režimu BIOS, skutečný operační systém vyžaduje UEFI. V našem virtualizačním prostředí – Linux KVM pod Ubuntu 19.10 – jsou nové virtuální počítače ve výchozím nastavení v režimu BIOS, pokud v posledním kroku nezaškrtnete „Přizpůsobit konfiguraci před instalací“ a pak na kartě Přehled nezměníte BIOS na UEFI. Takže jsme virtuální počítač vyhodili, znovu ho vytvořili s příslušným firmwarem UEFI a pak už jsme se pustili do práce.
Když jsme vyřešili architekturu firmwaru našeho virtuálního počítače, byla instalace Clear Linuxu ve virtuálním počítači stejně jednoduchá jako na skutečném hardwaru – tedy na skutečném hardwaru s firmwarem UEFI. Pokud jste doufali, že Clear Linux nainstalujete na starší hardware, který podporuje pouze režim BIOS, máte smůlu.
Instalátor je přehledný a jednoduchý. Musíte zvolit jazyk (v současné době z velmi omezeného seznamu), cíl instalace a nakrmit instalátor uživatelským jménem a heslem pro nový operační systém. Musíte mu také sdělit, zda se chcete rozhodnout pro telemetrii domácího telefonu, která se používá pro účely kontroly kvality a vývoje, nebo ne.
Při nastavování cíle instalace nabízí Clear Linux buď „bezpečnou“, nebo „destruktivní“ instalaci. My jsme bezpečnou instalaci netestovali, místo toho jsme zvolili instalaci Clear Linuxu jako jediného dostupného operačního systému.
Po výběru možností by vlastní instalace Clear Linuxu neměla trvat déle než několik minut – pokud však odejdete a vrátíte se, je třeba si uvědomit, že se vám může spustit zamykací obrazovka spořiče obrazovky. (Pokud nejste zvyklí na Gnome3, kliknutím a přetažením nahoru zamykací obrazovku zrušíte.)
Po instalaci: Závod o GIMP
Ve většině případů se zdálo, že nemá smysl provádět tradiční srovnávací testy výkonu v Clear Linuxu. Phoronix jich již provedl spoustu – a ano, Clear Linux je bezpochyby v průměru rychlejší než většina distribucí. Ale vítězství v benchmarcích nemusí být nutně totéž, co pocit rychlosti.
Bez referenčního bodu pro srovnání – sledovaného a tikajícího časovače nebo závodu „head-to-head“ – si většina lidí nevšimne méně než 33% rozdílu v čase na dokončení známého úkolu. Typický pozorovatel – člověk, který zrovna neměřil čas – postavený před hodinový úkol, který dokončil za 40 minut, si řekne „hele, to vypadalo rychle“. Stejný pozorovatel, který čeká na dokončení úlohy trvající jednu sekundu, se zpravidla začne mračit kolem 1 300 ms.
Měli bychom také zdůraznit, že většina benchmarků Phoronixu se zaměřuje na dlouhodobé výpočetní nebo úložné úlohy. Tento typ benchmarků lépe koreluje se změnami hardwaru než se změnami softwaru na úrovni distribuce. To znamená, že i když je Clear Linux v benchmarku rychlejší v úloze relevantní pro výkon desktopu, rozdíl může být snadno překryt rozdíly v samotném desktopu – nebo konkrétním balíku aplikací.
Když jsem nainstaloval a otevřel GIMP ve virtuálním počítači Clear Linux, pomyslel jsem si: „To je rychlé“ – ale čekal jsem, že to bude rychlé. Abych otestoval svůj prvotní dojem, otevřel jsem GIMP také na samotné pracovní stanici Ubuntu 19.04 a spočítal Mississippi – ukázalo se, že pracovní plocha Ubuntu je ve skutečnosti dvakrát rychlejší než pracovní plocha Clear. Tolik k lidskému vnímání? Možná ne – v rámci virtuálních počítačů pracuji často, takže jsem možná podvědomě porovnával virtuální počítač Clear s virtuálním počítačem Ubuntu, nikoliv s Ubuntu na hostitelské pracovní stanici.
Pro ověření této teorie jsem vedle sebe postavil virtuální počítač Ubuntu 18.04.4 a virtuální počítač Clear Linux, každý se čtyřmi vCPU a 4 GB přidělené RAM. Pak jsem do obou virtuálních počítačů nainstaloval a nakonfiguroval démona NTP, aby se jejich hodiny navzájem přiblížily na milisekundu, a nainstaloval jsem vlastní plánovací nástroj whenits. Po provedení všech těchto úkonů se výsledky „závodu o GIMP“ vedle sebe nijak nelišily – přestože měl každý z nich přiděleny stejné prostředky, virtuální počítač s Ubuntu 18.04 stále s přehledem „vítězil“.
Dalším zkoumáním jsem zjistil, že Ubuntu 18.04 používá starší verzi GIMPu než Clear. Odinstaloval jsem tedy systémem poskytovaný GIMP 2.08 z virtuálního počítače Ubuntu a nainstaloval nejnovější verzi 2.10.14 – stejnou, kterou používá Clear – z PPA. Výsledek se nijak výrazně nezměnil – GIMP se stále otevíral rychleji ve virtuálním počítači s Ubuntu a výsledky tohoto závěrečného „závodu“ si můžete prohlédnout v krátkém videoklipu výše.
Nic z toho by nemělo být bráno jako definitivní srovnávací test, podle kterého je Clear Linux „pomalý“. Ukazuje to však omylnost lidského vnímání a limity toho, jak velký vliv může mít „rychlá“ distribuce na běžný každodenní provoz desktopového systému. Kromě spouštění systému mi Clear Linux nepřipadal výrazně rychlejší než Ubuntu při běžném používání – ani ve virtuálních strojích hostovaných na mé pracovní stanici s procesorem Ryzen 3700X, ani na počítači Dell Latitude s procesorem i7-6500U, na který jsem jej přímo nainstaloval.
Pokud patříte k lidem, kteří jsou opravdu nadšeni optimalizacemi kompilátorů v balíčcích Gentoo nebo Arch – nebo pokud máte velmi specifickou úlohu, kterou toužíte potenciálně zrychlit o 15 % nebo více – Clear může být právě pro vás. Pokud však očekáváte takové zrychlení, kterého si vaši přátelé okamžitě všimnou a budou nad ním slintat, budete pravděpodobně zklamáni.
Instalace softwaru
Ubuntu 19.10 i Clear Linux používají pro instalaci a odebírání softwaru grafické rozhraní Gnome Software Center. Nejnápadnějším rozdílem je zde snaha společnosti Canonical, aby repozitáře v její verzi Centra softwaru působily více kurátorsky a pečlivěji – Centrum softwaru Ubuntu výrazně obsahuje Editor’s Picks a doporučené aplikace, které Clear Linux nemá.
O něco důležitější je, že Canonical má pod sebou mnohem hlubší repozitáře než Clear – a to může mít vliv, i když obě distribuce nabízejí konkrétní aplikaci. Například hra Frozen Bubble je k dispozici v Centru softwaru v obou distribucích – ale v Clear pochází jako flatpak ze zdroje třetí strany dl.flathub.org.
V Ubuntu pochází Frozen Bubble z vlastního repozitáře Universe společnosti Canonical, nikoli ze zdroje třetí strany. Možná to nezní, jako by na tom záleželo – ale instalace hry v Ubuntu z vlastního repozitáře Canonicalu trvala jen několik sekund, zatímco v Clear zabrala téměř deset minut.
Bude to Chrome?
Na Clear Linuxu ani v Ubuntu není přibalen prohlížeč Google Chrome – ale v Ubuntu je instalace stejně jednoduchá jako ve Windows: vyhledání, stažení, kliknutí a je hotovo. Skutečné stažení, které získáte, je nativní soubor .deb Ubuntu a kromě instalace samotného prohlížeče automaticky aktualizuje váš seznam úložišť – takže od té chvíle bude Chrome automaticky aktualizován Ubuntu stejným způsobem a pomocí stejných nástrojů jako standardní aktualizace systému.
Přepnutí na stránku pro stažení Chrome v nativně nainstalovaném Firefoxu v Clear Linuxu vám nabídne stejnou volbu stažení .deb nebo .rpm – ale ani jedno nebude „prostě fungovat“. V příkazovém řádku Clear Linuxu můžete provést malý trik a stáhnout soubor .rpm, rozbalit jej a nainstalovat a poté provést ruční rekonfiguraci, aby písma nevypadala divně.
Naneštěstí se Chrome neaktualizuje automaticky jako v Ubuntu nebo většině jiných desktopových distribucí – místo toho si budete muset pamatovat, že jej musíte aktualizovat sami, a pokaždé projít stejnými několika kroky v příkazovém řádku (včetně překonfigurování písem).
Správa balíčků
Zkušenější uživatelé se ovšem pravděpodobně nebudou Centrem softwaru vůbec zabývat, a to v žádné z distribucí. Ubuntu jako distribuce založená na Debianu používá pod kapotou balíčky .deb, které lze instalovat, aktualizovat, odebírat a vyhledávat pomocí nástroje apt
příkazového řádku. Clear Linux nepoužívá apt
– ani yum
, zypper
, pacman
, pkg
, ani nic jiného, o čem jste pravděpodobně slyšeli. Místo toho používá vlastní nástroj pro správu balíčků z příkazového řádku s názvem swupd
.
Většinou swupd
funguje jako jakýkoli jiný správce balíčků – je zde argument pro instalaci balíčků, další dvojice pro jejich vyhledávání buď podle názvu/popisu balíčku, nebo podle obsažených souborů atd. Bohužel musím přiznat, že mě swupd
neustále frustruje – zejména argumenty jsou mnohomluvné a podivně formulované.
V Debianu, Ubuntu, Fedoře, OpenSUSE, CentOS nebo FreeBSD byste <packagemanager> install <package>
nainstalovali novou aplikaci z repozitářů – například apt install gimp
. V systému swupd
však místo toho použijete swupd bundle-add <package>
. Podobně bundle-remove
, bundle-list
, bundle-info
a tak dále.
Může to znít jako nepodstatný, malicherný rozdíl, ale mně to přišlo dost nepříjemné. V syntaxi jsem tápal – například jsem omylem napsal add-bundle
místo bundle-add
– mnohem častěji než obvykle při používání neznámého správce balíčků.
Samotné balíčky také dost často porušují relativně standardní konvence pojmenování. Například když jsem zjistil, že potřebuji určitou sadu hlaviček, které má Ubuntu v uuid-dev
a Fedora v libuuid-devel
, Clear Linux je místo toho měl v os-core-dev
– a zjistit to byla obrovská otrava. Když jsem zkusil swupd search uuid
, svazek os-core-dev
se vůbec nezobrazoval – a nefungovalo ani hledání skutečného souboru, který jsem potřeboval, pomocí swupd search-file uuid.h
. (Více o tomto tématu později.)
Ačkoli swupd
funguje, působí to strašně jako výsledek syndromu NIH. Intel tvrdí, že spousta tajné omáčky Clear Linuxu je v balení, a možná skutečně potřeboval vytvořit vlastní nástroj pro správu od základu. Z pohledu tohoto sysadmina je však těžké vidět výhody a snadné vidět nedostatky – trochu více úsilí věnovaného vyleštění a použitelnosti swupd
by bylo na dlouhou trať.
Bude to ZFS?“
Ne každého bude zajímat, zda lze na Clear Linuxu zprovoznit OpenZFS. Ale mě to rozhodně zajímalo a strávil jsem nesmyslné množství času honbou za tímto konkrétním drakem. Vážně jsem uvažoval o tom, že svůj hlavní notebook vydláždím a přeinstaluju na něj Clear Linux na dlouhodobou testovací jízdu – ale ani na „pouhém notebooku“ jsem se nechtěl obejít bez schopnosti ZFS rychle asynchronně replikovat, kryptograficky detekovat a opravovat bitrot, používat inline kompresi a tak dále a tak dále.
Samotný projekt OpenZFS nemá žádné poznámky k instalaci pro Clear Linux a swupd search zfs
vyšel naprázdno, takže jsem vyrazil na internet. Vyhledávání „Clear Linux ZFS“ vás rychle přivede na FAQ společnosti Clear, kde se uvádí: „ZFS není k dispozici s operačním systémem Clear Linux“ a jako alternativu nabízí btrfs.
Btrfs nabízí většinu stejných funkcí jako ZFS – ale bohužel, pokud skutečně použijete nejzajímavější z těchto funkcí, jako jsou redundantní pole s léčením dat, rychlá replikace nebo inline komprese, rychle se stane nespolehlivým. (Ano, opravdu – komerční zařízení NAS, jako je Synology a ReadyNAS od Netgearu, používají btrfs, ale vrství ho nad LVM a mdraid, a to z dobrého důvodu. Více informací najdete na wiki Debianu a všimněte si rozhodnutí společnosti Red Hat zcela zrušit btrfs v RHEL 7.4.)
Časté dotazy k Clear Linuxu nás také upozorňují na starší problém na Githubu, ve kterém uživatel požaduje balíček ZFS a je sestřelen. Jiný uživatel žádá o pomoc se zprovozněním nepodepsaných jaderných modulů a prostřednictvím dnes již mrtvého odkazu získává odkaz na nějakou dokumentaci. Kopii dokumentace s mrtvým odkazem jsem našel na web.archive.org (a později mi člen projektu Clear Linux poskytl aktualizovaný odkaz na aktuální verzi), ale ani to mě nedostalo tam, kam jsem potřeboval.
Instalace balíčku linux-lts-dev
byla jednoduchá, stejně jako vytvoření konfiguračního souboru jádra, který by umožnil načítání nepodepsaných modulů. Ale přepnutí zpět na jádro LTS – nutné, protože nativní jádro bylo příliš krvácející pro oficiální podporu ze strany OpenZFS – se ukázalo jako složitější. Instalace jádra byla jednoduchá – swupd bundle-add kernel-lts2018
ale přimět Clear Linux, aby z něj skutečně nabootoval, byla trochu noční můra.
Distribuce neuchovává konfiguraci správy spouštění na žádném z míst, kde by je zkušený uživatel *nixu mohl hledat – /boot
, /etc/default
, cokoli, co souvisí s grub
atd. Nikdy jsem nenašel skutečné umístění konfiguračních dat, ale nakonec jsem zjistil, že od uživatele Clear Linuxu se očekává manipulace se zaváděcím prostředím pomocí nástroje clr-boot-manager
. Bohužel clr-boot-manager set-kernel org.clearlinux.lts2018.4.19.103-113
následovaný clr-boot-manager update
– který měl vybrat toto jádro pro použití při příštím startu – neudělal vůbec nic a já se v tom vrtal, restartoval, spustil uname -a
a ještě nějakou dobu viděl běžet jádro 5.5.
Nakonec jsem to s clr-boot-manager set-kernel
vzdal a místo toho zkusil clr-boot-manager set-timeout 10
. To skutečně fungovalo – po restartu se mi tentokrát zobrazil seznam jader a ručně jsem vybral jádro 4.19 LTS. Nyní mi uname -a
ukázal, že běžím na jádře 4.19, a byl jsem připraven zkompilovat ZFS!“
Problémy bohužel zdaleka neskončily. Po stažení a rozbalení zdrojového tarballu OpenZFS, chdir
vstoupení do něj a spuštění ./configure
se mi objevila chyba: uuid/uuid.h missing, libuuid-devel package required
. Bohužel v swupd
není žádný svazek libuuid-devel
– není tam ani libuuid
, uuid
, uuid-dev
, uuid-devel
, ani nic jiného v tomto smyslu. Ani swupd search uuid
a swupd search-file uuid.h
nepřinesly žádné užitečné výsledky – i když by měly.
Nakonec jsem otevřel nový problém v ZFS on Linux tracker v naději, že buď někdo jiný zprovoznil ZFS na Clear, nebo že se mi podaří získat dostatek informací o konfiguračním skriptu, abych se ho pokusil opičit sám. Brian Behlendorf – zakladatel linuxového portu OpenZFS a veskrze milý člověk – také neměl odpověď.
Brian mi ale dal nápovědu, která nakonec hádanku vyřešila – swupd search-file uuid.h
sice nenašel balíček, který jsem potřeboval, ale swupd search-file libuuid.so.1
ano. Takže o jeden swupd bundle-add os-core-dev
později /configure
a make install
, oba se úspěšně dokončily!
Zbývající problém, se kterým jsem se setkal, spočívá v tom, že jednoduchý příkaz insmod
pro manipulaci s moduly jádra Linuxu (LKM) – který umožňuje zadat cestu k modulu, který má být vložen do jádra – neřeší závislosti, a tak insmod /path/to/zfs.ko
selhal s chybou unknown symbol
. Mnohem chytřejší nástroj modprobe
zjistí a vyřeší problémy se závislostmi – ale nedovolí vám zadat cestu k modulům jádra a instalátor je vypsal do míst, kam modprobe
nevěděl, že se má podívat.
Po chvíli tápání jsem nakonec jen vypsal symlink na každý ze souborů ZFS package.ko
– které byly v jednotlivých adresářích pod /lib/modules/extra
– přímo do samotného /lib/modules
. Díky tomu modprobe zfs
fungoval a ZFS jsem skutečně spustil v Clear Linuxu. Huzzah!
Ačkoli byl nyní ZFS funkční, stále bylo třeba řešit papírové problémy. Příkazy zpool
a zfs
byly v /usr/local/sbin
, který není součástí výchozího PATH
v Clear Linuxu. Také modul ZFS nebyl nastaven tak, aby se automaticky načítal při startu systému. Tyto zbývající problémy jsou naštěstí celkem triviálně řešitelné. Problém s cestou vyřešíte tak, že buď aktualizujete svůj PATH
tak, aby obsahoval /usr/local/sbin
, nebo tamní nástroje symlinkujete do /usr/local/bin
. Aby se ZFS při startu automaticky načítal, vytvořte adresář /etc/modules-load.d
, pak vytvořte soubor /etc/modules-load.d/zfs.conf
a naplňte ho jediným řádkem, který bude obsahovat pouze zfs
.
Tato historka s chlupatým psem se ve skutečnosti netýká samotného ZFS – je o tom, že problémy, které jsou v zaběhnutějších distribucích relativně jednoduché, mohou být v Clear Linuxu obrovskou osinou v zadku. Všechny tyto typy problémů jsou samozřejmě řešitelné – ale pokud nejste ochotni a nadšeni podílet se na jejich řešení sami nebo ti, kteří přijdou po vás, měli byste se Clear jako každodennímu ovladači pravděpodobně vyhnout.
Dobré
- Clear Linux je podporován společností Intel, jednou z největších a nejvýznamnějších počítačových společností na světě
- Clear Linux má stručné a jasné zadání: Buď bezpečný, buď rychlý, dělej věci správně
- Většina věcí funguje s malým nebo žádným vylepšením
- Pokud jste vázáni a odhodláni mít Nejrychlejší Linux na Západě, tohle je distribuce pro vás – promiňte, uživatelé Arch a Gentoo
- „Tohle je Linux! Tohle znám!“
Špatné
- Ačkoli většina věcí funguje bez ladění, většina uživatelů bude rychle chtít něco, co nefunguje
- Nástroj pro správu balíčků
swupd
Intel je neohrabaný, bojovný a zdá se, že neindexuje všechny balíčky správně - Je tu tak málo uživatelů, že hledání nápovědy může vypadat jako cesta časem do minulosti (Kdo jsi byl, DenverCodere9? Co jsi viděl?!)
Ošklivé
- Clear Linux – alespoň prozatím – je mnohem vhodnější pro jednoduchou sadu opakujících se úloh, kde je rychlost provádění naprosto zásadní, než pro široké, univerzální každodenní použití
.