Arch Linux è annoverata tra le distribuzioni software più flessibili, proprio per via del suo package manager: Pacman. Grazie a Pacman infatti è possibile gestire con semplicità il proprio sistema, non solo a livello di installazione e rimozione software, ma, con un po´ di fantasia, conducendo operazioni più estrose sui pacchetti, e mantenendo la distribuzione in uno stato pulito e coerente.
Quelli che andiamo a introdurre sono dei piccoli trucchi da usare responsabilmente, quindi, poiché forniscono risposte, questo è vero, ma a volte un database dei pacchetti in stato non propriamente allineato può indurre gli script di cui sotto in errore.
Come primo piccolo consiglio, esiste un modo per rimuovere ricorsivamente i pacchetti orfani, fattibile tramite il comando:
# pacman -Rs $(pacman -Qtdq)
Attenzione ai pacchetti che il package manager ci propone per la rimozione: a volte può sbagliare, dato che come tutti i software è fallibile, e se non diamo un´occhiata per bene prima della rimozione, rischiamo di trovarci appiedati al prossimo boot, o anche prima.
Possiamo inoltre ottenere tramite una stringa Bash tutti i pacchetti installati localmente, e il loro peso:
$ LC_ALL=C pacman -Qi | sed -n ´/^Name[^:]*: (.*)/{s//1 /;x};/^Installed[^:]*: (.*)/{s//1/;H;x;s/
//;p}´ | sort -nk2
Questo è utile nel caso in cui lo spazio scarseggi: si può operare chirurgicamente eliminando i software che occupano lo spazio maggiore; inoltre, se proprio dovessimo essere alle strette, possiamo liberarci di qualche dipendenza di troppo utilizzando ABS per ricompilare alcuni software con molte richieste in maniera che abbiano meno dipendenze possibili.
Inoltre, in un sistema sporco sono presenti molti file non controllati da alcun pacchetto. Per ovviare a questo e mantenere il controllo sul nostro filesystem, possiamo ottenere un elenco di questi file sparsi per il disco rigido, tramite questo script da salvare come /usr/local/bin/pacman-disowned:
#!/bin/sh
tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$
db=$tmp/db
fs=$tmp/fs
mkdir "$tmp"
trap ´rm -rf "$tmp"´ EXIT
pacman -Qlq | sort -u & "$db"
find /bin /etc /lib /sbin /usr
! -name lost+found
( -type d -printf ´%p/
´ -o -print ) | sort &; "$fs"
comm -23 "$fs" "$db"
Per generare la lista quindi basterà semplicemente dare da terminale:
$ pacman-disowned & non-db.txt
Attraverso questi piccoli trucchi è possibile mantenere un sistema in ottimo stato anche a distanza di anni e anni dalla sua installazione. Per chi invece avesse appena installato Arch Linux per divertirsi durante questo caldo Agosto, consigliamo fortemente di dare un´occhiata a Pacman Rosetta, ossia una "traduzione" in Pacman di ogni comando comune relativo agli altri maggiori package manager.