Aggiungere rapidamente software a una distribuzione live sfruttando i pacchetti Slackware

Ultimamente mi capita con una certa frequenza di utilizzare delle distribuzioni live, in particolare quelle dedicate al recupero dati. Possiedo una chiavetta che ho creato appositamente, contenente una decina di dischi di ripristino e distribuzioni dedicate, chiamata Lemur Toolkit.

Nota: so di avervi promesso il tutorial su come crearla, però poi ci sono stati in mezzo l’Erasmus e altri impegni… prima o poi arriverà!

Tra i suddetti dischi ce ne sono due in particolare che prediligo: Parted Magic e RIPLinux. Entrambe le distribuzioni, come capita spesso, sono leggere e oltre a contenere moltissimi strumenti specifici, contengono poche altre applicazioni essenziali.

Inoltre, può succedere che non contengano le ultime versioni dei software: nel mio caso, per esempio, uso una versione di Parted Magic rilasciata nel 2012 e RIPLinux non viene più mantenuta dallo stesso anno.

Per questi motivi, torna molto utile poter installare applicazioni mancanti o che richiedono un aggiornamento mentre si sta usando la sessione live. Ho cercato un modo di poterlo fare in modo veloce e facilmente replicabile, possibilmente senza repository.

È stato a questo punto che ho scoperto la semplicità dei pacchetti Slackware: sono infatti poco più che “semplici” archivi tar compressi con xz, con aggiunto un piccolo script che svolge l’essenziale per completarne l’installazione. Tendenzialmente sembrano avere poche dipendenze e sui sistemi Slackware si installano con un semplice strumento chiamato installpkg.

Ho creato uno script per usarli anche su altre distribuzioni (RIPLinux, al contrario di Parted Magic, non è basata su Slackware) e devo dire che funziona bene: è una soluzione “sporca” ma veloce che decomprime il pacchetto direttamente nella directory radice del sistema, e se non ci sono librerie mancanti il software si avvia senza problemi! 🙂

Lo script è il seguente:


PKG="$1"
TEMP="`mktemp -d`"

echo "Estraggo i file"
cp "$PKG" $TEMP
cd $TEMP || exit 1
unxz "$PKG"
TARFILE="`ls *.tar`"
cd /
tar -xvf "$TEMP/$TARFILE"
echo "File estratti"
bash "/install/doinst.sh"
rm -rf /install/
rm -rf "$TEMP"
echo "Installazione completata"

Io personalmente lo tengo salvato come myinstall.sh in un disco esterno (o una chiavetta) assieme ad alcuni pacchetti che possono tornare utili. Si può quindi richiamare lo script col comando:

./myinstall.sh [nomepacchetto]

Ricordatevi che è fondamentale eseguirlo come utente root e dovete spostarvi nella directory giusta prima di lanciare il comando.

Ho fatto una prova con RIPLinux, che contiene una versione vecchia di Firefox e un solo font (per di più a larghezza fissa), con un’interfaccia di default del genere:

Navigazione internet con l'interfaccia predefinita di RIPLinux
Navigazione internet con l’interfaccia predefinita di RIPLinux

Ho deciso di installare un paio di pacchetti con dei font di base e una versione non troppo recente, ma comunque moderna, di Google Chrome, assieme al plugin di Flash Player:

L’ultimo pacchetto l’ho usato in quanto la versione di Flash interna a Chrome crasha su alcuni siti, quindi l’ho disattivata da about:plugins, lasciando attiva solo l’altra (NPAPI). Ho anche modificato il file /root/.gtkrc-2.0 cambiando il font: gtk-font-name="Liberation Sans 10". Il browser va lanciato da terminale specificando una cartella del profilo, per esempio col comando google-chrome --user-data-dir=/tmp/chrome.

Il tutto risulta in una navigazione più piacevole:

RIPLinux con Google Chrome e dei font aggiuntivi
RIPLinux con Google Chrome e dei font aggiuntivi

Naturalmente questi sono solo degli esempi, potete scegliere di installare i pacchetti più adatti alle vostre esigenze sulla distribuzione live che state utilizzando, per esempio su Parted Magic si può installare Firefox 25 usando questo pacchetto.

In sintesi, i pacchetti Slackware e il piccolo script che ho postato vi permettono di installare velocemente dei software salvati su una chiavetta o scaricati al momento, che spesso funzionano senza problemi di dipendenze, e questo si può fare su moltissime distribuzioni!