Respostas:
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.
aptitude
també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_list
para a outra máquina e execute
xargs aptitude --schedule-only install < package_list; aptitude install;
aptitude search -F '%p' '~i!~M' > package_list
, também deve funcionar bem.
deborphan
@ bogdan.org.ua/2013/10/18/…
[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? xargs
Nesse 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 aptitude
precisa do xargs
? dpkg --set-selections
não. <br/> 2. Presumindo aptitude
que seja necessário xargs
, onde colocar um ou mais sudo
s em sua linha de comando de restauração? Ou então faça o root para executar essa linha, presumindo que seja necessário.
É uma boa ideia, e você também pode configurar um servidor com o apt-proxy, se você habituar isso.
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)).
dpkg: warning: package not in status nor available database at line ...