Hlavní navigace

Distribuce Arch Linux: první část instalace

17. 3. 2016
Doba čtení: 14 minut

Sdílet

Minulý díl byl věnován plánům a přípravě instalace Archu. Podrobněji jsme se zaměřili na dokumentaci a udělali první kroky k instalaci. Dnes se budeme naplno věnovat instalaci a podrobnému popisu postupu.

Na začátku dnešního dílu se ještě krátce vrátíme na konec toho minulého, konkrétně k posledním obrázkům s terminálem instalačního systému. Shodou okolností se totiž podařilo zachytit vydání nové verze instalačního média. Obrázky z minulého dílu jsou z verze archlinux-2016.02.01 (nejmarkantnější rozdíl je verze jádra, zde 4.3.3). Aktuální verze, kterou budeme nadále používat je archlinux-2016.03.01 s verzí jádra 4.4.1 – viz následující obrázek:

Verze instalačního systému

Je samozřejmě možné použít libovolnou verzi instalačního média, ale při té „služebně starší“ je třeba počítat s větším množstvím a objemem aktualizací. Tím bychom mohli ukončit pojednání o instalačním médiu a pustit se do instalace funkčního systému.

Jak asi vyplývá z předešlého obrázku, máme k dispozici pouze terminál a žádný instalační program či aplikaci. Takto je to v Archu zařízené a my se s tím pokusíme nějak vyrovnat. Prvním krokem při instalaci bude rozdělení disků. Podle minule uvedených předpokladů máme k dispozici dva pevné disky, jeden pro systém a druhý pro data/zálohy. Máme samozřejmě disky celkem tři, protože musíme počítat také instalační CD v podobě ISO souboru. Pro dělení disků máme k dispozici dvě aplikace – cfdisk a parted. Ono jich je samozřejmě k dispozici víc, ale my se zaměříme na tyto dvě. Kdo by měl zájem, tak se může podívat na příslušnou kapitolu ArchWiki, která ale bohužel není dostupná v češtině – Disk Partitioning. Zde je kromě jiného uveden přehled dostupných nástrojů pro dělení disků a kromě výše uvedených jsou k dispozici ještě další čtyři – fdisk, gdisk, cgdisk, sgdisk. Kdo by chtěl, může pro dělení disků samozřejmě použít libovolný z uvedených nástrojů

Abychom získali konkrétní přehled o tom, co v našem systému máme k dispozici, použijeme jeden z uvedených nástrojů a do terminálu zadáme příkaz

parted -l

Následující obrázek nám ukazuje, že výše uvedené disky máme skutečně k dispozici a že oba pevné disky nejsou ještě nijak rozdělené = neobsahují žádné oddíly.

Přehled disků v systému

K rozdělení systémového disku použijeme aplikaci cfdisk a vytvoříme na něm tři základní oddíly. Bude se jednat o tyto oddíly:

  1. boot – oddíl pro uložení spouštěcích souborů, velikost 512 MB, souborový systém Ext2
  2. / – systémový oddíl, velikost 48 GB, souborový systém Ext4
  3. swap – odkládací oddíl, velikost 1.5 GB

Podle předchozího obrázku a běžných linuxových zvyklostí má první disk označení sda, takže zadáme příkaz

cfdisk /dev/sda

Výsledek vidíme na dalším obrázku:

Vytvoření nového štítku

Jak je z obrázku patrné, je zde k dispozici tabulka se čtyřmi možnosti typu labelu (štítku), ke které se ještě vrátíme. Pak následuje modré upozornění, že zařízení (=disk) neobsahuje žádnou tabulku s rozdělením a stručný návod, jak postupovat dál. My se podle tohoto návodu zařídíme a vybereme typ štítku. Pro nás jsou zajímavé pouze dva první, další dva (sgi, sun) jsou určené pro speciální případy a nebudeme se jimi vůbec zabývat. Podrobnější popis k tématu je možné najít na výše uvedené stránce ArchWiki. Jako první se v tabulce nabízí varianta gpt. Jedná se o moderní systém GUID Partition Table. Tento typ štítku je doporučován pro novější typy počítačů a pevných disků. Na výše uvedené stránce se zájemci mohou dozvědět více včetně porovnání výhod i nevýhod tohoto systému v porovnání s tím druhým, který my použijeme. Každopádně je třeba využít gpt dělení disků tam, kde je součástí HW výbavy počítače nová verze BIOSu – UEFI.

Druhým typem štítku je v našem případě dos, který vzhledem k zaměření na starší stroje použijeme. Ten souvisí se starším způsobem dělení pevných disků MBR. Proto šipkou vybereme druhou variantu a stiskneme Enter. Výsledek je vidět na dalším obrázku.

Na obrázku vidíme, že máme nějaký pevný disk s nějakými parametry (námi požadovaný /dev/sda a typ štítku dos), na něm pouze volné místo a k dispozici 5 příkazů. My si vybereme první původně zvolenou volbu New. Tím nastartujeme vytvoření prvního diskového oddílu a jsme následně vyzváni k nastavení jeho velikosti. Jak ukazuje další obrázek, nabízí se nám plná velikost disku a krátká nápověda o tom, jak zadávat jednotky velikosti.

Nastavení velikosti disku

My samozřejmě plnou velikost nechceme, takže ji změníme na hodnotu 512M. Po zadání hodnoty a Enteru se objeví volba druhu nově vytvářeného oddílu. Máme k dispozici dvě možnosti – primary (primární) a extended (rozšířený) včetně stručného přehledu o tom, kolik oddílů je již vytvořeno a kolik jich je k dispozici (viz tabulka s omezeními systému MBR ve výše uvedené nápovědě). Aktuální situaci ukazuje následující obrázek:

Druhy oddílů

Vzhledem k tomu, že budeme vytvářet pouze tři oddíly a nepředpokládáme přidávání dalších, vytvoříme všechny oddíly jako primární. Proto pokračujeme pomocí Enter na původní volbě a vytvoříme oddíl podle nastavených parametrů s názvem /dev/sda1. Kromě nově vytvořeného oddílu vidíme v dolní části informaci o jeho typu (automaticky je volen typ 83 – Linux) a také si můžeme povšimnout dvou nových příkazů. Více je patrné z dalšího obrázku.

První přidaný oddíl

Tento oddíl bude sloužit pro uložení spouštěcích souborů, takže musíme ještě nastavit příslušný příznak pro spouštění. Proto vybereme první položku menu s operacemi Bootable a po stisku Enter vidíme změny (v řádku s oddílem přibyla hvězdička v položce Boot a dole v přehledu atribut č. 80) – viz následující obrázek.

Příznak spouštění oddílu

Pro vytvoření dalšího oddílu přejdeme šipkou dolů na volné místo na disku (řádek Free space) a Enterem spustíme operaci New. Nastavíme požadovanou velikost a primární druh oddílu, žádný další příznak nastavovat nemusíme. Výsledkem je další nový oddíl /dev/sda2, jak to ukazuje další obrázek.

Druhý nový oddíl

Stejným způsobem vytvoříme i třetí oddíl. Zde již nemusíme nastavovat velikost (použije se zbylé místo na disku), ponecháme primární druh oddílu a vytvoříme poslední oddíl /dev/sda3. I zde musíme udělat ještě jednu změnu a to sice nastavení typu oddílu. Výše v tabulce jsme uvedli, že tento oddíl bude sloužit jako odkládací, a tak musíme nastavit tomu odpovídající typ oddílu. Vyberme operaci Type a po Enteru se objeví tabulka s možnostmi. My vybereme typ 82 – Linux swap / Solaris a potvrdíme Enterem. Tabulka s typy oddílů a konečný výsledek dělení je pak vidět na následujících dvou obrázcích

Tabulka typů oddílů

Vytvořené oddíly, typy a příznaky

Všechny plánované oddíly máme sice již vytvořené, ale u konce ještě nejsme. Dá se říci, že jsou vytvořeny tak nějak „nanečisto“, zkušebně a je možné je kdykoliv smazat, změnit jejich parametry atd. Abychom mohli dělení disků ukončit, musíme provést poslední operaci, kterou je zápis námi zadaného rozdělení a nastavení oddílů na disk. Zde je nutné upozornit na to, že tato operace nenávratně smaže veškerá data, která na disku předtím byla a je nutné si proto vše řádně rozmyslet. Vybereme operaci Write, po výzvě vyslovíme souhlas se zápisem tabulky rozdělení oddílů na disk (v nabídce jsou možnosti, Ano, Ne a zrušení operace) a nakonec potvrdíme Enterem. Tím je dělení disku u konce a můžeme se vrátit zpět do terminálu příkazem Quit (upozornění, že se jedná o ukončení bez uložení, si nemusíme všímat, protože jsme uložení provedli v předchozím kroku). Dialog k zápisu a upozornění při ukončení jsou vidět na následujících dvou obrázcích

Zápis rozdělení na disk

Ukončení operace dělení systémového disku

Po návratu do terminálu se přesvědčíme, jestli dělení dopadlo tak, jak jsme chtěli, a znovu si spustíme příkaz

parted -l

Další obrázek nám jasně ukazuje, že je vše v pořádku a my se můžeme pustit do dělení datového disku.

Přehled disků po prvním dělení

V tomto případě vytvoříme jediný oddíl, který bude mít velikost celého disku 20 GB a souborový systém Ext4. Pro dělení tentokrát použijeme druhou uvedenou aplikaci – parted. Na rozdíl od předchozí aplikace se jedná o poměrně komplexní nástroj, takže by pro začátečníky bylo vhodné se podívat do nápovědy přímo na stránkách projektu Parted User's manual nebo na ArchWiki GNU Parted. Při použití této aplikace může buď využít možnosti spouštění jednotlivých terminálových příkazů nebo tzv. interaktivního módu. My provedeme naší jednoduchou ukázku pomocí druhé varianty. K tomu se nám opět nabízejí dvě možnosti, které vedou k jednomu výsledku. Buď můžeme použít jeden příkaz, který nás dostane do příslušného módu a nastaví požadovaný disk:

parted /dev/sdb

nebo použijeme dva po sobě jdoucí příkazy. První z nich nás dostane do příslušného módu aplikace a nastaví první disk v systému a druhý pak nastaví námi požadovaný disk:

parted
select /dev/sdb

Při přechodu do interaktivního módu (nezáleží na tom, která výše uvedená varianta byla k tomu zvolena) aplikace parted se změní prompt příkazové řádky z původního tvaru root@archiso ~ # na tvar (parted). Než začneme s dělením disku, tak si jenom pro přehled necháme zobrazit nápovědu pomocí volby help, jak to ukazuje další obrázek.

Parted Help

Pomocí příkazu print si můžeme nechat zobrazit informace o aktuálním disku, jak to ukazuje následující obrázek. Vzhledem k tomu, že disk neobsahuje žádné oddíly, asi nepřekvapí, že konkrétních informací není příliš mnoho.

Info o disku

Kompletní dělení datového disku provedeme pomocí třech po sobě následujících kroků:

  1. vytvoříme štítek disku se stejnou volbou pro MBR
  2. nastavíme druh a velikost disku
  3. nastavíme typ souborového systému

Pro první krok použijeme jeden příkaz

mklabel msdos

a ihned zkontrolujeme výsledek pomocí příkazu print. Výsledek je vidět na dalším obrázku.

Štítek oddílu

Další dva kroky může provést jediným příkazem, který bude v konkrétním případě vypadat třeba takto:

mkpart primary ext4 0.00GB 21.5GB

Kontrola výsledku je pak na dalším obrázku.

Druh, velikost a souborových systém oddílu

Nic víc už na tomto disku nastavovat nepotřebujeme, takže parted ukončíme příkazem quit a podíváme se na konečný přehled našich disků a oddílů. Žádný příkaz pro zápis rozdělení na disk zde není třeba zadávat. Na obrázku si také můžeme všimnout, že zde nejsou viditelné údaje s typem souborového systému a příznaků, i když v předchozím výpisu vidět byly. To ale necháme stranou a dělení disků ukončíme.

Přehled disků v systému

Další krok, který musíme udělat, je nastavení souborových systémů pro jednotlivé diskové oddíly. K tomu použijeme systémové příkazy, které máme v instalačním systému k dispozici a postupně zadáme:

mkfs.ext2 /dev/sda1
mkfs.ext4 /dev/sda2
mkswap /dev/sda3
swapon /dev/sda3
mkfs.ext4 /dev/sdb1

Následujících pět obrázků ukazuje výsledky uvedených příkazů a konečný přehled dělení diskových oddílů

FS na /boot

FS na /root

Odkládací oddíl a jeho aktivace

FS na datovém disku

Přehled diskových oddílů

Tuto kapitolku ukončíme jedním doporučením, které je považováno za lepší řešení, než bylo výše uvedeno. My jsme sice vytvořili na datovém disku pomocí aplikace parted také souborový systém, ten se ale vlastně neaktivoval a bylo nutné ho vytvořit extra příkazem. Proto by bylo vhodnější použít pouze příkaz pro vytvoření oddílu určité velikosti a souborový systém pak až následně. Příslušný příkaz by se pak zjednodušil na formát

mkpart primary 0.00GB 21.5GB

Následně můžeme pokračovat a v dalším kroku postupně připojit vytvořené oddíly (kromě odkládacího, ten je již aktivován) a vytvořit tak tzv. přípojné body včetně jejich názvů v budoucí adresářové struktuře plně instalovaného Archu. K tomu budeme potřebovat 5 příkazů:

mount /dev/sda2 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
mkdir /mnt/Data
mount /dev/sdb1 /mnt/Data

Tím se dostáváme ke kroku, kde je nutné instalovat základní systém Archu. Než se do toho ale dáme, vrátíme se krátce k repozitářům. V minulém dílu jsme o nich mluvili celkem podrobně, ale dnes si řekneme další důležité informace. Tou první je umístění seznamu zrcadel s oficiálními repozitáři, který si můžeme pomocí jednoduchého textového editoru prohlédnout zde:

nano /etc/pacman.d/mirrorlist

Přehled zrcadel

V příslušném souboru najdeme seznam serverů, na kterých jsou repozitářová zrcadla a z předchozího obrázku vidíme, že jich je k dispozici vysoko přes 200 a jsou všechna povolena. Bylo by samozřejmě možné všechny možnosti zakázat a nechat povolené jenom ty české, ale byla by to zbytečná a zdlouhavá práce. My to zkusíme udělat trochu jinak a jednodušeji. Jde nám totiž o to, abychom z té záplavy zrcadel vybrali to, které má zrovna nejrychlejší odezvu a instalace základního systému tak bude nejrychlejší. K tomu využijeme možnosti, které nám nabízí správce balíčků a použijeme příkaz:

pacman-optimize && sync

Pak už můžeme přikročit k instalaci základního systému. Jako první si uvedeme příslušný příkaz a následně si ho podrobněji osvětlíme:

pacstrap /mnt base base-devel

Pro instalaci použijeme instalační skript Archu pacstrap. Instalaci provedeme do kořenového adresáře nového systému (/mnt) a budeme instalovat dvě skupiny balíčků. Obvykle se doporučuje instalovat pouze první uvedenou skupinu balíčků base. Vzhledem k tomu, že se již v počátečních fázích po instalaci systému neobejdeme bez překladu některých balíčků či aplikací, je vhodné instalovat i druhou skupinu balíčků, která obsahuje potřebné nástroje base-devel. Obsah obou skupin je možné dohledat na uvedených odkazech. Po spuštění příkazu se provede aktualizace oficiálních repozitářů a automaticky se spustí stahování příslušných balíčků a jejich následná instalace. V konkrétním případě se jedná o 141 balíčků, velikost stahování je cca 220 MB a celá instalace zabere po rozbalení cca 710 MB. Jak je z těchto čísel patrné, základní instalace je velmi malá a proběhne také v závislosti na rychlosti připojení k internetu velmi svižně. Následující obrázek ukazuje část instalace a závěrečné hlášení příkazu.

Instalace základního systému

Pro další krok budeme potřebovat už přímo správce balíčků. Opět uvedeme kompletní příkaz a následně ho rozebereme:

arch-chroot /mnt pacman -S grub-bios mc

Vzhledem k tomu, že jsme pořád v instalačním systému, musíme použít jako první příkaz pro změnu aktuálního adresáře, ve kterém má proběhnout nějaká operace Chroot. Pak už použijeme správce balíčků a s jeho pomocí instalujeme dvě aplikace. První z nich je tzv. Boot Loader neboli zavaděč. Ten slouží jako první instance po startu počítače pro zavedení linuxového jádra s příslušnými parametry, inicializaci RAM disku ještě předtím, než se spustí vlastní start a spuštění systému z příslušného diskového oddílu. Jak ukazuje odkaz, je možností volby zavaděčů více. My vzhledem k zaměření na starší stroje použijeme také starší, ale osvědčený GRUB. Náš předpokládaný stroj používá pro vlastní spuštění BIOS, a tak instalujeme příslušnou verzi zavaděče. Při instalaci na novější stroje se spouštěčem UEFI je nutné volit pro daný účel připravené verze. Více je možné se dočíst na uvedené stránce projektu GRUB. Jako dobrého pomocníka instalujeme jednoduchého správce souborů Midnight Commander. Jak je vidět na dalším obrázku, příkaz instaluje celkem čtyři balíčky, stahuje se cca 8 MB a po instalaci se systém rozšíří o cca 36 MB.

Instalace GRUB a MC

Uvedenou instalaci spustíme pomocí klávesy Y (je třeba si uvědomit, že klávesnice zatím nebyla nastavená a má americké uspořádání!). V dalším kroku opět využijeme možnosti, které nám Arch při instalaci nabízí a poměrně jednoduše vložíme na příslušné místo celou strukturu diskových oddílů, kterou jsme v předchozích krocích vytvořili. Tím příslušným místem je tabulka souborových systémů FSTAB. Následující příkaz nám ji umožní z kořenového adresáře zjistit a uložit do souboru, kde systém rozdělení disků automaticky hledá (samozřejmostí je uložení do nově připravovaného kompletně funkčního systému):

genfstab -p /mnt >> /mnt/etc/fstab

Nyní se můžeme pomocí již známého příkazu přesunout do nově instalovaného systému a provést další nutné kroky. Mohli bychom samozřejmě zůstat v instalačním prostředí, ale příkazů bude více a pokaždé bychom museli vypisovat delší formu, takže provedeme příkaz

arch-chroot /mnt

Následující obrázek ukazuje, že se změnil i tzv. shell (interpretr řádkových příkazů v Linuxu).

Chroot do nového systému

Budeme pokračovat tím, že si zadáme název našeho stroje, tzv. hostname:

echo archlinux > /etc/hostname

Pak nastavíme časovou zónu s pomocí symbolického odkazu na příslušný soubor:

ln -s /usr/share/zoneinfo/Europe/Prague /etc/localtime

V základních předpokladech instalace jsme si řekli, že budeme používat kompletně české prostředí a proto je nutné si to takto při instalaci nakonfigurovat. Budeme k tomu potřebovat tři kroky:

  1. otevřeme si příslušný soubor s lokalizací, najdeme a odkomentujeme příslušný řádek a soubor znovu uložíme
    nano /etc/locale.gen
    Jak ukazuje obrázek, jsou zde dvě možnosti. Klidně můžeme vybrat obě, ale první varianta by měla být pro většinu uživatelů dostačující. K otevření a úpravě souboru můžeme samozřejmě využít dříve instalovaný správce souborů mc
  2. necháme vybranou lokalizaci vygenerovat příkazem
    locale-gen
    viz další obrázek
  3. lokalizaci uložíme do globálního systémového souboru příkazem
    echo LANG = cs_CZ.UTF-8 > /etc/locale.conf

    a úspěšnost můžeme ověřit příkazem

    nano /etc/locale.conf
    viz následující obrázek

Lokalizace systému

Generování lokalizace

Systémová lokalizace

Dalšími kroky budou nastavení hesla pro administrátora budoucího systému, přidání alespoň jednoho běžného uživatele a jeho hesla. Pro admina je příkaz velmi jednoduchý:

passwd

Jak ukazuje další obrázek, je heslo nutné zadat dvakrát a pokud možno stejné…

Heslo admina

Pro přidání uživatele je příkaz složitější. Než se k němu dostaneme, můžeme se podrobněji podívat na to, co o uživatelích a uživatelských skupinách říká ArchWiki: Users and Groups. Zde nalezneme obecný formát příkazu pro přidání běžného uživatele do systému:

useradd -m -g initial_group -G additional_groups -s login_shell username

Pro typického uživatele desktopového systému je zde doporučen příkaz

Cloud 24 - tip 1

useradd -m -G wheel -s /bin/bash archie

My se ale vydáme trochu složitější cestou a ukážeme si, jak při vytváření nového uživatele nastavit jeho defaultní shell. To si ale necháme až do příštího dílu.

Dnešní díl jsme věnovali zahájení instalace systému Arch Linux na virtuální stroj. Provedli jsme základní kroky jako je rozdělení disků na oddíly, vytvoření souborových systémů na nově vytvořených oddílech a zápis dělení disků do systémových souborů. Byla také nainstalována základní sada systémových balíčků, zavaděč systému a lokalizace systému do češtiny. Postup instalace byl ukončen po vytvoření hesla systémového administrátora. V příštím dílu instalaci dokončíme a začneme se věnovat správci balíčků a jeho možnostem.

Byl pro vás článek přínosný?