Un salto nel Void

01/07/23 (aggiornamento 02/01/24) | ~ 6 minuti

Non si vive di solo Systemd

Il distro hopping è una brutta bestia, ma per un po' ne sono stato immune; Arch Linux mi ha ruffianamente catturato con il suo minimalismo ed un'inaspettata quanto gradita semplicità di utilizzo.
Perchè allora cambiare? Troppo facile rimanere in un porto sicuro? Si, ma anche per via di Systemd e delle sue presunte contraddizioni.
Secondo alcuni (brutta premessa, ma si tratta pur sempre di opinioni, forse) il sistema di init più famoso e diffuso in ambito Linux non rispetterebbe i principi fondamentali della filosofia Unix.
Di che si tratta? Per farla breve ci sono almeno due punti cardine che vengono beatamente ignorati:

I vantaggi concreti

A prescindere da filosofie e correnti di pensiero, utilizzare una distro priva di Systemd comporta alcuni vantaggi oggettivi in termini di velocità.
L'aspetto più lampante sarà quello di ottenere un boot più rapido. Anche la reattività del sistema ne gioverà, per via di un minore impiego di RAM (si guadagnano comunque pochi MB risparmiati). Non meno importante, la riduzione della superficie d'attacco e l'uso di pacchetti meno comuni potrebbe impattare positivamente sulla sicurezza.

Void Linux

Ma veniamo a noi. Void Linux è una distribuzione indipendente di origine spagnola di tipo rolling release.
Le sue peculiarità sono un approccio piuttosto minimalista e l'uso del sistema di init Runit, insieme al package manager Xbps.

Il ciclo di rilascio rolling release, un'init leggero e veloce, un gestore di pacchetti rapido e orientato anche alla compilazione da codice sorgente, sono i biglietti da visita perfetti per una distro snella ed essenziale. Effettivamente le promesse vengono mantenute.

La gestione dei servizi

In Void la gestione dei servizi è basata su un meccanismo di link simbolici.
Tutti i servizi sono elencati all'interno della cartella /etc/sv. I servizi attualmente attivi hanno un collegamento dentro la cartella /var/service.

Per consuetudine la rappresentazione dei comandi da impartire con sudo o con l'utente root avviene con il prefisso "# ", che non va digitato nella shell. Come di consueto, la descrizione si riferisce al comando soprastante.

Qualche esempio: # ln -s /etc/sv/lightdm /var/service/ Attiva il servizio di Lightdm. # rm /var/service/lightdm Disattiva, ossia elimina il link simbolico, il servizio di Lightdm.

Installare, rimuovere ed aggiornare i pacchetti

Xbps, nonostante sia stato scritto da zero dagli sviluppatori di Void Linux, non ha nulla da invidiare a Pacman o ad altri gestori di pacchetti. Vediamo i comandi principali:

# xbps-query -Rs nome_pacchetto Effettua una ricerca all'interno dei repo. # xbps-install nome_pacchetto Non credo ci sia bisogno di spiegarlo, ma è il comando principale per l'installazione. # xbps-remove -R Disinstalla un pacchetto e le sue dipendenze non più necessarie al sistema. # xbps-install -Su Avvia l'aggiornamento del repository, di tutti i pacchetti e del sistema (in quanto rolling release).

Non male la possibilità di abilitare i repository nonfree semplicemente installando il pacchetto void-repo-nonfree.

Un'adorabile documentazione

Se uno dei punti di forza di Arch Linux è sicuramente la wiki, la documentazione di Void non è da meno.
Essenziale e concisa, affronta tutti gli argomenti più rilevanti per l'installazione e la configurazione della distro. Per dovere di cronaca segnalo che sono presenti anche molte pagine di manuale (quelle che trovereste con il comando man) e una wiki un po' frammentata e dispersiva.

Criticità riscontrate

Non ho maturato ancora abbastanza "ore di volo" con Void per stilare una vera e propria lista di difetti, ma durante il mio utilizzo ho riscontrato qualche piccola criticità.

Un problema noto, ad esempio, è che l'installer dell'attuale iso (che vengono rigenerate annualmente?) obbliga l'attivazione della password per l'account root e non crea l'utente standard indicato, conviene saltare direttamente il passaggio in questione (ho verificato che si può omettere la creazione dell'utente non amministrativo, e poi farlo a sistema operativo installato).
In generale l'installer è ancora spartano e migliorabile.

Se si disattivano i servizi legati alle tty, riattivandoli si perde il contenuto all'interno della loro cartella. È fondamentale fare preventivamente un backup e assegnargli un nome che non termini con "tty_numero".
Restando in tema di servizi, ho trovato molto difficoltoso intervenire in chroot per la loro gestione. La cartella /var/service/, infatti non è modificabile finchè Runit non ha avviato il suo processo primario.
La cartella /var/service a sistema non avviato è raggiungibile in /etc/runit/runsvdir.

Segnalo infine che la sincronizzazione dell'orario (forse per un mio errore, ma comunque seguendo tutte le indicazioni della documentazione) non è immediata, ma impiega qualche minuto dall'avvio del sistema per allinearsi correttamente.

Sebbene sia una distro meno semplice da configurare, Void è la mia perfetta candidata per i laptop, da affiancare ad Arch sul fisso.