Magazine Tecnologia

Unrpm: estrarre il contenuto dai pacchetti rpm

Creato il 14 settembre 2010 da Faster

Unrpm: estrarre il contenuto dai pacchetti rpm

Ultimamente mi sono interessato alla pacchettizzazione di software su Fedora attraverso il sistema rpm per creare dei pacchetti di Converseen per questo sistema operativo. Non spiegherò in questa sede come si pacchettizza un software (anche perché è una procedura molto complicata e sarebbe meglio rivolgersi a google piuttosto) bensì come estrarne il contenuto attraverso il terminale.

Premetto che è vero che, File Roller, il programma di archiviazione di default di Gnome è capace di estrarre il contenuto degli rpm. Ma siccome sul terminale è più divertente e Ark non estrae gli rpm spiegherò come compiere questa procedura attraverso rpm2cpio e cpio.

Mettiamo che l'rpm da estrarre sia test.rpm

Basta dare i comandi:

rpm2cpio test.rpm > file.cpio
cpio -i --make-directories --no-absolute-filenames < file.cpio

Il primo comando converte l'rpm in archivio cpio mentre il secondo ne estrae il contenuto preservando l'intero albero delle cartelle.

 

Ieri pomeriggio, in preda al cazzeggio più estremo, ho immaginato che realizzando questo script sarebbe stato tutto più facile:

if [ $1 == "" ]
then
echo "Usage:"
echo "unrpm MyFile.rpm"
else
if [ -f $1 ]
then
rpm2cpio $1 > file.cpio
cpio -i --make-directories --no-absolute-filenames < file.cpio
rm -f file.cpio
else
echo "ERROR: $1 doesn't exist."
fi
fi

 

Attraverso questo script è possibile estrarre l'rpm attraverso la sinstassi:

./unrpm test.rpm

Scarica lo script da qui e imposta il bit di esecuzione!



Potrebbero interessarti anche :

Ritornare alla prima pagina di Logo Paperblog

Possono interessarti anche questi articoli :

Dossier Paperblog

Magazine