installa gli stessi pacchetti debian su un altro sistema


13

Come esportare un elenco di pacchetti Debian installati su un sistema e quindi installare quegli stessi pacchetti su un nuovo sistema?

Risposte:


17

Per eseguire il backup:

sudo dpkg --get-selections > /tmp/dpkglist.txt

Ripristinare:

sudo dpkg --set-selections < /tmp/dpkglist.txt
sudo apt-get -y update
sudo apt-get dselect-upgrade

Vedi anche questa domanda per ulteriori opzioni e informazioni: Ubuntu, come configurare una nuova macchina come una esistente

Ho quanto sopra in esecuzione in un cronjob quotidiano che controlla la dpgklist in SVN come parte del nostro inventario del server. Ciò ti consentirà di mantenere un inventario ragionevolmente accurato dei pacchetti installati sui tuoi server ed è facile fare una rapida differenza side-by-side per vedere se un server manca un determinato pacchetto.


1
Ricevo questo messaggio di errore per ogni riga di input: dpkg: warning: package not in status nor available database at line ...
danorton

in questo modo non funziona da poche versioni di Ubuntu
QkiZ

10

aptitudesoddisfa anche questo caso d'uso e conserva informazioni sui pacchetti "installati automaticamente" che altri metodi non fanno. Eseguire quanto segue sulla macchina di riferimento:

aptitude search -F '%p' '~i!~M' > package_list 

Copia package_listsull'altra macchina ed esegui

xargs aptitude --schedule-only install < package_list; aptitude install; 

Solo una nota minore. Secondo il manuale di riferimento aptitude, il campo "pacchetto" è "espandibile" per impostazione predefinita, quindi aptitude search -F '%p' '~i!~M' > package_listdovrebbe anche funzionare bene.
chronos,

Per quanto riguarda il backup del pacchetto: vedere plug for deborphan@ bogdan.org.ua/2013/10/18/…
TomRoche

[insert your own linebreaks, since http://serverfault.com/editing-help#linebreaks lies] Per quanto riguarda il ripristino del pacchetto: questo dovrà essere fatto come root, no? In tal caso, <br/> xargsnella riga di comando di ripristino = xargs aptitude --schedule-only install <package_list; aptitude install; mi fa venire voglia di sapere, <br/> 1. Perché aptitudeserve xargs? dpkg --set-selectionsnon. <br/> 2. Presumendo aptitude ha bisogno di xargs, dove mettere una o più sudos nella linea di comando di ripristino? O altrimenti ottenere root per eseguire quella linea, presumendo che sia necessario.
TomRoche,

0

Questa è una buona idea e potresti anche impostare un server con apt-proxy se prendi l'abitudine di questo.


Dopo aver giocato con diversi proxy per apt, ho deciso di scegliere apt-cacher-ng. apt-cacher-ng è molto semplice da configurare e da diversi account sembra essere più robusto del proxy apt originale. Ogni persona ha il suo preferito però. unix-ag.uni-kl.de/~bloch/acng
faultyserver il

Il mio voto è per circa, è l'unico che non è una specie di pazzo.
womble

Interessante ... In realtà non ho provato nessuna delle alternative.

0

La risposta di faultyservers ha funzionato per me solo dopo aver eseguito un comando diverso come da http://rayslinux.blogspot.de/2012/10/ubuntu-1210-dpkg-warning-package-not-in.html

sudo apt-get install dselect sudo dselect access sudo dselect update

Prima di correre

sudo apt-get dselect-upgrade

restituito solo

[...]
dpkg: avviso: pacchetto non nel database alla riga 302: xfonts-utils
dpkg: avviso: trovati pacchetti sconosciuti; questo potrebbe significare che il database disponibile è obsoleto e deve essere aggiornato tramite un metodo frontend
pi @ FHEM-new: / tmp $ sudo apt-get dselect-upgrade
Lettura degli elenchi dei pacchetti ... Fine
Creazione dell'albero delle dipendenze
Lettura delle informazioni sullo stato ... Fatto
0 aggiornato, 0 appena installato, 0 da rimuovere e 0 non aggiornato.

Stavo cercando di installare gli stessi pacchetti dal mio vecchio Raspberry Pi (con Raspbian GNU / Linux 7 (wheezy)) sul mio nuovo Raspberry (Raspbian GNU / Linux 8 (jessie)).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.