Tente fazer o seguinte:
packages='cat installed-software | grep -v deinstall | cut -f1'
sudo apt-get install $packages
Eu tenho feito a rotina habitual de salvar as seleções de pacotes e também marcar os pacotes como auto
ou manual
conforme descrito na pergunta e resposta aqui: Restaurando todos os dados do backup de dpkg --set-selections '*'
.
Agora, quando tento executar apt-get -u dselect-upgrade
, obtenho:
# apt-get -u dselect-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have unmet dependencies:
cron : Depends: adduser but it is not going to be installed
upstart : Depends: initscripts
Depends: mountall
Depends: ifupdown (>= 0.6.10ubuntu5)
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Internal error, problem resolver broke stuff
A alternativa aptitude install
não me dá nada:
# aptitude install
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
Então, quando eu verificar se cron
e adduser
estão instalados, eles são:
# dpkg -l|grep -E '(adduser|cron)'
ii adduser 3.113ubuntu2 add and remove users and groups
ii cron 3.0pl1-120ubuntu4 process scheduling daemon
Então, duas perguntas: o que está acontecendo e como resolvê-lo?
NB: as seleções de pacotes foram tiradas de outra instalação 12.04, mesma arquitetura e tudo mais. Na verdade, é um sistema que é executado na mesma máquina antes de ser reinstalado em um disco diferente. Esta é a primeira vez que me deparo com esse tipo de problema ao clonar uma configuração existente por meio de estados de pacotes e depois copiar sobre conteúdos relevantes do original /etc
.
Para o segundo conjunto de dependências supostamente não atendidas, recebo:
# dpkg -l|grep -E '(upstart|initscripts|mountall|ifupdown)'
ii ifupdown 0.7~beta2ubuntu8 high level tools to configure network interfaces
ii initscripts 2.88dsf-13.10ubuntu11.1 scripts for initializing and shutting down the system
ii mountall 2.36.4 filesystem mounting tool
ii upstart 1.5-0ubuntu7.2 event-based init daemon
Então tudo instalado.
Não há pacotes retidos. A saída de aptitude search ~i|grep ^ih
está vazia.
O sistema em questão é uma instalação do Ubuntu Server 12.04.2, caso contrário, atualizado para os pacotes mais recentes. Nenhum repositório de terceiros configurado, nenhum pinagem de pacote ou algo assim.
btw: Eu apreciaria se a resposta incluísse algumas dicas sobre o que fazer em geral ao solucionar esse problema sem depender dos resolvedores de problemas sutilmente diferentes nos vários dpkg
front ends. A maioria das sugestões que eu já vi parecem depender apenas disso e é por isso que estou sem sorte agora. Então, eu preciso conhecer alguns dos detalhes, também.
Tente fazer o seguinte:
packages='cat installed-software | grep -v deinstall | cut -f1'
sudo apt-get install $packages