Installare Artix Linux (con runit, criptando la cartella root)

Introduzione

Artix Linux è una distribuzione rolling-release basata su Arch Linux che invece di systemd utilizza come init OpenRC, runit, s6 o Dinit. In questa guida vedremo come installarla criptando la cartella root per maggiore sicurezza del sistema, utilizzeremo la versione con runit.

1. Scaricare l’immagine .iso e scriverla su una chiavetta USB

Inserisci la USB drive nel terminale e digita

lsblk

Riconoscerai la tua USB drive, nel mio caso è ‘sdb’, dobbiamo scrivere il file .iso su questa chiavetta.

Screenshot_20230408_111733

Vai sulla pagina download del sito artixlinux.org, scarica l’iso artix-base-runit-data release-x86_64.iso: Screenshot_20230408_112709

Entra in modalità amministratore

su

Apri il terminale nella cartella dove hai scaricato l’.iso, altrimenti trascina l’.iso nel terminale dopo aver digitato ‘dd if=’ e incollerà direttamente nel terminale tutto il percorso.

dd if=file.iso of=/dev/sdX status=progress bs=2M

Nel mio caso dopo aver aperto il terminale nella cartella Downloads scriverò:

dd if=artix-base-runit-20230401-x86_64.iso of=/dev/sdb status=progress bs=2M

Attendi qualche minuto finchè non comparirà un messaggio come questo

Screenshot_20230408_114828.png

2. Installazione

  1. Inserisci la chiavetta USB nel computer dove desideri installare Artix
  2. Avvia da chiavetta USB (dipende dal bios, nel mio Thinkpad premo F12 al boot)
  3. Scorri fino a keytable e premi invio, scegli it
  4. Scorri fino a ‘From Stick/HDD: artix.x86_64’ e premi invio
  5. Entra con le credenziali del live environment
artixlinux login: artix
Password: artix
  1. Premi Ctrl+L
  2. Adesso dobbiamo connetterci al Wi-Fi, digita questi comandi:
su
rfkill unblock wifi
ip link set wlan0 up
connmanctl

Adesso digita solo ciò che è scritto a destra di ‘connmanctl>’

connmanctl> scan wifi
connmanctl> services

Troverai la lista di network Wi-Fi nelle vicinanze, adesso digita

connmanctl> agent on

Vedrai scritto

Agent Registered

Scegli il tuo network Wi-Fi, ci interessa il nome a destra (‘wifi_1234…’), digita

connmanctl> connect wifi

E premi il tasto Tab sulla tastiera (⇆) per non doverlo scrivere tutto a mano, ti comparirà la prima parte del codice, scrivi i primi numeri del tuo network e ripremi Tab per l’autocompletamento di tutto il nome. Premi invio.

Passphrase?

Inserisci la password del tuo Wi-Fi, poi usciamo digitando

connmanctl> quit

Testiamo la connessione digitando

ping google.com

Interrompiamo con Ctrl-C 10. Occupiamoci delle partizioni

lsblk

Adesso eliminiamo le partizioni presenti. Eventualmente sostituire sda col vostro volume.

fdisk /dev/sda
Command (m for help): d

Se ci sono più partizioni il comando ’d’ andrà dato finchè non compare questo messaggio No partition is defined yet!. Adesso creiamo le nuove partizioni.

Command (m for help): n

Dobbiamo scegliere il tipo di partizione, basta premere invio per scegliere p (primary)

Select (default p):

Premiamo di nuovo invio per default 1.

Partition number (1-4, default 1):

Ancora invio per default 2048

First sector (..., default 2048):

A Last sector digitiamo invece +1G per creare una partizione /boot di 1G

Last sector: +1G

Rispondiamo Y ad eventuali domande. Adesso dobbiamo creare la partizione /root

Command (m for help): n

Dopodichè premete invio ad oltranza (4 volte) perché per la seconda partizione vanno bene le opzioni di default. Rispondere Y ad eventuali domande. Scrivere con il comando write

Command (m for help): write

Puliamo con Ctrl+L e formattiamo la partizione boot (nel mio caso /dev/sda1)

mkfs.fat -F32 /dev/sda1

Adesso dobbiamo criptare la partizione /root (nel mio caso /dev/sda2). In altre installazioni di distribuzioni Arch ho criptato l’hard disk direttamente dall’installer Calamares, ma ciò risultava in un’estrema lentezza ad ogni avvio nel decriptare l’hard disk.

cryptsetup luksFormat /dev/sda2

Conferma digitando YES e scegli la password per la decriptazione.

Adesso apriamo la partizione criptata con

cryptsetup open /dev/sda2 sda2_encrypted

Inserisci la password che hai scelto prima, per scrivere sulla partizione criptata bisogna infatti fare l’accesso attraverso il nome mappato del dispositivo (sda2_encrypted). Adesso possiamo creare un file system per la partizione.

mkfs.btrfs /dev/mapper/sda2_encrypted 

E montare la patizione /root

mount /dev/mapper/sda2_encrypted /mnt

E quella /boot

mkdir /mnt/boot
mount /dev/sda1 /mnt/boot/

Controlliamo con lsblk

lsblk

Questa è la foto del risultato ottenuto nel mio caso P20230408_16_07.jpg

  1. Adesso installiamo i pacchetti necessari (il comando sarà basestrap e non pacstrap come su Arch), digita nel terminale:

basestrap -i /mnt base base-devel runit elogind-runit linux linux-firmware grub networkmanager networkmanager-runit cryptsetup lvm2 lvm2 runit neovim vim nano

  1. Finita l’installazione entriamo nella sessione di Artix che stiamo installando
artix-chroot /mnt bash
  1. Impostiamo il nostro fuso orario
ln -sf /usr/share/zoneinfo/Europe/Rome /etc/localtime

Eseguiamo hwclock per generare /etc/adjtime:

hwclock --systohc
  1. Configuriamo la localizzazione e il layout di tastiera

Apriamo /etc/locale.gen e decommentiamo (togliendo #) it_IT.UTF-8 UTF-8

nano /etc/locale.gen

Generiamo le localizzazioni digitando

locale-gen

Adesso impostiamo la relativa variabile LANF in locale.conf che creiamo con

nano /etc/locale.conf 

In questo file vuoto dobbiamo scrivere

LANG=it_IT.UTF-8

Adesso digitiamo

nano /etc/vconsole.conf

E settiamo il layout di tastiera scrivendo nel file vuoto:

KEYMAP=it
  1. Creiamo l’host name
echo "hostname" > /etc/hostname

Controlliamo

cat /etc/hostname
  1. Modifichiamo il file hosts
nano /etc/hosts
127.0.0.1        localhost
::1              localhost
127.0.1.1        miohostname.localdomain  miohostname
  1. Adesso diciamo ad Artix di far partire networkmanager ad ogni boot
ln -s /etc/runit/sv/NetworkManager /etc/runit/runsvdir/default/

Nota importante: l’unica volta in cui colleghi un servizio a /etc/runit/runsvdir/default/ è durante la prima installazione come adesso, dal primo avvio in poi li devi collegare solo a /run/runit/service

  1. Scegli una password per root
passwd
  1. Aggiungiamo un user
useradd -G wheel -m nomeutente

Scegli una password per l’utente

password nomeutente

E adesso per l’autologin

nano /etc/runit/sv/agetty-tty1/conf

E aggiungi a GETTY_ARGS="–noclear –autologin nomeutente"

  1. Modifichiamo mkinitcpio.conf
nano /etc/mkinitcpio.conf

Aggiungi ’encrypt’ e ’lvm2’ separati da uno spazio, tra ‘block’ e ‘filesystems’

mkinitcpio -p linux
exit
lsblk -f >> /mnt/etc/default/grub
fstabgen -U /mnt >> /mnt/etc/fstab
artix-chroot /mnt bash
  1. Per questo passaggio ci serve una minima conoscenza del programma di scrittura vim, riporterò comunque ogni azione da effettuare, vi consiglio comunque di aprire un terminale e scrivere vimtutor per un breve tutorial su come usare vim
vim /etc/default/grub

Vai in fondo al file fino all’ultima riga e premi d sulle righe che vuoi cancellare, ovvero tutte tranne la riga che comincia per sda2 e per sda2_encrypted, se sbagli qualcosa e vuoi uscire da vim senza salvare digita ‘:q!’, adesso che hai queste due righe vai di nuovo in fondo al file all’ultima lettera premi esc e poi il tasto v per selezionare le due righe, adesso che le due righe sono selezionate premi d, hai tagliato il testo

Vai in cima al file e portati nella riga vuota sotto GRUB_CMDLINE_LINUX"", premi p (paste), adesso premi i (modalità inserimento testo in vim) e commenta con # le due linee, premi esc, portati sulla prima lettera dell’identificativo di sda2, premi v, seleziona tutto l’identificativo, premi y (copia)

Vai su GRUB_CMDLINE_LINUX_DEFAULT=“loglevel=3 quiet”, premi i e dopo ‘quiet’ aggiungi uno spazio e scrivi ‘cryptdevice=UUID=’, premi esc e poi p per incollare l’identificativo di sda2, adesso continua a scrivere premendo i e aggiungi subito dopo al codice identificativo senza spazi ‘:cryptlvm root=UUID=’ fai la stessa cosa di prima selezionando il testo stavolta dalla seconda riga che inizia per sda2_encrypted (esc e poi v, seleziona testo e premi y) e copiandolo con p subito dopo UUID=, un esempio:

GRUB_CMDLINE_LINUX_DEFAULT=“loglevel=3 quiet cryptdevice=UUID=testocopiatodallaprimariga:cryptlvm root=UUID=testocopiatodallasecondariga”

Premi esc, poi digita :wq per salvare e uscire.

Cliccando qui potete vedere come vengono effettuate le operazioni di quest’ultimo passaggio Install Artix or Arch Linux (Encrypted system)

  1. Installa grub
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
  1. Abbiamo finito! Digita Ctrl+D e reboot now, adesso puoi togliere la chiavetta USB
  2. Al riavvio digita la password che hai scelto per decriptare il drive
  3. Adesso per connetterci ad internet con Networkmanager digitiamo:
nmcli device wifi list
nmcli device wifi connect *SSIDoppureBSSID* password *tuapassword*
sudo nano /etc/X11/xorg.conf.d/00-keyboard.conf
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "it"
        Option "XkbModel" "pc105"
        Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
su
usermod -aG wheel dilfal
nano /etc/sudoers

Togli il commento a

%wheel  ALL=(ALL)       ALL

LARBS

curl -LO larbs.xyz/larbs.sh sh larbs.sh

https://larbs.xyz/

Installazione di XFCE

pacman -S xfce4 xfce4-goodies

Installazione di KDE

pacman -Syuu
pacman -S plasma kde-applications
pacman -S sddm-runit
pacman -S plasma-nm plasma-pa dolphin konsole kdeplasma-addons kde-gtk-config kscreen mpv gwenview kate 
ln -s /etc/runit/sv/sddm-runit /run/runit/service

Installare yay

yay brave bin

Documentazione e video consultati per questa guida:

  1. Artix Wiki - Installation
  2. Arch Linux - Guida di installazione
  3. Install Artix or Arch Linux (Encrypted system)
  4. Artix Linux Full Install with runit

Related
Arch