Supponete di trovarvi nella seguente situazione. Avete installato dei pacchetti Debian sulla vostra distribuzione GNU/Linux e volete installare i medesimi pacchetti su un altro PC. Però, per qualche motivo non avete più i binari, ovvero i file .deb
. Magari li avete cancellati dopo l’installazione. Potete scaricarli dai repository, certamente. Però i repository vengono aggiornati regolarmente e magari una specifica versione di un software diventa difficilmente reperibile. A questo scopo nasce dpkg-repack, un package archiving tool utilizzabile da riga di comando che consente di ricreare i pacchetti .deb
quando sono già installati sul vostro sistema.
Avete capito bene. Questo tool porta a termine quello che potremmo definire il processo inverso rispetto all’installazione di un pacchetto. Dal software installato vi genera il pacchetto di installazione. dpkg-repack torna molto utile quando si vuole installare il medesimo pacchetto su molti computer diversi. Vediamo per quali finalità può essere utile dpkg-repack:
- permette di ricreare file
.deb
da pacchetti Debian esistenti; - consente di copiare pacchetti da un sistema all’altro;
- permette di salvare lo stato di un pacchetto prima di aggiornarlo. Se la versione aggiornata dovesse dare problemi di qualche tipo sarà semplice effettuare il ripristino;
- consente di effettuare il backup di un pacchetto per usi futuri.
Come usare dpkg-repack su Debian, Ubuntu e derivate
La prima cosa da fare, inutile dirlo, è installare il tool. Per farlo su Debian, Ubuntu e derivate è sufficiente dare il seguente comando:
sudo apt install dpkg-repack
Detto ciò supponiamo che abbiate installato un’app X:
- dpkg -l | grep X
e che abbiate perso il file .deb dell’app in questione. Potete ricreare il pacchetto .deb in questo modo:
- dpkg-repack X
Se, ad esempio, l’app in questione fosse Microsoft Teams, da poco disponibile per Linux sia in formato .deb
che .rpm
, questo sarebbe l’output dell’operazione:
E, come vi conferma l’immagine qui sotto, il comando ha fatto il suo dovere creando il file “teams_1.3.00.5153_amd64.de’” e posizionandolo nella directory corrente.
Questo è solo un esempio. Potete riconvertire in questo modo qualsiasi pacchetto .deb
. Non solo. Con un unico comando potete andare a ricreare più di un file contemporaneamente:
- dpkg-repack <package1> <package2> <package3>
Se avete problemi di permessi potete provare l’ambiente fakeroot in questo mdo:
- fakeroot -u dpkg-repack X
Una funzione interessante da sapere è che se sono state fatte delle modifiche al package una volta scompattato il package che creerete con il tool erediterà queste modifiche. Potete comunque controllare il contenuto di un file .deb
mediante il seguente comando:
- dpkg –contents X.deb
Per ulteriori dettagli su questo strumento vi rimando alle pagine del manuale:
- man dpkg-repack
Il codice sorgente del tool è disponibile su GitHub.
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.