GNU/Linux >> Linux Esercitazione >  >> Debian

Ricrea i pacchetti binari Debian che sono già installati su un sistema

Questa breve guida introduce un'utile utility chiamata dpkg-repack , che viene utilizzato per ricreare i pacchetti binari Debian che sono già installati su un sistema basato su Debian.

Cos'è dpkg-repack?

Immagina questo scenario. Hai installato alcuni pacchetti sul tuo sistema basato su Debian. E vuoi installare gli stessi pacchetti su un altro sistema. Ma hai perso gli archivi binari, ovvero i file deb. Li scaricheresti di nuovo dal loro sito Web o repository ufficiale?

Cosa succede se la versione particolare di un pacchetto specifico non è più disponibile altrove? Nessun problema! Poiché sono già installati sul tuo sistema, puoi facilmente ricreare il .deb File. Saluta dpkg-repack !

Il dpkg-repack è uno strumento di archiviazione dei pacchetti Debian a riga di comando per ricreare i pacchetti binari Debian che sono già installati sul tuo sistema.

In parole povere, dpkg-repack l'utilità può creare un .deb file da un pacchetto debian che è già installato sul tuo sistema.

Il dpkg-repack l'utilità può essere utile in molte situazioni in cui lo desideri,

  • ricrea .deb file da pacchetti Debian installati esistenti,
  • copia facilmente i pacchetti da un sistema all'altro
  • salva lo stato corrente di un pacchetto prima di aggiornarlo,
  • esegui il backup di una versione specifica di un pacchetto per un uso futuro,
  • salva i pacchetti specifici che non sono più disponibili per il download.

Installa dpkg-repack in Debian, Ubuntu e derivati

Il dpkg-repack è disponibile nei repository predefiniti di Debian, Ubuntu e delle sue varianti. Per installare dpkg-repack , esegui semplicemente il seguente comando:

$ sudo apt install dpkg-repack

Ricrea i pacchetti binari Debian con dpkg-repack

1. Ai fini di questa guida, utilizziamo l'applicazione Microsoft Teams che ho installato qualche tempo fa sul mio desktop Ubuntu.

$ dpkg -l | grep teams

Risultato di esempio:

ii  teams                                         1.3.00.5153                                amd64        Microsoft Teams for Linux is your chat-centered workspace in Office 365.

Non ho più il teams.deb file. L'ho eliminato subito dopo aver installato l'applicazione Microsoft Teams. Posso andare alla pagina di download ufficiale e scaricarlo di nuovo. Ma perché dovrebbe preoccuparsi di scaricarlo più e più volte? Ora posso semplicemente ricreare il teams.deb file usando dpkg-repack.

2. Per creare teams.deb file dal pacchetto team già installato con dpkg-repack utilità, esegui:

$ dpkg-repack teams

Risultato di esempio:

dpkg-deb: building package 'teams' in './teams_1.3.00.5153_amd64.deb'.

Come puoi vedere, il comando precedente ha ricreato il "teams_1.3.00.5153_amd64.deb'" file dal pacchetto Teams che è già installato sul mio desktop Ubuntu. Il file deb appena creato verrà salvato nella directory di lavoro corrente.

Allo stesso modo, puoi riconvertire tutti i pacchetti Debian installati in .deb pacchetti usando dpkg-repack utilità.

3. È anche possibile ricreare più file deb con spazi separati:

$ dpkg-repack <package1> <package2> <package3>

4. Se non riesci a ricostruire il file deb a causa di problemi di autorizzazione, prova da fakeroot ambiente come di seguito:

$ fakeroot -u dpkg-repack teams

Una caratteristica interessante dell'utilità dpkg-repack è che se sono state apportate modifiche al pacchetto mentre era decompresso (ad esempio file in /etc modificati), il nuovo pacchetto erediterà le modifiche.

Visualizzazione del contenuto del file deb

Passaggio 1: Puoi visualizzare il contenuto di quel file deb usando il comando:

$ dpkg --contents teams_1.3.00.5153_amd64.deb

Risultato di esempio:

drwxr-xr-x root/root         0 2020-05-26 15:15 ./
drwxr-xr-x root/root         0 2020-05-26 15:15 ./usr/
drwxr-xr-x root/root         0 2020-05-26 15:15 ./usr/bin/
-rwxr-xr-x root/root       286 2020-02-20 16:46 ./usr/bin/teams
drwxr-xr-x root/root         0 2020-05-26 15:15 ./usr/share/
.
.
.
drwxr-xr-x root/root         0 2020-05-26 15:15 ./usr/share/teams/swiftshader/
-rwxr-xr-x root/root    286264 2020-02-20 16:46 ./usr/share/teams/swiftshader/libEGL.so
-rwxr-xr-x root/root   2677296 2020-02-20 16:46 ./usr/share/teams/swiftshader/libGLESv2.so
-rwxr-xr-x root/root 114964776 2020-02-20 16:46 ./usr/share/teams/teams
-rw-r--r-- root/root   1040912 2020-02-20 16:46 ./usr/share/teams/v8_context_snapshot.bin

Passaggio 2: Il dpkg-repack è utile quando si installa lo stesso set di pacchetti su più sistemi, basta trasferirli utilizzando un disco rigido esterno o tramite LAN su altri sistemi e installarli utilizzando il comando dpkg:

$ sudo dpkg -i <package-name>

Passaggio 3: Tieni presente che devi comunque scaricare le dipendenze. Per installare le dipendenze, esegui:

$ sudo apt-get -f install

In alternativa, puoi trovare le dipendenze del pacchetto come descritto nel seguente link:

  • Come elencare le dipendenze di un pacchetto in Linux

E poi ricreali tutti usando dpkg-repack come descritto sopra.

Passaggio 4: Ciò sarà utile anche quando desideri ripristinare un pacchetto alla versione di lavoro precedente. Ad esempio, supponiamo che tu abbia appena aggiornato Vim pacchetto alla nuova versione disponibile. Se la nuova versione non funziona come previsto, puoi semplicemente ripristinare la vecchia versione che hai creato in precedenza utilizzando dpkg-repack .

Per maggiori dettagli, fare riferimento alle pagine man:

$ man dpkg-repack

Lettura correlata:

  • Come creare pacchetti Debian dal sorgente
  • Come creare pacchetti dal sorgente utilizzando CheckInstall
  • Come convertire i pacchetti Linux con Alien

Debian
  1. Come elencare tutti i file installati dal pacchetto DEB su Ubuntu/Debian Linux

  2. Debian:elencare i pacchetti installati manualmente di primo livello senza le loro dipendenze?

  3. Debian:quali pacchetti sono installati per impostazione predefinita in Debian? C'è un termine per quel set? Perché alcuni di questi pacchetti sono "installati automaticamente" e altri no?

  4. Debian:come montare automaticamente un dispositivo USB in fase di plug-in su un sistema già in esecuzione?

  5. Debian:come convertire un sistema basato su Debian a 32 bit (x86) in 64 bit?

Come installare Nextcloud 15 su Debian 9

Come controllare la RAM installata su Debian 10

Come installare i pacchetti Deb in Ubuntu, Debian e Mint

Come installare gli aggiornamenti di sicurezza in Ubuntu e Debian

Come rimuovere i pacchetti da Ubuntu e Debian

Scarica i pacchetti Spotify Deb da installare su Ubuntu, Debian e Linux Mint