Tanto apt-get
como aptitude
são front-ends convenientes para o comando dpkg
subjacente, o sistema de pacotes Debian. Eles (pre-) tratam de coisas como dependência e resolução de conflitos e download de pacotes, antes de invocar dpkg
com instruções explícitas para instalar arquivos * .deb baixados, ou para remover pacotes e sua dependência, ou para (des) configurá-los automaticamente ou o que não ...
Você provavelmente pediu a aptitude
para forçar a instalação de um determinado pacote. Sua resolução de conflitos entrou em vigor e forçou a remoção de pacotes conflitantes, quebrando outros pacotes. Presumivelmente, a resolução da dependência encontrou certas dependências que precisam ser instaladas em uma versão ou arquitetura específica, que não pode coexistir com as já instaladas. Certas coisas simplesmente não funcionam, mas desde que você pediu para forçar a instalação ... bem, você conseguiu o que pediu.
Aqui é onde você pode encontrar informações úteis sobre o histórico de pacotes e o estado do seu sistema. Use less <log-file>
(ou zless <compressed-log-file>
) para ler esses arquivos.
- Em
/var/log/apt/history.log*
você pode ver o histórico de comandos deapt-get
e as resoluções que ele criou para suas solicitações / comandos. - Em
/var/log/apt/term.log*
você pode ver a saída de tais solicitações / comandos. - Em
/var/log/aptitude*
, você verá algumas atividades de aptidões. - Em
/var/log/dpkg.log*
você pode ver o que aconteceu com o status dos pacotes individuais.
dpkg -l
listará todos os pacotes em seu sistema e seus status, incluindo o status de pacotes previamente instalados (ou seja, pacotes "removidos"). O cabeçalho da lista (ou man dpkg
) informará o significado das letras na primeira coluna. A primeira letra lhe dirá qual status você / apt-get / aptitude solicitou para um pacote. O segundo informará o status no qual o pacote está atualmente. Se houver uma terceira letra R
, esse pacote precisará ser reinstalado. dpkg -l | grep -v "^ii"
listará os mesmos pacotes excluindo aqueles "atualmente instalados conforme solicitado", o que pode ajudar a restringir seus pacotes "removido" ou "meio configurado" ou "parcialmente instalado".
Se você adicionar | less
ao pipeline de comando, poderá rolar a saída.
O que você quer fazer agora é descobrir quais pacotes foram removidos e por quê. A parte "por que" é presumivelmente como mencionada acima e não pode ser facilmente contornada. Então, você provavelmente deseja remover / limpar sua imagemagick primeiro (do apt-get remove <the-offending-package>
, então continue com apt-get autoremove
ou apt-get remove <other-packages>
para remover suas dependências, que não são mais necessárias; CUIDADOSAMENTE adicione --purge
a qualquer comando se você quiser para remover arquivos de configuração também).
Então você pode reinstalar os pacotes perdidos. Ou melhor, você quer forçar a reinstalação dos principais pacotes quebrados nos quais está interessado e fazer com que o apt-get / aptitude instale automaticamente as antigas dependências no caminho, como de costume. Dessa forma, dependências lib * triviais não serão marcadas como "instaladas manualmente", o que impediria a remoção automática no futuro, se necessário.
Para reinstalar um pacote: apt-get install <package>
, opcionalmente, inclua --reinstall
para re-descompactar pacotes explicitamente, se necessário.
Além disso, você pode dar uma olhada em man apt-get
e man aptitude
para ter uma ideia sobre suas opções.
Boa sorte!