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!

6 pensieri su “Aggiungere rapidamente software a una distribuzione live sfruttando i pacchetti Slackware

  1. Ciao Andrea,
    ho una domanda riguardo il livello di personalizzazione.
    Come posso fare in modo di avere delle icone create da me sul desktop (saranno principalmente dei collegamenti)?
    Inoltre. La distro che ho costruito sarà di “emergenza” per i pc di una rete che usano un proxy per la connessione web.
    Come posso quindi fare in modo che distro, una volta inserito il cd e avviata, abbia firefox già configurato con i parametri del proxy ed un collegamento ad un rdp tramite icona sul desktop?
    Insomma…. deve essere a prova di…. “diversamente tecnologici”
    Grazie
    G.

  2. ho una domanda riguardo il livello di personalizzazione

    In questo caso se ho capito bene tu stai parlando di personalizzazione preventiva (cioè in fase di creazione della ISO e non a sistema avviato). Questa è un’altra branca molto interessante della realizzazione di distro avviabili.🙂

    Come posso fare in modo di avere delle icone create da me sul desktop (saranno principalmente dei collegamenti)?

    Praticamente tutti i DE supportano lo standard freedesktop relativo ai collegamenti, quindi la cosa più comoda è copiarti i collegamenti alle applicazioni che vuoi da /usr/share/applications/ a /etc/skel/Desktop (skel è la cartella “base” usata come home directory di qualsiasi utente creato sul sistema).🙂 Chiaramente puoi anche fare dei link simbolici usando il solito comando ln -s.

    Come posso quindi fare in modo che distro, una volta inserito il cd e avviata, abbia firefox già configurato con i parametri del proxy

    Hai due opzioni, o crei nel suddetto skeleton una cartella profilo di Firefox già configurata, oppure imposti il proxy a livello di sistema. Scegli tu la strada che ti sembra più opportuna.🙂

Che cosa ne pensi?

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...