web analytics

[GUIDA] dpkg-repack: ricreare i pacchetti .deb dopo averli installati

Linux

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:

dpkg-repack linux teams
dpkg-repack in azione

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.

dpkg-repack linux teams debian
Pacchetto creato con dpkg-repack

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.

sharing-caring-1Seguiteci 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.