Přeskočit na hlavní obsah

Šifrovaná instalace Arch Linux pomocí Calam-Arch-Installer

·910 slov·5 min
Autor
Arch Linux CZ
Návody, novinky a podpora pro uživatele Arch Linuxu v češtině.

Ú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.

výběr jazyka

Nastavíme časové pásmo.

výběr časového pásma

V dalším kroku vybereme požadované rozložení klvesnice

rozložení klávesnice

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.

Vytvoření tabulky GPT

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.

ruční rozdělení disku

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 /

Oddíl BTRFS

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.

vytvoření uživatele

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 $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.

nový systém