Come installare Arch Linux
Arch Linux è rinomato per il suo macchinoso processo command-base di configurazione. Una volta presa familiarità con i comandi da eseguire è più semplice di quanto si pensa.
l’ISO di Arch Linux include uno script chiamato archinstall che aiuta ulteriormente la configurazione, questa guida si concentrerà più sulla modalità standard1.
se utilizzate lo script archinstall vi ricordo che tutte gli user (primari e secondari) e le password del disk encryption saranno salvate in plain text, quindi visibili su un file.
Download Arch Linux
Scarica al seguente link il file iso. scrivi l’ISO su una chiavetta USB e selezionare il boot tramite quest’ultima. Se prevedi di installarlo su una macchina virtuale, necessiti esclusivamente del file iso.
è buona abitudine verificare per questo genere di file il checksums dell’ISO per confermare che file scaricato sia genuino e sicuro.
Step Preliminari
Avere una connessione attiva ad internet è necessario per completare l’installazione. Via cavo ethernet e ottenendo l’ip tramite DHCP dovrebbe funzionare automaticamente. Generalmente per una connessione wireless c’è da configurare manualmente.
Per controllare, basta eseguire un ping:
1
ping archlinux.org
Se escono errori di questo tipo ( es. “Temporary failure in name resolution” - la mancata risoluzione del nome host) usiamo il comando iwctl. verifichiamo il nome della nostra interfaccia wireless eseguendo device list. il nome dell’interfaccia inizierà con una “w” (es. wlan0 o wlp2s0)
Con i seguenti comandi effetueremo uno scan per trovare l’SSID della nostra rete wireless e connetterci. Rimpiazzate [device] e [SSID] nei comandi rispettivamente con i nomi della vostra interfaccia wirless e nome rete Wi-Fi.
1
2
iwctl station [device] get-networks
iwctl station [device] connect [SSID]
Il Sistema vi chiederà poi la password per connettervi. Una volta collegati abiliteremo la sincronizzazione dell’ora dalla rete con il seguente comando:
1
timedatectl set-ntp true
Setup Layout della Tastiera
Di default, sarà configurata il layout della tastiera US (americana). Per effettuare il controllo di quelli disponibili basta eseguire il seguente comando:
1
ls /usr/share/kbd/keymaps/*/.map.gz
con
1
loadkeys it
sceglieremo quello italiano.
Partizione dei Dischi UEFI
Verificate se il vostro sistema utilizza la modalità UEFI.
1
ls /sys/firmware/efi/efivars
Se, il risultato resituisce una cartella non esistente, vuol dire che il sistema potrebbe essere stato avviato in modalità BIOS o CSM.
per verificare, dovete vedere i parametri della vostra scheda madre o se state virtualizzando ci sono dei parametri da spuntare/dichiarare (es. con virtualbox nelle impostazioni della vostra macchina virtuale Sistema > Scheda Madre > Funzionalità estese: spuntare Abilita EFI)
con il comando
1
fdisk -l
identificherete i vostri dischi, la nomenclatura di solito funziona così per gli HDD uscirà come /dev/sda, per SSD come /dev/nvme0n1 e per SD card e eMMC disk /dev/mmcblk0.
(sostituire [DEVICE] con il nome del vostro disco identificato con il comando poco sopra)
1
fdisk /dev/[DEVICE]
generalmente avrai la necessità di creare tre partizioni, EFI (se supportata dal vostro sistema), root, e la swap.
una volta lanciata l’utility fdisk
con m potrete visualizzare i vari comandi disponibili nell’utility:
la prima cosa da dichiarare è la label del disco nel nostro caso utilizzeremo g per dichiarare una GPT table
successivamente creremo le nostre partizioni, specificando per ogni nuova partizione con il tasto con n
Rimanete con il block size e numero del disco di default , e quando vi verrà chiesto impostate per la partizione EFI, all’incirca +512M di spazio.
andremo poi a cambiare il tipo della partizione ad EFI System (di default creerà partizioni Linux filesystem).
Con t definiremo il tipo di partizione. Con l vedremo una lista di tipologie di partizioni disponibili e inserite il corretto numero a seconda della vostra tipologia di partizione scelta.
per l’EFI è 1, per la swap basterà scrivere l’alias swap o 19 e per la root - Linux root x86_64 che corrisponde a 24
con il tasto w andremo a confermare le nostre partizioni
il risultato sarà 3 partizioni:
Partizione | Tipologia | Dimensione |
---|---|---|
/dev/sda1 | EFI System | +512M |
/dev/sda2 | Linux Swap | +1G o +2G all’incirca |
/dev/sda3 | Linux root x86_64 | il restante spazio a disposizione del disco |
Formattare le Partizioni
per la partizione EFI in FAT32
1
mkfs.fat -F32 /dev/sda1
per la root in ext4
1
mkfs.ext4 /dev/sda3
questo per formattare e abilitare la swap
1
2
mkswap /dev/sda2
swapon /dev/sda2
Se state configurando per un dual-booting con Windows, fate attenzione alla dichiarazioni delle partizioni. Soprattuto quando formattate o ne create di nuove, dato che anche un piccolo errore potrebbe rendere il vostro sistema Windows non più utilizabile.
Partizione dei Dischi (UEFI con encryption e LVM)
per vedere partizioni/drive sulla tua macchina (trovare il nome del tuo hard disk/ssd)
1
fdisk -l
far partire il partizionamento (fdisk
)
1
fdisk /dev/<DEVICE> (sostituisci <DEVICE> con il nome del tuo drive, possibili esempi: /dev/sda (HD) o /dev/nvme0n1 (SSD))
Mostrare le ulteriori partizioni inserire:
1
In fdisk, p
Crea partizione EFI inserire:
1
2
3
4
5
6
7
In fdisk, g (creare partizione GPT)
In fdisk, n
invio
invio
+512M
In fdisk, t
1 (per type EFI)
creare la partizione boot
1
2
3
4
In fdisk, n
invio
invio
+512M
Creare la partizione LVM
1
2
3
4
5
6
7
In fdisk, n
invio
invio
invio
In fdisk, t
invio
30
Verifica nuovamente la partizione
1
In fdisk, p
Finalizza le modifiche con:
1
In fdisk, w
Formattare le Partizioni (UEFI con encryption e LVM)
Formattare la partizione EFI
1
mkfs.fat -F32 /dev/<DEVICE partizione 1> (esempio: /dev/sda1)
Formatta la partizione di boot
1
mkfs.ext4 /dev/<DEVICE partizione 2> (esempio: /dev/sda2)
Configurare l’encryption dei dischi:
1
2
cryptsetup luksFormat /dev/<DEVICE partizione 3>
cryptsetup open --type luks /dev/<DEVICE partizione 3> lvm
Configurare LVM
1
2
3
4
5
6
7
pvcreate --dataalignment 1m /dev/mapper/lvm
vgcreate volgroup0 /dev/mapper/lvm
lvcreate -L 30GB volgroup0 -n lv_root
lvcreate -L 250GB volgroup0 -n lv_home (oppure usa "-L 250GB" per specificare il size, con "-l 100%FREE" utilizza tutto lo spazio disponibile rimasto).
modprobe dm_mod
vgscan
vgchange -ay
formattare la partizione di root
1
mkfs.ext4 /dev/volgroup0/lv_root
Mount della partizione root
1
mount /dev/volgroup0/lv_root /mnt
create la directory dove montare la partizione boot:
1
mkdir /mnt/boot
Mount partizione di boot
1
mount /dev/<DEVICE partizione 2> /mnt/boot
Formattazione della partizione home
1
mkfs.ext4 /dev/volgroup0/lv_home
Creare il mount point della aprtizione home
1
mkdir /mnt/home
Mount del volume home
1
mount /dev/volgroup0/lv_home /mnt/home
Creare dirctory /etc
1
mkdir /mnt/etc
Creare il /etc/fstab file
1
genfstab -U -p /mnt >> /mnt/etc/fstab
Controllare /etc/fstab file
1
cat /mnt/etc/fstab
Installare e Configurare il sistema
Per installare Arch sul tuo hard disk, dobbiamo montare le partizioni nelle directory appropiate. Montiamo la root (/dev/sda3 o dove configurata la partizione root) nella directory /mnt.
1
mount /dev/sda3 /mnt
e installiamo i pacchetti base linux
1
pacstrap /mnt base linux linux-firmware
Opzionali, per i pacchetti LTS:
1
pacstrap /mnt linux-lts linux-lts-headers
Una volta terminato, generate il file system table usando genfstab.
1
genfstab -U /mnt >> /mnt/etc/fstab
Arch Linux è su e pronto nella directory /mnt. Per accedere a root:
1
arch-chroot /mnt
per impostare il time locale della macchina creiamo un link simbolico (sostituite [Region] e [City] a seconda della vostra posizione):
1
ln -sf /usr/share/zoneinfo/[Region]/[City] /etc/localtime
per sincronizzare l’orologio usiamo
1
hwclock --systohc
prima di continuare installiamo alcuni pacchetti tra cui uno degli editor:
1
pacman -S vim nano
pacchetti networking:
1
pacman -S networkmanager wpa_supplicant wireless_tools netctl
richiesti per wifi-menu:
1
pacman -S dialog
opzionale per aggiungee supporto al LVM
1
pacman -S lvm2
modificate il file “/etc/locale.gen” a seconda del vostro editor e decommentate a seconda della vostra necessità. Nel nostro caso it_IT.UTF-8 UTF-8 usando Vim.
1
vim /etc/locale.gen
dopo la modifica eseguite locale-gen nel terminale per confermare la configurazione
Rinominiamo come volete l’hostname della nostra macchina:
1
vim /etc/hostname
andiamo a definire nel seguente file gli hostname:
1
vim /etc/hosts
Ricorda di rimpiazzare hostname dichiarando nel file l’hostname scelto con il comando precedente.
1
2
3
127.0.0.1 localhost
::1 localhost
127.0.1.1 [hostname].localdomain [hostname]
Creare e Configurare Utenti
cambiamo la password di root eseguendo il comando passwd. Poi create ulteriori utenti non-root rimpiazzando [username] con un nome a tua scelta:
1
useradd -m [username]
configuriamo una password per l’utente:
1
passwd [username]
e aggiungiamolo a vari gruppi d’interesse
1
usermod -aG wheel,video,audio,optical,storage [username]
installiamo sudo per permettere agli utenti inseriti nel gruppo wheel di prendere i privilegi di root
1
pacman -S sudo
e con il comando visudo
andremo a rimuovere il # sulla riga %wheel ALL=(ALL) ALL
se avrete problemi con gli editor potete scrivere come comando EDITOR=nano o vim visudo per definire l’editor di testo da usare con il visudo
Configurare GRUB Bootloader
installiamo il pacchetto grub con pacman
1
pacman -S grub
e pacchetti addizionali per permettere il corretto funzionamento del bootloader
1
pacman -S efibootmgr dosfstools os-prober mtools
Montiamo la nostra partizione EFI (/dev/sda1) sul filesystem /boot/EFI. Da creare prima con il comando mkdir.
1
2
mkdir /boot/EFI
mount /dev/sda1 /boot/EFI
eseguiamo il grub-install script per configurare il bootloader nella directory.
1
grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=grub
generiamo la configurazione GRUB usando grub-mkconfig:
1
grub-mkconfig -o /boot/grub/grub.cfg
e ramdisk environment iniziale
1
mkinitcpio -p linux
adesso potete installare ogni possibile pacchetto mancante come il dhcpd e abilitare i vari servizi come:
1
systemctl enable NetworkManager
in fine, rimuovete le mount
1
2
3
umount /mnt/boot
umount /mnt
reboot
Desktop Environment per Arch (xfce4)
A differenza di altre distro linux, arch linux non ne ha una propria preinstallata ma se ne possono comunque installarne diverse. In questo esempio userò xfce4
1
sudo pacman -S xorg
Se installate su macchina virtuale (con virtual box ad esempio) installate i seguenti pacchetti opzionali:
1
sudo pacman -S virtualbox-guest-utils xf86-video-vmware
andiamo ad installare l’environment scelto:
1
sudo pacman -S xfce4 xfce4-goodies
e la schermata base di login utente
1
sudo pacman -S lightdm lightdm-gtk-greeter
1
sudo systemctl enable lightdm
al reboot del sistema avrete la vostra interfaccia grafica.
Per AMD CPU
1
sudo pacman -S amd-ucode
Per Intel CPU
1
sudo pacman -S intel-ucode
Supporto 3D per Intel o AMD GPU
installare il pacchetto mesa:
1
sudo pacman -S mesa
Opzionali Intel GPU
1
sudo pacman -S libva-intel-driver vulkan-intel xf86-video-intel
Opzionali AMD GPU
1
sudo pacman -S xf86-video-amdgpu opencl-mesa amdvlk
Nvidia GPU
1
sudo pacman -S nvidia nvidia-utils
nvidia-lts se avete installato la versione LTS del kernel:
1
sudo pacman -S nvidia-lts
Per ogni configurazione di driver e pacchetti/applicazioni prendete altamente in considerazione il seguente link