instale os mesmos pacotes debian em outro sistema


13

Como exporto uma lista de pacotes Debian instalados em um sistema e depois instalo os mesmos pacotes em um novo sistema?

Respostas:


17

Para fazer backup:

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

Restaurar:

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

Veja também esta pergunta para opções e informações adicionais: Ubuntu, como configurar uma nova máquina como uma existente

Eu tenho o acima executado em um cronjob diário que verifica o dpgklist no SVN como parte do nosso inventário de servidores. Isso permitirá que você mantenha um inventário razoável razoável dos pacotes instalados nos servidores e é fácil fazer uma rápida comparação lado a lado para ver se um servidor está com falta de um pacote específico.


1
Recebo esta mensagem de erro para cada linha de entrada: dpkg: warning: package not in status nor available database at line ...
danorton 21/03/19

este trabalho maneira doesnt desde algumas versões do Ubuntu
QkiZ

10

aptitudetambém satisfaz esse caso de uso e preserva informações sobre pacotes "instalados automaticamente" que outros métodos não. Execute o seguinte na máquina de referência:

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

Copie package_listpara a outra máquina e execute

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

Apenas uma nota menor. De acordo com o manual de referência do aptitude, o campo "pacote" é "expansível" por padrão, portanto aptitude search -F '%p' '~i!~M' > package_list, também deve funcionar bem.
Chronos

Em relação ao backup de pacotes: consulte o plug-in para deborphan@ bogdan.org.ua/2013/10/18/…
TomRoche

[insert your own linebreaks, since http://serverfault.com/editing-help#linebreaks lies] Em relação à restauração de pacotes: isso precisará ser feito como root, não? xargsNesse caso, <br/> na linha de comando de restauração = xargs aptitude --schedule-only install <package_list; instalação do aptitude; me faz querer saber, <br/> 1. Por que aptitudeprecisa do xargs? dpkg --set-selectionsnão. <br/> 2. Presumindo aptitude que seja necessário xargs, onde colocar um ou mais sudos em sua linha de comando de restauração? Ou então faça o root para executar essa linha, presumindo que seja necessário.
TomRoche 17/11

0

É uma boa ideia, e você também pode configurar um servidor com o apt-proxy, se você habituar isso.


Depois de brincar com vários proxies para o apt, acabei decidindo pelo apt-cacher-ng. O apt-cacher-ng é muito simples de configurar e, de várias contas, parece ser mais robusto que o apt-proxy original. Cada pessoa tem seu próprio favorito embora. unix-ag.uni-kl.de/~bloch/acng
faultyserver

Meu voto é para aproximadamente, é o único que não é algum tipo de loucura.
Womble

Interessante ... Na verdade, eu não tentei nenhuma das alternativas.

0

a resposta dos servidores defeituosos funcionou para mim somente após a execução de um comando diferente, conforme 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

Antes dessa corrida

sudo apt-get dselect-upgrade

retornou somente

[...]
dpkg: warning: pacote não está no banco de dados na linha 302: xfonts-utils
dpkg: warning: encontrou pacotes desconhecidos; isso pode significar que o banco de dados disponível está desatualizado e precisa ser atualizado através de um método
front- end pi @ FHEM-new: / tmp $ sudo apt-get dselect-upgrade
Lendo listas de pacotes ... Concluído
Criando árvore de dependência
Lendo informações de estado ... Concluído
0 atualizado, 0 instalado recentemente, 0 para remover e 0 não atualizado.

Eu estava tentando instalar os mesmos pacotes do meu antigo Raspberry Pi (executando o Raspbian GNU / Linux 7 (wheezy)) no meu novo Raspberry (Raspbian GNU / Linux 8 (jessie)).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.