Date: 2021-10-10 20:00:00
From: rpt@desudoli.cz
Subject: Slackware Linux
To: dalnopis@desudoli.cz
Tags: software desktop
Desc: Proč se na mém desktopu objevil Slackware?

Slackware Linux

Nedávno jsem absolvoval kolečko distro-hoppingu, tedy zkoušení různých linuxovských distribucí. Přes svůj oslavný text (viz níže) jsem nakonec zavrhl FreeBSD a rozhodl se opět vstoupit do světa Linuxu. U FreeBSD jsem se potýkal s hardwarovými problémy, konkrétně se týkaly grafické karty, které mě nakonec přestalo bavit řešit. Možná jsem se unáhlil, neboť se ukázalo, že grafická karta umírala a nakonec jsem koupil jinou. Nebyl to jediný důvod. Správa FreeBSD vyžaduje víc učení, než jsem myslel a byl ochoten podstoupit. U Linuxu tento problém nemám, neboť jsem ho už nějakou dobu používal.

Díky své stabilitě a jednoduchosti se nejžhavějším kandidátem na mou jedinou domácí linuxovou distribuci stal Slackware. Největším konkurentem byl Solus, velmi použitelné a esteticky příjemné distro s rozumnými základy. Uživatelsky velmi pohodlné, možná až příliš. Už jsem psal o tom, že napodobování windowsovské uživatelské zkušenosti není pro Linux dobrá cesta a zde jsem ten dojem měl, aniž bych chtěl Solus nějak hanět. Jsou horší exempláře tohoto přístupu, třeba Linux Mint nebo Ubuntu.

Solus doporučuji každému, kdo chce mít správu počítače co nejjednodušší, mít téměř aktuální verze softwaru a vyhnout se jisté komplikovanosti spojené se správou Ubuntu nebo Linux Mint. Tato distra, byť patří mezi uživatesky nejoblíbenější, jsem nikdy úplně nepochopil. Správa Solus Linuxu je naproti tomu jednoduchá a přímočará.

Slackware razí stejnou filozofii, jen volí jinou cestu, která tak úplně nepřeje začátečníkům.

Trocha historie

Slackware je nejstarší linuxová distribuce čili distro. Vznikla v roce 1992. Jejím autorem a BDFL (Benevolent Dictator For Life) je Patrick Volkerding.

Vzpomínám si, jak jsem na počátkusvých linuxových eskapád narazil na slackware.com (odkaz výše). Velmi strohé stránky a velmi technické informace. Působilo to na mne dojmem opravdového Unixu a věděl jsem, že to nedám. O rok či dva později už distro běhalo na jednom z pevných disků mého počítače.

Tento disk používala moje manželka, sám jsem se na Slackware přihlašoval sporadicky, většinou jsem jen v nepravidelných intervalech updatoval systém. Asi 4 roky Slackware dělal přesně to, čím je proslavený: fungoval. Toto distro je známé pro svou stabilitu, která patří k jeho největším devizám. To znamená, že updaty nikdy nic nepokazily a to nepatrné množství softwaru navíc, které jsem potřeboval, se podařilo zkompilovat bez problému. Mně, začátečnikovi.

Co je vlastně Slackware? Čím se liší od ostatních linuxových distribucí?

1. Nemá grafický instalátor

To mě zpočátku odrazovalo, ale byly to plané obavy. S CLI instalátorem na OpenBSD jsem neměl nikdy problém. Instalační skript Slackware odvádí stejně dobrou práci jako grafický instalátor u jiných dister a přitom je jednodušší a často bezproblémovější. Jednodušší ovšem neznamená snadnější. Narozdíl od instalátoru OpenBSD ten slackwarovský neřeší rozvržení oddílů na disku, takže je to na uživateli. Prográmky fdisk(1) a zejména cfdisk(1) nejsou nijak složité na ovládání, jakmile člověk pochopí, jak oddíly na HDD fungují.

2. Offline instalace

Slackware lze instalovat zcela offline z DVD (jeho autor se prodejem instalačních DVD živí či přiživuje, ale ISO soubory jsou samozřejmě ke stažení zdarma). To je jen relativní výhoda, ale dovedu si představit situaci, kdy se to hodí. Samozřejmě nejde o unikátní znak Slackware, na druhou stranu není mnoho distribucí, které jsou tak napěchované nejrůznějším softwarem pro běžné uživalské potřeby jako Slackware. Takže v nouzi lze skutečně pouze nainstalovat z DVD, bez připojení k netu, a fungovat relativně bez problému.

3. Nehoní termíny

Jednotlivá vydání Slackware mezi sebou mívají poměrně velké mezery. Poslední release vyšel v roce 2016 (verze 14.2) a teprve nyní je na spadnutí Slackware 15. Vývojáři nemají pevně stanovené cykly zveřejňování upgradů a novou verzi uvolní teprve ve chvíli, kdy se jim zdá hotová, tedy dostatečně stabilní a robustní. Poměrně osvěžující přístup v našem uspěchaném světě, není-liž pravda?

Za to Slackware sklízí kritiku, ale neoprávněně. Ve skutečnosti vývoj pokračuje nepřetržitě a vydávání updatů také. Stabilní systém 14.2 má updaty v rozmezí dní či týdnů. Verze current, což je kandidát na další release, na kterém se pracuje celou dobu od posledního release, vydává updaty v rámci dní. Kdo má na svém počítači current (doporučuje se zkušenějším linuxérům či přesněji slackerům), pro toho nejsou releasy důležité. Sám jsem nakonec instaloval current, který je sice považován za nestabilní, ale většina uživatelů tvrdí, že nemá problém.

4. Jednoduchost před pohodlím

Dalším, řekněme filozofickým, principem této distribuce je upřednosňovat jednoduchost před pohodlím. Namísto grafických nástrojů pro administraci stačí textový editor a textové konfigurační soubory, případně skripty. Linuxového začátečníka to možná odradí, ale má to své plusy: rychlost (relativní), flexibilita a hlubší znalost OS.

5. Závislosti řeší admin

Dalším význačným rysem, který může leckdo považovat za nevýhodu, je způsob, jakým Slackware řeší instalaci SW.

Nejprve je třeba říci, že základní instalace systému obsahuje mraky uživatelského softwaru. Většinou zde najdeme několik programů na většinu běžných úkonů s počítačem, počínaje stahováním fotek, konče programováním. Pokud software, který potřebujeme, v základní instalaci chybí, je třeba ho zkompilovat a nainstalovat. Slackware obsahuje základní instalační nástroje, ale tyto nástroje neřeší závislosti, tzn. že u komplexnějších programů, které ke svému fungování potřebují různé knihovny nebo jiný speciální software, slackwarovské instalační nástroje tento SW automaticky nestahují a neinstalují. To je velký rozdíl oproti valné většině ostatních distribucí, které to dělají. Záměrně neříkám nevýhoda, ačkoliv za to Slackware sklízí kritiku.

Jde o jednu z oblastí, kde se projevuje preference jednoduchosti před pohodlím. Zpočátku mě to odrazovalo, ale zvyknul jsem si a nevadí mi to. Spíš mě občas hněte nutnost kompilovat, přesněji když se kompilace nedaří. Z toho důvodu dávám přednost předkompilovaným balíčkům. Nutno ovšem dodat, že většina kompilací proběhla bez problému. Na webové stránce SlackBuilds.org je celá hromada skriptů na kompilaci a instalaci SW spolu s návodem, jak na to. Není to tak obtížné, jak by se mohlo zdát. Obtížnější může být pátrání, proč kompilace selhala, pokud se tak stane. Nicméně kompilace SW není typická jenom pro Slackware. Arch Linux a v mnohem větší míře Gentoo jsou distra, kde se člověk bez kompilace prakticky neobejde. Narozdíl od Slackware však obě distra řeší závislosti.

Instalace proto může trvat déle, než u jiných dister, kde stačí zadat jediný příkaz a nechat počítač dořešit zbytek.

Naštěstí jednou zkompilované balíčky lze uložit a použít pro stejnou verzi Slackware na jiných počítačích nebo při reinstalaci. Vzhledem k pomalému, takřka evolučnímu vydávání nových verzí systému vydrží kompilace poměrně dlouho.

Tady se musí každý sám za sebe rozhodnout, co potřebuje. Pokud potřebuju nejnovějšrí verzi nějakého softwaru co nejdřív a často updatuju nebo zkouším mnoho nového softwaru, asi bych volil distro s předkompilovanými balíčky. Pokud chci jednoduchý přehledný systém, který se nesnaží nic řešit za uživatele či admina, Slackware je můj přítel.

Slackwarovský přístup mi připadá praktický, zachovává princip KISS (Keep It Simple Stupid), tzn. vyhýbá se složitým nástrojům na správu systému (pro uživatele nutnost proniknout do tajů správy Linuxu), ale přitom poskytuje více než rozumný default, tedy desktopové prostředí a spoustu softwaru pro běžné použití.

6. Žádný systemd

Slackware je z těch dister, které nepoužívají systemd. Osobně proti systemd nic nemám, žádné špatné zkušenosti, ale souhlasím s názorem, že není od věci mít několik init systémů a netlačit všude systemd jako jedinou univerzální alternativu, což je dojem, který mnozí získali z velmi asertivního chování firmy Red Hat, jejíž tlak na všeobecné zavedení systemd vnímali mnozí nerdi jako neslučitelný se svobodou, kterou Linux jako operační systém uživatelům poskytuje. V tomto případě svobodou zvolit si init systém dle svého gusta.

Tolik k odlišnostem Slackware od jiných distribucí.

Střípky uživatelských zkušeností

Nastavení terminálu je dobré provést v ~/.bashrc a sourcovat ho z ~/.bash_profile. Normální shell využívá první, login shell ten druhý. Takto jsou sjednocené v jednom souboru, který se dá dle potřeby upravovat.

Update systému je relativně jednoduchý. Obstarává ho příkaz slackpkg ve 4 stupních:

Mozek je třeba zapnout, byl-li instalován nový kernel. SlackDocs doporučují zařadit starý kernel na blacklist před spuštěním upgradu. Pokud používáme kernel huge, stačí spustit program zvaný LiLo (Linux Loader) a je hotovo, za předpokladu, že bootujeme přes Lilo. Používáme-li kernel generic, je třeba vytvořit initrd pomocí skriptu mkinitrd (viz SlackDocs). Celá věc může být ještě komplikovanější, když máme počítač s UEFI, kde se místo Lilo používá Elilo. Skript eliloconfig updatující Elilo je poněkud primitivní a dělá potíž při dual-bootu. Dost velké potíže, neboť dual-boot vlastně vůbec neumí a pak nejde spustit druhý systém. Někde na webu jsem se dočetl, že je třeba odstranit z oddílu či disku, na kterém je druhý systém, bootovací příznaky. Nevím, zda to pomůže, nezkoušel jsem, ale raději skript eliloconfig vůbec nepoužívám a raději přepisuju /boot/efi/EFI/Slackware/elilo.conf ručně, společně s ručním kopírováním nového kernelu a initrd do příslušného adresáře. Nic složitého, pokud člověk ví, co dělá.

Při kompilaci SW je dobré používat SlackBuilds. To jsou uživatelské skripty vytvořené podle vzoru defaultních balíčků Slackware, které provedou kompilaci a instalaci vybraného SW. Výhodou je, že instalace se provádí pomocí nástroje slackpkg, takže systém ví o instalovaných balíčcích a lze je následně spravovat pomocí tohoto systémového nástroje, tj. odinstalovat, dát na blacklist apod.

SlackBuilds jsou neuvěřitelně flexibilní. Většinou není problém upravit skript, aby zkompiloval novější verzi SW. Vyskytne-li se problém, vyplatí se prostudovat stránky vývojářů, které jsou tam vždy uvedené a s nabytými znalostmi udělat i hlubší úpravy instalačního skriptu. Často ale není třeba dělat úpravy vůbec žádné a skripty prostě fungují. Řekl bych, že je lepší vytvořit SlackBuild, pokud není, než kompilovat a instalovat přímo dle obecných pokynů vývojářů. Je třeba mít na paměti, že Slackware instaluje SW do /usr/bin a nikoliv do /usr/local/bin jako BSD a některé jiné linuxovské distribuce a pro knihovny slouží adresář /usr/lib64. To mi přišlo antiintuitivní, 64bit architektura je dnes standard, tak proč Slackware nemá složku /usr/lib32 na 32bit SW, kterého je mnohem méně. Patrně je to dané historicky a nepředstavuje to zásadní problém, pokud na to člověk nezapomíná.

V neposlední řadě chci zmínit KDE, plnohodnotné desktopové prostředí, které do jisté míry připomíná Windows 10, ale které je v mnohém předčí. Je až neuvěřitelně konfigurovatelné, zcela jistě nad rámec toho, co potřebuju. Proto mi přišlo komplikované a často jsem preferoval jednodušší řešení, někdy jen samotný window manager, což je pouhá malá část desktopového prostředí, obstarávající správu oken.

KDE je hlavní desktopové prostředí ve Slackware. Mimo to může člověk používat XFCE, Fluxbox a další, méně náročné window managery.

Musím říci, že jsem si na KDE rychle zvykl a jeho neuvěřitelná flexibilita nastavení mi umožnila nastavit přesně to, co jsem potřeboval. Je to až k nevíře.

Navíc, a to mne překvapilo, KDE běží bez problému na mém starém notebooku Lenovo Edge a není nijak pomalé, ačkoliv neočekávám žádné zázraky. Potvrdila se slova těch, kdo říkali, že ač je KDE moloch, ve skutečnosti je poměrně šetrný k systémovým prostředkům. Není významně náročnější než minimalistické XFCE. Vezme si kolem 1 GB paměti.

Ovládání Dolphinu, filemanageru pod KDE, je z mého pohledu ideální. Defaultní nastavení umožňuje otevírání adresářů na 1 klik, rychlé přepínání mezi jedním nebo 2 panely, taby a spoustu dalších vychytávek, které shledávám užitečnými. Systémový tray je přehledný, widgety moc nepoužívám.

KDE umožňuje plochy, jejich tzv. aktivitám nerozumím, takže je nepoužívám. S plochama si zcela vystačím.

EOF