Manjaro Linux: Arch pro běžné uživatele

26. 5. 2016
Doba čtení: 16 minut

Sdílet

Minulým článkem byl ukončen seriál o Arch Linuxu. Dnes se začneme věnovat distribucím, které jsou na něm založené. Představení zahájíme popisem a instalací distribuce Manjaro Linux.

Minulým článkem jsme ukončili popis instalace Arch Linux včetně poměrně podrobné konfigurace prostředí JWM a mnoha dalších věcí. Počínaje tímto článkem se přesuneme kousek stranou, ale ne daleko od Archu: podíváme se postupně na několik distribucí, která na Archu stavějí.

Ukážeme si zásadní rozdíly, výhody či nevýhody a možnosti využití těchto distribucí. Na ArchWiki je možné najít poměrně rozsáhlý seznam takových projektů: Arch Based Distros. My si jako první z uvedeného seznamu vybereme jeden zajímavý projekt a na něm představíme některé možnosti, které jsme v předchozích článcích ze seriálu o Archu neměli možnost prozkoumat.

Prvním vybraným projektem je Manjaro Linux. Název pochází z pojmenování nejvyššího horského masivu v Africe – Kilimandžára. Jedná se o distribuci, která je zaměřená spíše na běžné a středně pokročilé uživatele (ty pokročilé nejspíš ale nijak moc neodradí…). Nejlépe to asi vynikne z jednoduchého porovnání Manjaro vs Arch:

Co má Manjaro stejné či podobné

  • je s distribucí Arch Linux kompatibilní
  • využívá základní repozitáře Arch i AUR
  • používá stejný systém aktualizací (rolling-update)
  • má v základu stejného správce balíčků

Co je v Manjaro jiné

  • vývoj zajišťuje jiný tým vývojářů, nezávislý na vývojářích Arch Linuxu
  • i když přejímá přístup k repozitářům Arch, obsahuje vlastní sadu repozitářů včetně nástrojů pro jejich správu
  • vyvíjí některé vlastní systémové nástroje
  • dává k dispozici dokonce několik nástrojů pro instalaci systému
  • komunita kolem Manjaro vytváří instalační obrazy s konkrétním prostředím, které je ihned po instalaci v základu konfigurované
  • ulehčuje práci méně zkušeným a začínajícím uživatelům (automatická detekce HW konfigurace stroje, automatická instalace potřebných HW ovladačů)
  • nabízí automatickou detekci a instalaci ovladačů pro technologii nVidia Optimus (přepínání grafické karty na základní desce a další přídavné pro snížení spotřeby/zvýšení výkonu grafického systému stroje)

Abychom nemuseli jenom teoreticky rozebírat různé vlastnosti Manjaro, ukážeme si ty důležité přímo na ukázkové instalaci. Lépe řečeno, na třech instalacích. Proč zrovna na třech, to si postupně objasníme. Pokud se podíváme na stránku s možnostmi stažení instalačních obrazů Manjaro Download, tak zjistíme, že jsou zde k dispozici 3 varianty: XFCE, KDE a Net-Edition. První dvě asi není třeba více představovat, třetí je obrazem minimální instalace bez grafického prostředí (nejvíce odpovídá běžné instalaci Arch Linuxu). Pro všechny tři varianty jsou k dispozici obrazy pro obě základní architektury 32-bit a 64-bit. Pro každou jsou pak dostupné dvě časové verze – poslední stabilní z 12/2015 a předběžná verze pro 06/2016.

Abychom nejsnáze navázali na předchozí články o Arch Linuxu, ukážeme si základní instalaci Manjaro pomocí obrazu síťové instalace. Na produkci to není asi moc vhodné, ale pro naše ukázkové účely k tomu použijeme obraz manjaro-net-16.06-pre2-x86_64.iso. Za pomoci tohoto obrazu vytvoříme nový virtuální stroj se stejnými parametry, které jsme použili v předchozím případě (4 jádra, 4 GB RAM, disk 50 GB). Pokud stroj spustíme, na prvním obrázku v první galerii jasně vidíme, že je zde proti Archu změna. Na úvodní obrazovce (je podobná instalaci jiných linuxových distribucí) můžeme volit různé varianty a nastavení. Pro nás to ale není tak zajímavé, takže zvolíme hned první možnost Start Manjaro Linux beze změny parametrů pro jazyk, video mód a jádro.

Po startu vidíme na druhém obrázku první galerie, že jsme se dostali do živého systému, který nám napovídá, jak se do něj přihlásit a jak případně zahájit kompletní instalaci. My se přihlásíme jako administrátor (root) a spustíme příkaz pro zahájení instalace systému na virtuální stroj:

cli-installer

Tímto se dostaneme do jednoho ze tří instalačních programů, které jsou pro Manjaro k dispozici. Jako první uvidíme uvítací obrazovku – viz třetí obrázek v první galerii. Pomocí kliku myši na tlačítko OK nebo Enteru se dostaneme do hlavního menu instalace. Jak nám ukazuje čtvrtý obrázek první galerie, je zde k „vyřízení“ celkem 5 kroků: nastavení data a času, rozdělení disků, instalace systému, konfigurace systému a instalace zavaděče. Budeme pokračovat postupně a k prvnímu kroku přejdeme Enterem. V nastavení času ponecháme vybranou volbu UTC – viz pátý obrázek první galerie, a pokračujeme dále. V další tabulce vybereme časové pásmo Europe/Prague a dostaneme se na nastavení času – viz šestý obrázek první galerie. Zde necháme všechny hodnoty v základu nastavené a postupně přejdeme k rozdělení disků.

Ze sedmého obrázku v první galerii je celkem jednoznačně patrné, že i zde došlo proti Archu k zásadní změně. Máme totiž k dispozici hned 4 možnosti

  1. Auto-Prepare – automaticky rozdělí celý disk, smaže na něm veškerá data
  2. Partition Hard Drives – ruční dělení disků
  3. Create… – možnost vytvoření RAID polí, LVM oddílů a šifrování disků
  4. Set File… – nastavení přípojných bodů v případě, že máme disky již nějak rozdělené před spuštěním instalace (dá se samozřejmě udělat stejně jako v Archu z live systému po jeho spuštění)

Pokud zvolíme ruční dělení disků, tak se jako první objeví dotaz na požadovaný typ dělení a podle očekávání jsou zde dvě varianty: GPT a MBR – viz osmý obrázek v první galerii. My volíme starší MBR, což je také základní volba instalátoru. Následně se objeví přehled připojených disků a jejich velikost – viz devátý obrázek v první galerii. V dalším kroku vybereme disk, který chceme dělit podle desátého obrázku první galerie. Ještě před zahájením dělení se objeví poslední varování a odsouhlasení skutečnosti, že dojde ke smazání všech dat na disku, jak nám to ukazuje obrázek č. 11 v první galerii. Pak jsme ještě upozorněni, že nás systém přehodí do konzole a můžeme začít. Jak je zřejmé z posledního obrázku první galerie, používá instalátor k dělení disků aplikaci parted, o které jsme již mluvili v souvislosti s původní instalací Archu.

Ruční dělení jsme již probrali, takže z parted vyskočíme příkazem quit, ukončíme dělení disků a vrátíme se k němu znovu a podíváme se na jejich automatické dělení. Prvním krokem je zde opět výběr typu dělení GPT vs MBR a naše volba bude opět jasná – žádné GPT. Další krok je ovšem již velmi odlišný – viz první obrázek ve druhé galerii. Zde můžeme nastavit velikost oddílu pro soubory zavaděče (/boot). Navržená hodnota 512 MB je v pořádku, takže můžeme pokročit dále. Na druhém obrázku druhé galerie vidíme, že další se nastavuje odkládací oddíl (swap) s přednastavenou hodnotou 256 MB. Tu změníme na 1175 MB a přejdeme na další oddíl. Ze třetího obrázku ve druhé galerii je patrné, že se jedná o systémový oddíl (/) s navrženou velikostí 6.4 GB. To je vhodné pouze pro velmi základní instalace a bude nutné tuto hodnotu změnit. My si jí nastavíme na 32000 MB a dostaneme se k poslednímu oddílu – domovskému (/home). Jak ukazuje čtvrtý obrázek druhé galerie, má tento oddíl velikost zbytku místa na disku a pokud nechceme přidávat další oddíly (což v ukázce nebudeme), tak jí odsouhlasíme.

Pak následuje nastavení souborového systému na oddílech / a /home – volíme „jistou“ variantu Ext4 – viz pátý obrázek ve druhé galerii. Oddíl /boot je automaticky formátován jako Ext2. Volbu následně odsouhlasíme a na posledním dotazu potvrdíme, že dělení opravdu chceme rozjet a současná data na disku poslat do věčných lovišť – viz šestý obrázek druhé galerie. Jak ukazuje sedmý obrázek ve druhé galerii, je nutné ještě vybrat schéma pojmenování oddílů, které ponecháme na doporučené hodnotě. Pak proběhne vytvoření oddílů a jejich formátování s dialogem na konci. Po něm se vrátíme zpět do hlavního menu instalátoru, což je instalace systému. Tu prostě a jednoduše spustíme a necháme běžet do konce (doufaje, že vítězného…). Ten signalizuje dialog jako je na osmém obrázku druhé galerie. Spustíme pokračování a dostaneme se automaticky k dalšímu kroku – konfigurace systému. Jak je patrné z devátého obrázku ve druhé galerii, skládá se konfigurace z nastavení administrátorského hesla, vytvoření minimálně jednoho uživatele (u nás to bude obligátní kombinace archnet/archnet, je možné nastavit, jestli bude mít daný uživatel práva sudo či nikoliv – náš jediný ho mít bude), nastavení locales (cs_CZ.UTF-8), mapa klávesnice (cz-qwertz) a konfigurace systémových parametrů (nebudeme provádět).

Po ukončení se pomocí volby Back (spustí se přitom automaticky generování příslušné lokalizace) vrátíme do hlavního menu a spustíme instalaci zavaděče. Jak je patrné z předposledního obrázku druhé galerie, máme k dispozici 3 druhy zavaděče: starý a námi pro daný účel preferovaný BIOS nebo novější UEFI pro architektury 32-bit a 64-bit. Po volbě BIOS máme k dispozici jediný zavaděč, což je GRUB. V systému máme také jediný disk, takže jeho volba je také jednoduchá. Po jeho instalaci a jejím odsouhlasení se dostaneme na poslední volbu hlavního menu, kterou instalaci ukončíme a vrátíme se zpět do live systému. Z něj můžeme systém restartovat a přihlásit se jako uživatel do nově instalovaného systému – viz poslední obrázek ve druhé galerii.

Pokud se nám podařil start nově instalovaného systému, tak by asi bylo vhodné provést jeho aktualizaci. My to ale prozatím odložíme a podíváme se na první odlišnost Manjaro v porovnání s Arch Linuxem. Už jsme se výše zmínili, že Manjaro používá balíčky Arch, ale má svoje vlastní repozitáře. Aby se to ještě více odlišovalo, tak jsou k dispozici tři typy repozitářů:

unstable

Jedná se o repozitář, do kterého se po 1–2 dnech dostávají aktuální balíčky z repozitářů Arch Linuxu. Jsou určené prakticky pouze pro vývojáře a důrazně se nedoporučuje jejich použití ani pro testovací účely. Pokud by ale chtěl být někdo opravdu odvážný, je zde návod, jak je přidat do systému Unstable repo.

testing

Do tohoto repozitáře se dostávají balíčky z unstable po cca 1–2 týdnech testování. To znamená, že jsou již o něco „dospělejší“ než ty v Archu a není tak úplně riskantní je přidávat do systému. Návod na to je zde: Testing repo.

stable

Po dalších 3–4 týdnech testování se se dostávají balíčky z testing repozitářů. Přechod není ale automatický, záleží na tom, jak se rozhodnou vývojáři a jestli daný balíček, resp. jeho určitou verzi do stabilní větve pustí nebo ponechají v testovací ještě nějakou dobu. Z uvedených důvodů mohou být verze v Manjaro starší, než v Archu.

Zde se asi nabízí zásadní otázky:

  • Je „zpoždění“ při zařazení balíčků do stabilní větve repozitářů opravdu výhoda?
  • Je to výhoda vždy?
  • Nakolik je to zajímavé pro uživatele?
  • Vyplatí se jim kvůli tomu přejít na Manjaro?
  • atd.

Je celkem složité na všechny otázky nějak fundovaně odpovědět. Proto bychom asi mohli obecně konstatovat následujíc: ve většině případů bude pro distribuci s rolling-release modelem vydávání verzí užitečné, když se nové balíčky budou před zařazením do stabilní větve nějak a nějakou dobu testovat!

Abychom ale pořád jenom neteoretizovali, tak se podíváme na to, kde jsou repozitáře uložené. Manjaro má vlastní sadu zrcadel po celém světě, kde jsou repozitáře dostupné. Jejich aktuální seznam je možné najít zde: Manjaro Mirrors. Na webu je možné vidět, že zrcadel není sice tolik, jako v Archu, ale jsou dostupné na všech kontinentech (v Česku není žádné…). Na stránce také najdeme pro každé zrcadlo informace o tom, kolik času uplynulo od poslední synchronizace a o stavu jednotlivých větví (aktuální/neaktuální). Abychom se podívali ještě blíž, zaměříme se na jedno konkrétní zrcadlo v Německu: Mirror BRD. Po otevření je vidět, že jsou zde přítomné všechny tři výše uvedené větve. Pokud se podíváme na stable, tak uvidíme již dříve zmiňované názvy repozitářů Arch: community, core, extra, multilib. Pokud se podíváme na core, tak zjistíme, že jsou dostupné obě nejrozšířenější architektury i686 a x86_64 pro 32 a 64-bit. Pak už následuje sestava jednotlivých balíčků pro danou architekturu.

Nyní se zdá, že už bychom se mohli do zmíněné aktualizace pustit. Je to sice pravda, ale přece jenom uděláme ještě jeden předběžný krok. Sice trochu předběhneme, ale můžeme s určitostí konstatovat: v rámci základní instalace máme k dispozic správce balíčků, nastavený repozitář stable a také jsou k dispozici aktuální zrcadla. Neměli bychom ale zapomenout na jednu věc, kterou jsme poměrně dlouze a složitě řešili v dílu o aktualizaci Archu: nějaké seřazení zrcadel podle toho, jak dobře a hlavně rychle jsou aktuálně dostupná. V Manjaro je řešení trochu jiné a je třeba zdůraznit, že mnohem jednodušší, než v Archu. Proto před vlastní aktualizací spustíme příkaz pro porovnání dostupnosti zrcadel – viz třeba zde: Manjaro Mirrors.

sudo pacman-mirrors -g

Výsledek vidíme na prvním obrázku ve třetí galerii. Podobný jsme již viděli i při popisu Archu, i když byl výsledkem jiného příkazu (náš aktuální příkaz není ve standardní instalaci Archu vůbec k dispozici). Podle příkazu si můžeme všimnout, že máme opět k dispozici správce balíčků pacman. Důležitá je také poslední hláška, kterou vysypal provedený příkaz: byla vytvořena aktuální verze seznamu zrcadel a byla uložena na příslušné místo do příslušného souboru. Zdá se to být samozřejmé, ale není! Asi si mnozí vzpomenou, jak poměrně složitě bylo nutné aktualizovat seznam zrcadel na Archu. I v Manjaro je nový seznam zrcadel běžnou součástí aktualizací. Zásadní rozdíl je v tom, že při aktualizaci se automaticky provede námi ručně zadaný příkaz a jeho výsledek se uloží. My jako uživatelé tedy nemusíme dělat nic navíc, stačí prostě a jednoduše nechat proběhnout běžnou aktualizaci!

A nyní již hurá na ní… Ale přece jenom ještě ne. Máme tady totiž drobnou změnu proti Archu: již v základní sadě aplikací po prvotní instalaci je k dispozici nejenom pacman, ale i yaourt (ten jsme na Archu museli instalovat z AUR ručně nebo pomocí jiného správce balíčků, který s AUR umí zacházet). Takže konečně dlouho avizovaná aktualizace:

yaourt -Syua

Na druhém obrázku třetí galerie vidíme, že jako první chce systém aktualizovat privátní klíče. Po jejich instalaci a aktualizaci se objeví seznam ostatních balíčků včetně jádra – viz třetí obrázek ve třetí galerii. Vzhledem k aktualizaci jádra po ukončení procesu restartujeme stroj. V průběhu konkrétní aktualizace si můžeme všimnout, že se aktualizuje také seznam zrcadel. Někdo by tak mohl namítnout, že bylo zbytečné to provádět před zahájením aktualizace… Ale nebylo! Je třeba si uvědomit, že prvním krokem aktualizace je vždy stažení nových verzí balíčků. A z vlastní zkušenosti (tedy spíše nezkušenosti…) mohou říct, že stahování s neaktualizovaným seznamem zrcadel může být i na poměrně „tlusté“ lince pěkně o nervy…

Aktualizaci máme tedy úspěšně za sebou a než se pustíme dále, tak si ukážeme dvě věci, které jsme si představili na Archu, resp. se o nich mluvilo v diskusi k jednotlivým dílům článku. Prvním z nich je nastavení lokalizace systému v konzole. Pro ověření si spustíme již známý příkaz

localectl status

Podle výsledku příkazu na čtvrtém obrázku třetí galerie vidíme, že české prostředí je nastaveno a také máme k dispozici českou klávesnici pro konzolu. Ověření tohoto tvrzení je vidět na pátém obrázku ve třetí galerii. Obrázek jasně ukazuje, že máme opět problém se zobrazením správného fontu na systémové konzole. Abychom doplnili minulé díly, tak uvedeme jednoduchý postup, jak to změnit:

  • nainstalujeme si správce souborů mc, abychom si ulehčili práci
    yaourt -S mc
  • otevřeme mc a podíváme se do adresáře /usr/share/kbd/consolefonts a podle šestého obrázku třetí galerie vidíme, že je tam k dispozici pro nás vhodný kandidát Lat2-Terminu16
  • mc zavřeme a znovu ho spustíme jako admin
    sudo mc
  • najdeme soubor /etc/vconsole.conf a přidáme hodnoty pro font a mapu znaků – viz sedmý obrázek ve třetí galerii
    FONT=lat2-16
    FONT_MAP=8859-2
  • změny uložíme, mc ukončíme a restartujeme stroj

Po novém přihlášení se můžeme přesvědčit, že i v konzole funguje zobrazení znaků s nabodeníčky naprosto bez problémů. Dalším nastavením lokalizace ani času jako u Archu se zabývat nebudeme (bylo by to stejné) a zaměříme se na další věc, kterou jsme probírali v předchozích dílech. Na příkladu Archu jsme si ukázali, jak nastavit pro daného uživatele jeho standardní shell, konkrétně to byl zsh. V Manjaro si ukážeme, jak uživateli přiřadit další zajímavý shell Fish shell. Pro jeho přiřazení našemu uživateli musíme udělat pár jednoduchých kroků:

  • zjistit, jaké shelly máme v systému nainstalované
    chsh -l
  • zjistit, jestli je Fish v Manjaro repozitáři
    yaourt -Ss fish*
  • podle osmého obrázku třetí galerie je jasné, že máme k dispozici pouze sh a bash a balíček fish je v repu community
  • nainstalovat shell příkazem – viz devátý obrázek třetí galerie
    yaourt -S fish
  • nastavit fish pro daného uživatele příkazem
    chsh -s /usr/bin/fish
  • restartovat stroj a po novém přihlášení je vidět změna na desátém obrázku třetí galerie

Než budeme pokračovat v další práci, bylo by asi vhodné náš dosavadní systém doplnit o nějaké grafické prostředí. Zatím si s tím nebudeme moc lámat hlavu a uděláme to jednoduše: nainstalujeme si základní grafické prostředí, JWM a pomocné aplikace a z předchozího virtuálního stroje si překopírujeme kompletní nastavení JWM. Vše potřebné instalujeme dvojicí příkazů po sobě spuštěných:

yaourt -S xorg xorg-xinit xterm jwm
yaourt -S clipit mousepad xfe netsurf xarchiver lilyterm p7zip xdotool oblogout i3lock scrot lxtask htop gnome-system-monitor dunst rofi

Po instalaci výše uvedených balíčků můžeme velmi rychle a jednoduše překopírovat jeden adresář a 4 soubory a máme prostředí JWM nastavené přesně tak, jak jsme ho při poslední činnosti na Archem vytvořili:

  • celý adresář $HOME/.config/jwm
  • souhrnný konfigurační soubor pro JWM: $HOME/.jwmrc
  • soubor pro použití správce přihlášení: $HOME/.Xprofile
  • soubor pro start grafického prostředí z konzole: $HOME/.xinitrc
  • soubor s nastavením tématu pro spouštěč rofi: $HOME/.Xresources

Pokud uvedený adresář a soubory zkopírujeme z virtuálního stroje Arch Linux a nakopírujeme na příslušná míst ve stroji Manjaro, můžeme klidně z konzole zadat náš známý příkaz

startx

a okamžitě se budeme cítit jako doma, ve známém prostředí. To je určitě jednoznačná výhoda JWM a jemu podobných prostředí, kde je veškerá konfigurace umístěna v několika málo souborech či adresářích. Nikdy pak není problém při zachování nějaké minimální množiny základních aplikací konfiguraci přenášet jednoduše a rychle nejen mezi jednotlivými stroji, ale dokonce mezi různými linuxovými distribucemi (samozřejmě s určitou opatrností vzhledem k různým aplikacím v různých distribucích).

Na závěr dnešního dílu si ukážeme na několika konkrétních příkladech odlišné či stejné verze balíčků v našich dvou prozatím použitých virtuálních strojích. Oba systémy byly v horizontu několika málo minut aktualizovány a následně byly vytvořeny sady obrázků, které demonstrují rozdíly:

bitcoin_skoleni

  • jako první ukazatele byly zvoleny verze linuxového jádra a systému pro překlad C a C++ aplikací. První obrázek ve čtvrté galerii nám ukazuje stav Arch, druhý obrázek čtvrté galerie Manjaro. Jak je z obrázků patrné, verze GCC je stejná, ale verze jádra jsou dosti odlišné: 4.5.1 vs 4.4.8
  • další vybraný balíček je základní knihovna jazyka C. Jak ukazují další dva obrázky ve čtvrté galerii, jsou verze stejné
  • následuje správce systému a služeb, který je opět ve stejné verzi – viz pátý a šestý obrázek čtvrté galerie
  • dále je srovnána verze základního balíčku pro framework QT5. Jak je vidět ze sedmého a osmého obrázku ve čtvrté galerii, odlišnost zde je, ale minimální
  • poslední byl vybrán základní správce balíčků. Na posledních dvou obrázcích čtvrté galerie je pak vidět několik věcí najednou: verze balíčku pacman jsou stejné, verze seznamu zrcadel se ale liší. V Manjaro je vidět, že balíček yaourt je v repu extra, v Archu je ale v AUR. V Manjaro je také navíc vlastní balíček manjaro-system

Výše uvedený přehled naznačuje, že se zpoždění aktualizace balíčků mezi Arch a Manjaro Linuxem týká spíše některých systémových součástí a „běžných“ aplikací se tolik nedotýká. Tato cesta může samozřejmě vést ke zlepšení stability instalovaného systému při zachování výhody aktuálnosti. Tímto bychom dnešní díl uzavřeli a v tom příštím si ukážeme další podrobnosti o Manjaro Linuxu.

Dnešní díl jsme věnovali krátkému představení distribuce Manjaro Linux včetně porovnání základních vlastností s Arch Linuxem. Pak jsme si představili řádkovou instalaci systému, způsob uložení balíčků v zrcadlech, aktualizaci včetně aktualizace seznamu zrcadel, lokalizaci konzole a nastavení dalšího zajímavého uživatelského shellu. Díl byl ukončen krátkým návodem pro přenos kompletně konfigurovaného prostředí JWM a porovnáním verzí vybraných balíčků mezi Arch a Manjaro. V příštím dílu si ukážeme instalaci Manjaro Linuxu s prostředím XFCE pomocí grafického instalátoru. Díl pak bude ukončen podrobnějším popisem grafického správce balíčků.