apt-get autoremove deseja remover mais de 1000 pacotes e tudo mais

apt-get autoremove deseja remover mais de 1000 pacotes e tudo mais

Ele lista 1.546 pacotes a serem removidos. Incluindo xorg, xservere outros pacotes principais. Eu digitei "sim" no passado e como esperado isso bloqueou o sistema operacional, tive que reinstalá-lo do zero. Desta vez respondi "não" e tentei:

sudo apt-get -y update --fix-missing

mas ainda quer remover tudo. Como posso consertar isso, por favor!

Responder1

Isso acontece mais comumente quando as pessoas instalam um desktop em uma instalação mínima. Mas isso pode acontecer quando você instala QUALQUER tipo de pilha principal em um sistema Ubuntu.

No exemplo do Desktop, significa que toda a pilha do desktop está pendurada em um único metapacote (como o ubuntu-desktoppacote). Quando você remove algum elemento ou aplicativo do Desktop - que remove o metapacote do desktop - essa ação torna toda a pilha do desktop elegível para remoção automática.

Prevenção

  • Quando as pessoas usam o verdadeiro Desktop Installer, há uma camada adicional de proteção de marcação apt para evitar que as pessoas removam automaticamente toda a área de trabalho.

  • Você também pode instalar explicitamente (ou marcar com apt) os aplicativos que usa. Dessa forma, a maioria das dependências da sua área de trabalho não será removida automaticamente.

    sudo apt install shotwell         # Example of explicitly installing
    sudo apt-mark manual shotwell     # Example of apt-marking
    
  • instalar usando pacotes de tarefas, por exemplo, Ubuntu MATE pode ser instalado por

    sudo apt-get install ubuntu-mate-desktop^
    

    Note o^, significa tarefa; instalar desta forma evitará arruinar o sistema se alguém quiser executar comandos potencialmente perigosos, como sudo apt autopurge ubuntu-mate-desktopo meta-pacote.

Recuperação

  • Você pode simplesmente reinstalar o pacote de tarefas da área de trabalho.

    sudo apt install --reinstall ubuntu-desktop^ # Example of re-installing a Ubuntu desktop task
    
  • Você também pode copiar a longa lista de remoções e colá-la em um comando de instalação. Observe quenomeandoum pacote o torna inelegível para remoções automáticas futuras, mas sua preocupação parece ser muitas remoções automáticas em vez de poucas. Se você precisar recuperar essa lista, ela estará no seu /var/log/apt/history.logarquivo.

Responder2

Se você acha que o autoremove está removendo coisas que você deseja manter, para cada pacote você deve:

  • use dpkg -l | grep $shortpackagenamepara verificar se há uma versão mais recente também instalada; nesse caso, não há problema em remover a versão mais antiga
  • use apt rdepends $packagenamepara ver se há um pacote pai que você também deseja. Se houver, instale esse pacote pai ou uma dependência reversa desse pai
  • Se não houver nenhum pacote de dependência pai (óbvio) que você deseja manter, mas ainda deseja mantê-lo, apt install $packagenamepara que ele não seja desinstalado pelo autoremove.

Um bom exemplo do acima (como mencionado nos comentários), se o autoremove quiser remover, xorginstale ubuntu-desktope você provavelmente descobrirá que muitos dos autoremoves agora terão uma dependência pai instalada e a lista ficará mais curta.

Quando a lista for curta o suficiente para que o que resta sejam pacotes obsoletos ou coisas com as quais você tem certeza de que não se importa, então o autoremove é seguro.

Esta situação não é normal, não acontece automaticamente. É causada, em algum momento, pela remoção de algo crítico do sistema que faz com que algum pacote pai importante (como ubuntu-desktop) seja removido.

informação relacionada