Hola, qualche tempo fa vi avevo presentato uno script per linux che con molta fantasia avevo chiamato unrpm. Da quanto si può intuire dal nome, tramite questo script, è possibile estrarre il contenuto dei files rpm. Un paio di giorni fa, mentre svolgevo degli studi personali sul comando cpio (che dovrebbero portarmi a sviluppare un programmino), ho capito che è possibile inviare in input, a tale programma, lo stream binario di un archivio cpio ed, attraverso opportuni parametri, permettere l'estrazione di questo. In poche parole, inviando il risultato di rpm2cpio (che trasforma gli rpm in cpio) al programma cpio è possibile estrarre il contenuto di questo archivio cpio senza dover prima salvare l'archivio sull'hard disk ed in seguito estrarlo con il comando cpio. Dunque questi due comandi
rpm2cpio test.rpm > file.cpio
cpio -i --make-directories --no-absolute-filenames < file.cpio
possono essere scritti in maniera molto più breve e soprattutto efficace in questo modo:
rpm2cpio test.rpm | cpio -imVd
Da ciò ho ricavato uno script molto più efficace per estrerre gli rpm:
if [ -z "$1" ] then echo "Usage:" echo "unrpm MyFile.rpm" else if [ -a "$1" ] then rpm2cpio "$1" | cpio -imVd else echo "ERROR: "$1" doesn't exist." fi fi
Inoltre, dato che c'ero, ne ho approfittato per sistemare la sintassi di alcune parti di questo script.
Se intendete scaricarlo cliccate sul link in fondo all'articolo, estraete il contenuto ed impostate il bit di esecuzione con questo comando:
$ chmod a+x unrpm
UnRpm 0.2 [Scarica]