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.
Vai sulla pagina download del sito artixlinux.org, scarica l’iso artix-base-runit-data release-x86_64.iso:
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
2. Installazione
- Inserisci la chiavetta USB nel computer dove desideri installare Artix
- Avvia da chiavetta USB (dipende dal bios, nel mio Thinkpad premo F12 al boot)
- Scorri fino a keytable e premi invio, scegli it
- Scorri fino a ‘From Stick/HDD: artix.x86_64’ e premi invio
- Entra con le credenziali del live environment
artixlinux login: artix
Password: artix
- Premi Ctrl+L
- 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
- 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
- Finita l’installazione entriamo nella sessione di Artix che stiamo installando
artix-chroot /mnt bash
- Impostiamo il nostro fuso orario
ln -sf /usr/share/zoneinfo/Europe/Rome /etc/localtime
Eseguiamo hwclock per generare /etc/adjtime:
hwclock --systohc
- 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
- Creiamo l’host name
echo "hostname" > /etc/hostname
Controlliamo
cat /etc/hostname
- Modifichiamo il file hosts
nano /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 miohostname.localdomain miohostname
- 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
- Scegli una password per root
passwd
- 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"
- 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
- 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)
- Installa grub
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
- Abbiamo finito! Digita Ctrl+D e reboot now, adesso puoi togliere la chiavetta USB
- Al riavvio digita la password che hai scelto per decriptare il drive
- 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
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
yay brave bin
Documentazione e video consultati per questa guida:
- Artix Wiki - Installation
- Arch Linux - Guida di installazione
- Install Artix or Arch Linux (Encrypted system)
- Artix Linux Full Install with runit
Arch