Úvod
Pro začátečníka může být složité až skoro nemožné Arch Linux nainstalovat a nakonfigurovat podle svých
potřeb. Někoho může i instalace v příkazovém řádku odradit. V dnešním návodu si ukážeme, jak
nainstalovat Arch Linux pomocí instalátoru Calam-Arch-installer. Tento návod předpokládá,že Arch
Linux bude jediným OS v zařízení.
Co získáme instalací
• Plně LUKS šifrovaný oddíl obsahující souborový systém BTRFS s / boot, / root a / home
• / a /home jako samostatné dílčí svazky, které umožňují snadnou a úložnou úsporu místa
snímků kořenového systému
• automatické vytváření snímků (při upgradu systému a každodenním a bootování)
• schopnost zavést do funkčního snímku z nabídky grub (automatické vytváření spouštěcích
položek) a poté nastavit tento nebo jiný snímek jako nový výchozí systém (z grafického
uživatelského rozhraní)
Stažení a příprava instalačního USB
Nejprve si stáhneme ISO Calam-Arch-Installer Obraz zapíšeme na USB disk třeba pomocí nástroje
Etcher.Restartujeme počítač a při zavádění systému v BIOSu nastavíme zavádění systému pomocí
USB.
Pří zavádění z USB se vám ukáže úvodní obrazovka instalátoru
Příprava instalace
Nejdříve je třeba udělat pár maličkostí před instalací našeho nového systému.
Změňte výchozí nastavení btrfs calamar pro fstab.Následující krok vynutí, aby calamar přiřadil a
používal kompresi na všech instalačních zařízeních btrfs; bez ohledu na to, zda jsou ssd nebo
hdd. Použijeme kompresi zstd.
Otevřete Terminal,Firefox s naším návodem a zadejte (nebo označte a zkopírujte níže uvedené
příkazy pomocí ctrl-c a vložte do terminálu pomocí shift-ctrl-v | vždy můžete kopírovat a vložit
všechny řádky zobrazené v jednom bloku najednou)
sudo sed -i 's/compress=lzo/compress=zstd/' /usr/share/calamares/modules/fstab.conf sudo sed -i 's/autodefrag/autodefrag,compress=zstd/' /usr/share/calamares/modules/fstab.conf
Terminál necháme otevřený a můžeme přistoupit k samotné instalaci.
Instalace systému
Instalátor Calam-Arch-Installer je založený na instalačním frameworku Calamares, který používají i
jiné linuxové distribuce EndeavourOS, Manjaro, Arcolinux a mnoho dalších.
Instalátor nám položí několik otázek. Nejdříve nastavíme jazyk systému.
Nastavíme časové pásmo.
V dalším kroku vybereme požadované rozložení klvesnice
Nyní přejdeme k rozdělení disku.Nejdříve vytvoříme novou tabulku oddílů a jako typ oddílu
zvolíme GPT zadáním ok,vytvoříme tabulku.
Dále zvolíme ruční rozdělení disku a vytvoříme oddíl 512MB Fat 32 s přípojným bodem /boot a s
příznakem boot. Tímto vytvoříme systémový oddíl EFI.
Na zbytku volného místa vytvoříme souborový systém BTRFS, zaškrtneme šifrování a zvolíme
heslo.
Přípojný bod pro tento oddíl bude /
V dalším kroku vybereme jaké chceme použít grafické prostředí, ovladače grafické karty a nebo
veškeré balíčky pro správu tisku.
V dalším kroku vytvoříme uživatele, heslo pro přihlášení do systému.
Klikneme na další a systém se nám nainstaluje. Po dokončení instalace systém
NERESTARTOVAT,
ale zadáme ještě několik příkazů. Prvním příkazem vytvoříme odkládací prostor. 8G nahradíme
požadovanou velikostí.
swapsize=8G
Po vytvoření oddílu spustíme další příkazy.Stáčí je jen všechny zkopírovat (ctrl+c) a následně vložit
do terminálu (ctrl+shift+v)
sudo mkdir /mnt/btrfs btrfsonluks=`sudo blkid -o device | grep luks` sudo mount -o subvolid=5 $btrfsonluks /mnt/btrfs sudo sed -i 's/compress=zstd 0 1/compress=zstd 0 0/' /mnt/btrfs/@/etc/fstab sudo sed -i 's/compress=zstd 0 2/compress=zstd 0 0/' /mnt/btrfs/@/etc/fstab sudo btrfs subvolume create /mnt/btrfs/@var-cache-pacman-pkg fstabstr=`grep "/home" /mnt/btrfs/@/etc/fstab` fstabstr=${fstabstr//\/home/\/var\/cache\/pacman\/pkg} fstabstr=${fstabstr//@home/@var-cache-pacman-pkg} sudo sh -c "echo $fstabstr >> /mnt/btrfs/@/etc/fstab" sudo btrfs subvolume create /mnt/btrfs/@swap sudo mkdir /mnt/btrfs/@/swap sudo sh -c "printf '\n$btrfsonluks /swap btrfs subvol=@swap,defaults,compress=no 0 0\n' >> /mnt/btrfs/@/etc/fstab" sudo truncate -s 0 /mnt/btrfs/@swap/swapfile sudo chattr +C /mnt/btrfs/@swap/swapfile sudo btrfs property set /mnt/btrfs/@swap/swapfile compression none sudo fallocate -l $swapsize /mnt/btrfs/@swap/swapfile sudo chmod 600 /mnt/btrfs/@swap/swapfile sudo mkswap /mnt/btrfs/@swap/swapfile sudo swapon /mnt/btrfs/@swap/swapfile sudo sh -c "echo '/swap/swapfile none swap defaults 0 0' >> /mnt/btrfs/@/etc/fstab" wget https://raw.githubusercontent.com/osandov/osandov-linux/master/scripts/ btrfs_map_physical.c gcc -O2 -o btrfs_map_physical btrfs_map_physical.c offset=`sudo ./btrfs_map_physical /mnt/btrfs/@swap/swapfile` offset_arr=(`echo ${offset}`) offset_pagesize=(`getconf PAGESIZE`) offset=$(( offset_arr[25] / offset_pagesize )) sudo sed -i "s/loglevel=3/loglevel=3 resume_offset=$offset/" /mnt/btrfs/@/etc/default/grub sudo sed -i "s#loglevel=3#resume=$btrfsonluks loglevel=3#" /mnt/btrfs/@/etc/default/grub sudo sed -i 's/keymap encrypt filesystems/keymap encrypt filesystems resume/' /mnt/btrfs/@/etc/mkinitcpio.conf sudo mkdir /mnt/chroot sudo mount -o compress=zstd,subvol=@ $btrfsonluks /mnt/chroot efidevice=`sudo blkid -o device -l -t TYPE=vfat` sudo mount $efidevice /mnt/chroot/boot/efi sudo arch-chroot /mnt/chroot sudo pacman --noconfirm -S cronie sudo systemctl enable cronie.service sudo grub-mkconfig -o /boot/grub/grub.cfg sudo mkinitcpio -p linux
Nyní můžeme restartovat počítač.
Nový systém
Po restartu a přihlášení do nového systému, musíme nejdřív nainstalovat pomocníka YAY pro AUR
repozitář. V AUR repozitáři se nachází zálohovací program Timeshift.
pacman -S --needed git base-devel git clone https://aur.archlinux.org/yay.git cd yay makepkg -si
Nyní nainstalujeme program Timeshift a potřebné závislosti.
sudo pacman --noconfirm -Syy && yay --noconfirm -S timeshift timeshift-autosnap grub-btrfs
Poté spustíme následující příkazy
sudo cp /etc/timeshift/default.json /etc/timeshift/timeshift.json && fs_uuid=`sudo blkid -o device | grep luks` && fs_uuid=`sudo blkid -o value -s UUID $fs_uuid` && sudo sed -i "s/backup_device_uuid\" : \"/backup_device_uuid\" : \"$fs_uuid/" /etc/timeshift/timeshift.json && fs_uuid=`sudo blkid -o device -l -t TYPE=crypto_LUKS` && fs_uuid=`sudo blkid -o value -s UUID $fs_uuid` && sudo sed -i "s/parent_device_uuid\" : \"/parent_device_uuid\" : \"$fs_uuid/" /etc/timeshift/timeshift.json && sudo sed -i 's/run" : "true/run" : "false/' /etc/timeshift/timeshift.json && sudo sed -i 's/btrfs_mode" : "false/btrfs_mode" : "true/' /etc/timeshift/timeshift.json && sudo sed -i 's/ "include_btrfs_home" : "false",/ "include_btrfs_home_for_backup" : "false",\n "include_btrfs_home_for_restore" : "false",/' /etc/timeshift/timeshift.json && sudo sed -i 's/schedule_daily" : "false/schedule_daily" : "true/' /etc/timeshift/timeshift.json && sudo sed -i 's/schedule_boot" : "false/schedule_boot" : "true/' /etc/timeshift/timeshift.json && sudo sed -i 's/count_boot" : "5/count_boot" : "3/' /etc/timeshift/timeshift.json sudo timeshift --create --comments "1st"
Omezení maximálního počtu snímků
max_snapshots=6
A jako poslední spustgíme příkazy.
sudo sh -c ' cat > /etc/systemd/system/limit-timeshift-snapshots-update-grub.service <<- "EOF" [Unit] Description=Keep only latest max_snapshots timeshift snapshots and update grub.cfg before shutdown Before=poweroff.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=/bin/true ExecStop= [Install] WantedBy=multi-user.target EOF ' && sudo sed -i "s#max_snapshots#$max_snapshots#" /etc/systemd/system/limit- timeshift-snapshots-update-grub.service && sudo sed -i "s#ExecStop=#ExecStop=/usr/bin/sh -c \"cd /run/timeshift/backup/timeshift-btrfs/snapshots/ \&\& rm -rf \`ls -1r | awk 'NR>$max_snapshots'\` \&\& /usr/bin/grub-mkconfig -o /boot/grub/grub.cfg\"#" /etc/systemd/system/limit-timeshift-snapshots-update-grub.service && sudo systemctl enable limit-timeshift-snapshots-update-grub.service && sudo systemctl start limit-timeshift-snapshots-update-grub.service
A je to
nyní máte plně šifrovaný systém Arch Linux, s aumaticky vytvořenými snímky. Stačí jen při
botování vybrat k jakému snímku se potřebujete vrátit.