Intels Clear Linux-distribution har fået en masse opmærksomhed på det seneste, på grund af dens ulogisk høje benchmark-præstationer. Selvom distributionen blev skabt og administreres af Intel, anbefaler selv AMD at køre benchmarks af sine nye CPU’er under Clear Linux for at få de højeste resultater.
For nylig testede Michael Larabel på Phoronix et Threadripper 3990X-system med ni forskellige Linux-distroer, hvoraf en af dem var Clear Linux – og Intels distribution fik tre gange så mange førstepladser som alle andre distroer, der blev testet. Ved at forsøge at samle alle testresultater i et enkelt geometrisk gennemsnit fandt Larabel, at distributionens resultater i gennemsnit var 14 % hurtigere end de langsomste distributioner, der blev testet (CentOS 8 og Ubuntu 18.04.3).
Der er ikke meget tvivl om, at Clear Linux er dit bedste bud, hvis du ønsker at levere de bedst mulige benchmark-tal. Det spørgsmål, der ikke er behandlet her, er, hvordan det er at køre Clear Linux som en daglig driver? Vi var nysgerrige, så vi tog en tur med det.
Installation af Clear Linux
Installationen er stort set den samme for Clear Linux som for ethvert andet styresystem – download ISO’en, dump den til et USB-drev, start op, og så er du i gang. Der findes to installationsversioner: en “server”, som kun er i teksttilstand, og en “desktop”, som bruger et fuldt udstyret live desktop-miljø. Vi valgte desktop-versionen. På rigtig hardware gav Clear os ingen problemer og installerede straks – men i et KVM-miljø nægtede det i første omgang at installere, med en mindre hjælpsom fejlmeddelelse “failed to pass pre-install checks”.
En lille efterforskning på nettet afslørede det faktum, at mens Clear Linux’ live desktop-miljø starter op i BIOS-tilstand, kræver det egentlige operativsystem UEFI. I vores virtualiseringsmiljø-Linux KVM, under Ubuntu 19.10-nye VM’er starter som standard i BIOS-tilstand, medmindre du markerer “Customize configuration before install” på det sidste trin og derefter i fanen Overview skifter fra BIOS til UEFI under fanen Overview. Så vi blæste VM’en væk, genskabte den med den relevante UEFI-firmware, og så var vi i gang.
Når vi havde rettet op på vores VM’s firmware-arkitektur, var det lige så ligetil at installere Clear Linux i en VM som på rigtig hardware – altså rigtig hardware med UEFI-firmware. Hvis du håbede på at kunne installere Clear Linux på ældre hardware, der kun understøtter BIOS-tilstand, er du ude af held.
Installationsprogrammet er klart og ligetil. Du skal vælge et sprog (i øjeblikket fra en meget begrænset liste), et installationsmål og give installatøren et brugernavn og en adgangskode til det nye styresystem. Du skal også lade den vide, om du vil til- eller fravælge telefon-hjem-telemetri, der bruges til QA- og udviklingsformål.
Når du indstiller et installationsmål, tilbyder Clear Linux enten en “sikker” installation eller en “destruktiv” installation. Vi testede ikke den sikre installation, men valgte i stedet at installere Clear Linux som det eneste tilgængelige operativsystem.
Når du har valgt dine muligheder, bør Clear ikke tage mere end et par minutter i alt at installere – men hvis du går væk og kommer tilbage, er det værd at være opmærksom på, at skærmbeskytterens låseskærm kan gå i gang på dig. (Hvis du ikke er vant til Gnome3, skal du klikke og trække opad for at afvise låseskærmen.)
Post-installation: GIMP-race
For det meste virkede det ikke som om, at der var meget mening med at lave traditionelle benchmarks af ydeevnen på Clear Linux. Phoronix har allerede lavet masser af dem – og ja, uden tvivl er Clear Linux i gennemsnit hurtigere end de fleste distro’er. Men at vinde benchmarks er ikke nødvendigvis det samme som at føle sig hurtig.
Selv uden et referencepunkt til sammenligning – en overvåget og tikkende timer eller et hoved mod hoved-løb – vil de fleste mennesker ikke bemærke mindre end 33% forskel i den tid, det tager at udføre en velkendt opgave. En typisk iagttager – en, der ikke tager tid – og som står over for en timelang opgave, der er afsluttet på 40 minutter, vil tænke “hey, det virkede hurtigt”. Den samme observatør, der venter på, at en opgave på et sekund skal være færdig, vil generelt begynde at rynke panden omkring 1.300 ms.
Vi bør også påpege, at størstedelen af Phoronix’ benchmarks fokuserer på langvarige beregnings- eller lageropgaver. Denne type benchmark korrelerer bedre med ændringer i hardware end med ændringer i software på distributionsniveau. Det vil sige, at selv hvis Clear Linux benchmarkeres hurtigere på en opgave, der er relevant for skrivebordets ydeevne, kan forskellen let overvældes af forskelle i selve skrivebordet – eller den specifikke programpakke.
Da jeg installerede og åbnede GIMP i en virtuel maskine i Clear Linux, tænkte jeg: “Det føles hurtigt” – men jeg forventede, at det ville føles hurtigt. For at teste min første opfattelse åbnede jeg også GIMP på min Ubuntu 19.04-arbejdsstation selv og talte Mississippi – det viste sig, at Ubuntu-skrivebordet faktisk var dobbelt så hurtigt som Clear-skrivebordet. Så meget for den menneskelige opfattelse? Måske ikke – jeg arbejder meget i VM’er, så måske havde jeg ubevidst sammenlignet Clear VM med en Ubuntu VM, ikke med Ubuntu på værtsarbejdsstationen.
For at teste denne teori bragte jeg en Ubuntu 18.04.4 VM og en Clear Linux VM op side om side, hver med fire vCPU’er og 4 GB RAM tildelt. Derefter installerede og konfigurerede jeg NTP-dæmonen på begge VM’er for at bringe deres ure til at ligge inden for et millisekund af hinanden og installerede mit eget whenits-planlægningsværktøj. Da alt dette var gjort, var resultaterne af et “GIMP-løb” side om side ikke anderledes – på trods af at de havde de samme ressourcer allokeret til hver af dem, “vandt” Ubuntu 18.04-VM’en stadig klart.
Ved yderligere undersøgelser bemærkede jeg, at Ubuntu 18.04 bruger en ældre version af GIMP end Clear gør. Så jeg afinstallerede den af systemet leverede GIMP 2.08 fra Ubuntu VM og installerede den nyeste 2.10.14 – den samme version som Clear bruger – fra en PPA. Resultatet ændrede sig ikke væsentligt – GIMP åbnede stadig hurtigere i Ubuntu VM, og du kan se resultaterne side om side af det endelige “kapløb” i det korte videoklip ovenfor.
Ingen af dette bør tages som en endelig benchmark, der gør Clear Linux til “langsom”. Men det viser den menneskelige opfattelses fejlbarlighed og grænserne for, hvor stor indflydelse en “hurtig” distro virkelig kan have på den normale, daglige drift af et desktop-system. Bortset fra opstart føltes Clear Linux ikke mærkbart hurtigere end Ubuntu i generel brug – hverken i VM’er hostet på min Ryzen 3700X-arbejdsstation eller på en i7-6500U-drevet Dell Latitude, som jeg installerede den direkte på.
Hvis du er den slags person, der bliver virkelig begejstret for compileroptimeringer i Gentoo eller Arch-pakninger – eller hvis du har en meget specifik opgave, som du er ivrig efter potentielt at fremskynde med 15% eller deromkring – kan Clear meget vel være noget for dig. Men hvis du forventer den slags kick-in-the-pants-hastighedsforøgelse, som dine venner straks vil lægge mærke til og savle over, vil du sandsynligvis blive skuffet.
Installation af software
Ubuntu 19.10 og Clear Linux bruger begge Gnome Software Center som en GUI til installation og fjernelse af software. Den mest umiddelbart tydelige forskel her er Canonicals bestræbelser på at få repositorierne i deres version af Software Center til at føles mere kuraterede og velovervejede – Ubuntus Software Center har fremtrædende Editor’s Picks og fremhævede programmer, hvilket Clear Linux ikke har.
Meget vigtigere er det, at Canonical har meget dybere repositorier nedenunder end Clear har – og det kan have en betydning, selv når begge distributioner tilbyder et bestemt program. For eksempel er spillet Frozen Bubble tilgængeligt i Software Center på begge distributioner – men på Clear kommer det som en flatpak, der kommer fra tredjepartskilden dl.flathub.org.
På Ubuntu kommer Frozen Bubble fra Canonicals eget Universe-repositorium i stedet for fra en tredjepartskilde. Det lyder måske ikke som om det har nogen betydning – men det tog kun få sekunder at installere spillet på Ubuntu fra Canonicals eget repository, mens det tog næsten ti minutter at installere det på Clear.
Kan det Chrome?
Veller Clear Linux eller Ubuntu medbringer Google Chrome-browseren – men på Ubuntu er installationen lige så ligetil som på Windows: en søgning, en download, et klik, og så er du færdig. Den faktiske download, du får, er en Ubuntu-nativ .deb-fil, og ud over at installere selve browseren, opdaterer den automatisk din repository-liste – så fra da af vil Chrome automatisk blive opdateret af Ubuntu på samme måde og ved hjælp af de samme værktøjer som de almindelige systemopdateringer.
Bruger du til Chrome-downloadsiden i Clear Linux’ native installerede Firefox, får du det samme valg mellem en .deb- eller .rpm-download – men ingen af dem vil “bare virke”. Der er en smule snyd, du kan gøre på Clear Linux’ kommandolinje for at downloade .rpm-filen, udpakke og installere den og derefter foretage en manuel omkonfiguration for at få skrifttyperne til ikke at se underlige ud.
Desværre bliver Chrome ikke automatisk opdateret, som det ville være tilfældet på Ubuntu eller de fleste andre desktop-distributioner – du skal i stedet huske at opdatere den selv og gennemgå de samme få trin på kommandolinjen (herunder omkonfigurering af skrifttyperne), hver gang du gør det.
Pakkehåndtering
Det er klart, at mere avancerede brugere sandsynligvis aldrig vil bekymre sig om Software Center i første omgang, på nogen af distributionerne. Ubuntu, som er en Debian-baseret distribution, bruger .deb-pakker under motorhjelmen, som kan installeres, opdateres, fjernes og søges ved hjælp af kommandolinjeværktøjet apt
. Clear Linux bruger ikke apt
-eller yum
, zypper
, pacman
, pkg
eller noget andet, som du sikkert har hørt om. I stedet bruger den sit eget kommandolinjeværktøj til pakkehåndtering kaldet swupd
.
For det meste fungerer swupd
som enhver anden pakkehåndtering – der er et argument for at installere pakker, et andet par for at søge i dem enten efter pakkens navn/beskrivelse eller efter inkluderede filer osv. Desværre må jeg indrømme, at jeg fandt swupd
konsekvent frustrerende – især er argumenterne mundrette og mærkeligt formulerede.
I Debian, Ubuntu, Fedora, OpenSUSE, CentOS eller FreeBSD ville du <packagemanager> install <package>
installere en ny app fra repositories – for eksempel apt install gimp
. Men i swupd
, skal du swupd bundle-add <package>
i stedet. På samme måde bundle-remove
, bundle-list
, bundle-info
og så videre.
Dette lyder måske som en lille, ubetydelig forskel, men jeg syntes, at den var ret modbydelig. Jeg fumlede med syntaksen – for eksempel ved at skrive add-bundle
i stedet for bundle-add
ved en fejl – langt oftere, end jeg normalt gør, når jeg bruger en ukendt pakkehåndtering.
Selve bundlerne tilsidesætter også ret ofte de relativt standardiserede navnekonventioner. Da jeg f.eks. fandt ud af, at jeg havde brug for et bestemt sæt headers, som Ubuntu har i uuid-dev
, og Fedora har i libuuid-devel
, havde Clear Linux dem i stedet i os-core-dev
– og det var en enorm plage at finde ud af det. At prøve swupd search uuid
viste slet ikke os-core-dev
-bundlen – og det gjorde det heller ikke at søge efter den faktiske fil, jeg havde brug for, med swupd search-file uuid.h
. (Mere om dette emne senere.)
Og selv om swupd
virker, føles det meget som et resultat af NIH-syndromet. Intel hævder, at en stor del af Clear Linux’ hemmelige sauce ligger i emballagen, og måske var det virkelig nødvendigt at bygge sit eget administrationsværktøj fra bunden. Men fra denne systemadministrators synspunkt er det svært at se fordelene og let at se vorterne – lidt mere indsats afsat til swupd
s polering og brugervenlighed ville gøre en stor forskel.
Vil det ZFS?
Ikke alle vil interessere sig for, om man kan få OpenZFS til at fungere på Clear Linux. Men jeg var bestemt ikke ligeglad, og jeg brugte latterligt meget tid på at jage netop denne drage. Jeg overvejede seriøst at brolægge min primære bærbare computer og geninstallere den med Clear Linux til en langvarig testkørsel – men selv på “bare en bærbar computer” ville jeg ikke undvære ZFS’ evne til hurtigt asynkront at replikere, kryptografisk at opdage og reparere bitrot, bruge inline-komprimering og så videre og så videre.
OpenZFS-projektet selv har ikke nogen installationsnoter til Clear Linux, og en swupd search zfs
gav intet, så jeg slog mig på internettet. Ved at søge på “Clear Linux ZFS” kommer man hurtigt til Clear’s FAQ, hvor der står “ZFS er ikke tilgængelig med Clear Linux OS” og tilbyder btrfs som et alternativ.
Btrfs tilbyder de fleste af de samme funktioner som ZFS – men desværre bliver det hurtigt upålideligt, hvis man rent faktisk bruger de mest interessante af disse funktioner, såsom redundante arrays med dataheling, hurtig replikering eller inline-komprimering. (Ja, virkelig – kommercielle NAS-enheder som Synology og Netgears ReadyNAS bruger btrfs, men de lægger det oven på LVM og mdraid, og det gør de af gode grunde. Se Debians wiki for mere, og bemærk Red Hats beslutning om at afvikle btrfs helt i RHEL 7.4.)
Den ofte stillede spørgsmål om Clear Linux henviser os også til en ældre Github-udgave, hvor en bruger anmoder om et ZFS-pakke og bliver skudt ned. En anden bruger beder om hjælp til at få usignerede kernemoduler til at virke og får en pegepind til noget dokumentation via et nu dødt link. Jeg fandt en kopi af dokumentationen med det døde link på web.archive.org (og senere leverede et medlem af Clear Linux-projektet et opdateret link til den aktuelle version), men det bragte mig heller ikke derhen, hvor jeg skulle hen.
Installation af linux-lts-dev
-bundlen var ligetil, ligesom det var ligetil at oprette en kernekonfigurationsfil, der ville tillade indlæsning af usignerede moduler. Men at skifte tilbage til LTS-kernen – hvilket var nødvendigt, da den native kerne var lidt for blødende til officiel understøttelse fra OpenZFS – viste sig at være vanskeligere. Installationen af kernen var enkel-swupd bundle-add kernel-lts2018
-men at få Clear Linux til rent faktisk at starte op fra den var lidt af et mareridt.
Distributionen gemmer ikke sin opstartsstyringskonfiguration på nogen af de steder, hvor en erfaren *nix-bruger kan lede efter dem –/boot
, /etc/default
, noget der har med grub
at gøre, osv. Jeg fandt aldrig den egentlige placering af konfigurationsdataene, men fandt til sidst ud af, at en klar Linux-bruger forventes at manipulere bootmiljøet med værktøjet clr-boot-manager
. Desværre gjorde clr-boot-manager set-kernel org.clearlinux.lts2018.4.19.103-113
efterfulgt af clr-boot-manager update
– som skulle have valgt den pågældende kerne til brug ved næste opstart – absolut intet, og jeg kørte rundt og rodede rundt i tingene, genstartede, kørte uname -a
og så stadig en 5.5-kernel køre i et stykke tid.
Til sidst opgav jeg clr-boot-manager set-kernel
og prøvede i stedet clr-boot-manager set-timeout 10
. Det virkede faktisk – efter at have genstartet denne gang blev jeg præsenteret for en kerneliste og valgte manuelt 4.19 LTS-kernen. Nu viste uname -a
mig, at jeg kørte på 4.19-kernen, og jeg var klar til at kompilere ZFS!
Problemerne var desværre langt fra overstået. Ved at downloade og udpakke OpenZFS source tarball’en, chdir
ind i den og køre ./configure
, blev jeg præsenteret for en fejl: uuid/uuid.h missing, libuuid-devel package required
. Desværre er der ikke noget libuuid-devel
-bundle i swupd
– og der er heller ikke libuuid
, uuid
, uuid-dev
, uuid-devel
eller noget andet i den retning. Hverken swupd search uuid
eller swupd search-file uuid.h
gav heller ikke noget brugbart resultat – selv om de burde have gjort det.
Sluttelig åbnede jeg et nyt problem i ZFS on Linux-trackeren, i håb om enten at en anden havde fået ZFS til at køre på Clear, eller at jeg kunne få nok oplysninger om configure-scriptet til at forsøge at monkey-patche det selv. Brian Behlendorf – grundlæggeren af Linux-porten af OpenZFS til Linux og en all-around flink fyr – havde heller ikke svaret.
Men Brian gav mig det hint, der endelig løste gåden – selv om swupd search-file uuid.h
ikke fandt den pakke, jeg havde brug for, fandt swupd search-file libuuid.so.1
den. Så en swupd bundle-add os-core-dev
senere/configure
og make install
blev begge afsluttet med succes!
Det resterende problem, jeg stod over for, er, at den simple kommando insmod
til manipulation af Linux Kernel Module (LKM) – som giver dig mulighed for at angive en sti til det modul, der skal indsættes i kernen – ikke løser afhængigheder, og derfor mislykkedes insmod /path/to/zfs.ko
med fejlen unknown symbol
. Det meget smartere værktøj modprobe
registrerer og løser afhængighedsproblemer – men det lader dig ikke angive stien til kernemodulerne, og installationsprogrammet havde dumpet dem på steder, hvor modprobe
ikke vidste, at det skulle kigge.
Efter lidt fumlen dumpede jeg til sidst bare et symbolsk link til hver af ZFS’ package.ko
-filer – som lå i individuelle mapper under /lib/modules/extra
– direkte ind i /lib/modules
selv. Dermed virkede modprobe zfs
, og jeg fik faktisk ZFS til at køre på Clear Linux. Huzzah!
Selv om ZFS nu var funktionsdygtig, var der stadig papirklip at tage sig af. Kommandoerne zpool
og zfs
var i /usr/local/sbin
, som ikke er en del af standard PATH
i Clear Linux. Desuden var ZFS-modulet ikke indstillet til at blive indlæst automatisk ved opstart. Disse resterende problemer er heldigvis ret trivielle at løse. For at løse stiproblemet skal du enten opdatere din PATH
til at inkludere /usr/local/sbin
, eller symlinke hjælpeprogrammerne der til /usr/local/bin
. For at få ZFS til at autoloade ved opstart skal du oprette en mappe /etc/modules-load.d
og derefter oprette en fil /etc/modules-load.d/zfs.conf
og udfylde den med en enkelt linje, hvor der blot står zfs
.
Denne shaggy dog-historie handler egentlig ikke om ZFS i sig selv – den handler om det faktum, at problemer, der er relativt enkle under mere velkørende distributioner, kan være en kæmpe pine i bagagen under Clear Linux. Disse typer af problemer kan selvfølgelig alle løses – men hvis du ikke er villig og begejstret for at være en del af indsatsen for at løse dem selv eller for dem, der kommer efter dig, bør du nok holde dig fra Clear som daglig driver.
Det gode
- Clear Linux er støttet af Intel, en af verdens største og førende virksomheder inden for datalogi
- Clear Linux har et kortfattet og klart mandat: Vær sikker, vær hurtig, gør tingene rigtigt
- De fleste ting fungerer med få eller ingen justeringer
- Hvis du er fast besluttet på at have The Fastest Linux In The West, så er dette distroen til det – beklager, Arch- og Gentoo-brugere
- “This is Linux! Jeg ved det her!”
Det dårlige
- Men selv om de fleste ting fungerer uden at skulle justeres, vil de fleste brugere hurtigt ønske sig noget, der ikke gør det
- Intels
swupd
pakkehåndteringsværktøj er kluntet, vorteagtigt og synes ikke at indeksere alle pakker korrekt - Der er så få brugere, at det kan virke som en tidsrejse til fortiden at søge efter hjælp (Hvem var du, DenverCoder9? Hvad så du?!)
Det grimme
- Clear Linux – i hvert fald indtil videre – er langt bedre egnet til et simpelt sæt af gentagne opgaver, hvor udførelseshastigheden er absolut missionskritisk, end det er til bred, generel daglig brug