Příklad: Instalace Arch Linux pro běžné používání
Rozhodl jsem se, že připravím ukázku instalace GNU/Linux na svůj počítač pro osobní, kancelářské a nebo studijní užití. Má oblíbená distribuce je Arch Linux, více informací o této distribuci je na stránkách projektu archlinux.org.
Předpoklad
- Plně funkční nenáročný systém s grafickým prostředím připravený pro užívání doma a nebo v kanceláři
- UEFI, Lvm a RAID
- Vzdálený přístup pomocí SSH
- Standardní zabezpečení v podobě firewallu
- Běžné kancelářské programy a také mé oblíbené open-source programy
Výhody konfigurace
- Lehký a rychlý systém
- Dobrá správa systému
- Vzdálená správa
- Ochrana
- Soukromí
Nevýhody
- Žádné mne nenapadají, Vás ano? :)
Bootovací médium
Vytvořím si bootovací FLASH disk. ISO instalačního média naleznu na domovské stránce projektu. Pomocí programu Rufus mohu vytvořit bootovací médium a nebo na systémech Linux jej vytvořím pomocí nástroje "dd". Připojím bootovací médium k zařízení, nastavím korektně prioritu bootování tak, aby instalační médium mělo prioritu. Případně mohu jednorázově vyvolat bootovací menu počítače a zvolit si instalační médium. Zkontroluji podporu UEFI. V praxi jsem instaloval OS na virtuální počítač a několik výše uvedených kroků jsem nedělal.
Instalační médium nabootováno
Před zahájením instalace si nastavím české rozložení klávesnice příkazem:
loadkeys cz-qwertz
Rozdělení disků
Mohu se vrhnout do přípravy disků. K počítači je připojen jeden SSD disk, který využiji jako systémový a dva plotnové disky pro data. Systémový disk o kapacitě 120GB vhodně rozdělím a založím logicklé svazky, plotnové disky o kapacitě 1TB využiju na sestavení RAIDového pole se zrcadlením, získám tak rychlý systém a redundanci pro data, v případě nečekaného výpadku jednoho z plotnových disků s daty mám možnost jej vyměnit. Vlastní zálohu dat provádím na lokální síťové úložiště, ale o tom až jindy.
Plánované rozvržení disků: sda1 - 512MB - boot sda2 - 120GB - lvm - swap, root, home sdb1 + sdb2 - 1TB - RAID1 - DATA
Disky rozděluji nástrojem cfdisk, rozdělím disky dle plánu výše:
cfdisk /dev/sda cfdisk /dev/sdb cfdisk /dev/sdc
Vytvořím systém souborů FAT32 na disku sda1:
mkfs.fat -F32 /dev/sda1
Založím skupinu svazků na disku /dev/sda2 a poté vytvořím logické svazky. Volím systém souborů ext4, v této konfiguraci naprosto vyhovuje:
vgcreate system /dev/sda2 lvcreate -L 16G system -n swap lvcreate -L 30G system -n root lvcreate -l 100%FREE system -n home
Naformátuji i tyto svazky:
mkfs.ext4 /dev/mapper/system-root mkfs.ext4 /dev/mapper/system-home
Mohl bych také vytvořit zvláštní svazky pro umístění např. "var" a další, ale v tomto případě jsem tak nekonal. Oddíly pro "root" a "home" postačí.
Připojím po dobu instalace vytvořené disky do umístění /mnt:
mount /dev/mapper/system-root /mnt mkdir -p /mnt/home mkdir -p /mnt/boot mkdir -p /mnt/mnt/DATA mount /dev/mapper/system-home /mnt/home mount /dev/sda1 /mnt/boot
Vytvořím swapovací systém souborů na určeném svazku a aktivuji jej:
mkswap /dev/mapper/system-swap swapon /dev/mapper/system-swap
Instalace jádra a základních utilit, chroot
Vše potřebné je potřeba nainstalovat do umístění /mnt.
pacstrap /mnt base base-devel linux linux-firmware
Poté vygeneruji fstab dle aktuálně připojených disků do umístění /mnt:
genfstab -U /mnt >> /mnt/etc/fstab
Nyní se mohu chrootnout do nového systému:
arch-chroot /mnt
V nainstalovaném systému
Nyní se již vše odehrává v nově nainstalovaném OS, v této části proběhně prvotní konfigurace, instalace zavaděče a několika důležitých utilit. Potřebné nástroje atd. nainstaluji:
pacman -S dhcpcd nano sudo mc htop lvm2 efibootmgr grub mdadm
Nastavím jazyk, v souboru /etc/locale.gen odkomentuji řádky cs_CZ.UTF-8 UTF-8 a cs_CZ ISO-8859-2 a spustím locale-gen.
nano /etc/locale.gen locale-gen
Zbývá donastavit časové pásmo a říct systému o našem primárním jazyce:
ln -sf /usr/share/zoneinfo/Europe/Prague /etc/localtime echo LANG=cs_CZ.UTF-8 > /etc/locale.conf echo KEYMAP=cz-qwertz > /etc/vconsole.conf
RAID
Vzhledem k tomu, že jsem si vybral sestavení RAIDového pole, tak potřebuji nástroj mdadm. Vytvořím tedy RAIDové pole a naformátuji jej:
mdadm --create /dev/md1 -l1 -n2 /dev/sdb1 /dev/sdc1 mkfs.ext4 /dev/md1 mount /dev/md1 /mnt/mnt/DATA
Zápis do fstab může vypadat takto:
/dev/md1 /mnt/DATA ext4 rw,relatime 0 2
LVM, GRUB a EFI
Veškerý software zde potřebný jsem nainstaloval v předešlích kapitolách. Nainstaluji zavaděč pro UEFI do patřičnéhu umístění a provedu vytvoření jeho konfigurace:
grub-install --target=x86_64-efi --efi-directory=/boot/ grub-mkconfig -o /boot/grub/grub.cfg
Vzhledem k tomu, že jsem si toto nastavení vybral, tak musím zajistit načtení potřebného hooku pro LVM. Do souboru /etc/mkinitcpio.conf zapíšu lvm2
HOOKS=(... block lvm2 filesystems ...)
Poté musím přegenerovat inicializační data pro bootování jádra:
mkinitcpio -p linux
Kontrola
Vypíšu si report stavu volného místa, RAID polí a paměti.

Jak je vidět ze screenu, tak RAIDové pole se synchronizuje - to nějaký čas potrvá. Mezitím si už mohu užívat OS GNU/Linux dle libosti, je třeba ale počítat s možným zpomalením vlivem synchronizace disků. Instalace software se provádí jako superuživatel, pro tyto potřeby se v příkazovém řádku přihlašuji jako root pomocí su a zadání hesla účtu root.
Jméno počítače, heslo a reboot
Jméno počítače mohu nastavit takto:
echo novy_pc > /etc/hostname
Změnu hesla vyvolám příkazem passwd a dvakrát zadám heslo.
Ukončím režim chroot pomocí CTRL+D a nebo příkazem exit.
Provedu restart PC pomocí příkazu reboot.
První boot nového OS, vytvoření uživatele
Vidím před sebou textový přihlašovací dialog, zadám uživatele root a heslo, které jsem zvolil dříve.
Je čas si vytvořit uživatele martin, který bude patřit do - pro mě - základních skupin:
useradd -m -g users -G audio,video,games,optical,storage,power,wheel martin
Opět pomocí nástroje passwd nastavím heslo pro uživatele martin:
passwd martin
Povolení sítě
Aktuálně neběží žádná služba spravující síťové připojení LAN, využiji dhcpcd a spustím ji:
systemctl enable dhcpcd systemctl start dhcpcd
Zkontroluji přiřazení IP adresy:
ip a
Aktualizace balíčků
Kompletní aktualizace repozitáře i nainstalovaných balíčků se provede takto:
pacman -Syyu
Zvuk
Je více možností jak řešit zvukový výstup na systémech GNU/Linux, já využívám ALSA, pro zvuk a nějaké ty nástroje jako mixér apod. je tedy potřeba nainstalovat:
pacman -S alsa-utils alsa-plugins
V příkazovém řádku tak mohu vyvolat mixér příkazem alsamixer.
Instalace X, DM a WM
Nainstaluji X Server, správce displeje a oken, vybral jsem XFCE4:
pacman -S xorg xorg-xinit lxdm xfce4
Zaktivním správce displeje pro příští spuštění:
systemctl enable lxdm
Vzdálený přístup
Pro vzdálený přístup protokolem SSH zainstaluji balíček openssh.
pacman -S openssh
Konfigurace se provádí v souboru /etc/ssh/sshd_config. Defaultní nastavení pro náš účel stačí. Zaktivním a spustím tedy službu sshd.
systemctl enable sshd systemctl start sshd
Připojení na vlastní stroj mohu otestovat takto:
ssh localhost
Firewall
Pro správu pravidel ip tables využívám nástroj ufw, který se mi osvědčil pro svou jednoduchost. Je potřeba jej spouštět jako superuživatel.
Nainstaluji jej a zaktivním:
pacman -S ufw systemctl enable ufw systemctl start ufw ufw enable
Pro vzdálenou správu povolím port 22 a protokol tcp:
ufw allow 22/tcp
Příkazem ufw status verbose mohu vypsat aktuálně platná pravidla.

Zbývající software a restart
Doinstaluji zbývající software, který hodlám využívat:
pacman -S libreoffice libreoffice-fresh-cs firefox firefox-i18n-cs thunderbird thunderbird-i18n-cs screen net-tools soundconverter gimp inkscape gpicview gvfs kdeconnect virtualbox vlc mplayer pcmanfm ncdu htop geany dosbox
A může jich být mnohem více...
Příkazem reboot restartuji
Grafické prostředí po startu
Hurá, naběhl mi systém na přihlašovací obrazovku.


Tisk
Tiskový server CUPS se v Linuxu stará o tisk a tiskárny, stačí nainstalovat balíček cups a spustit službu:
pacman -S cups systemctl enable cups systemctl start cups
Konfiguraci lze provést ve webovém rozhraní na adrese, kterou zadáme do prohlížeče:
localhost:631
Závěr
Vzhledem k tomu, že většina dění se odehrávala v příkazové řádce, je obsah poněkud strohý o obrázky. O to věřím, že bude přínosnější.