Metade do pesadelo do pacote instalado

0

Em algum momento, um dos meus servidores parou de gravar em seu dispositivo de armazenamento conectado à rede (presumo), e isso resultou em uma semana ou mais de pacotes acabando no estado "meio-instalado".

O que é estranho é que apt-get não reporta nenhum problema e eu consegui as atualizações mais recentes para instalar como pretendido.

Foi somente quando dei uma olhada nos logs ( dpkg.log* ) e descobri que havia muito mais pacotes nesse estado.

Eu preciso de uma maneira de percorrer todos os pacotes no apt-get ou dpkg e executar uma operação apt-get install <packagename> --reinstall .

A menos que haja outra maneira de limpar essa bagunça.

Alguém tem alguma ideia de como posso fazer isso? ou tem alguma outra ideia sobre como resolver esse problema?

    
por RapidWebs 15.08.2014 / 04:14

2 respostas

3

Experimente sudo dpkg --configure -a . Isso deve reparar automaticamente esses pacotes.

Se isso não funcionar, tente executar sudo apt-get install -f e, em seguida, executar sudo dpkg --configure -a novamente

Se você realmente quiser passar por cada pacote e reinstalar,

E lembre-se, esta definitivamente não é a solução ideal .

Faça isso somente se o comando sudo dpkg --configure -a não funcionar.

Isso levará muito, muito tempo, já que é necessário baixar todos os pacotes novamente e instalá-los:

for pkg in 'dpkg --get-selections | awk '{print $1}' | egrep -v '(dpkg|apt|mysql|mythtv)'' ; do apt-get -y --force-yes install --reinstall $pkg ; done

Fonte

    
por Pranav Marathe 15.08.2014 / 04:16
0

para a resposta Pranav Marathe :

   --force-yes
       Force yes; this is a dangerous option that will cause apt to
       continue without prompting if it is doing something potentially
       harmful. It should not be used except in very special situations.
       Using force-yes can potentially destroy your system! Configuration
       Item: APT::Get::force-yes. This is deprecated and replaced by
       --allow-downgrades, --allow-remove-essential,
       --allow-change-held-packages in 1.1.

   -y, --yes, --assume-yes
         Automatic yes to prompts; assume "yes" as answer 
         to all prompts  and run non-interactively. 
         If an undesirable situation, such as changing a held package, 
         trying to install a unauthenticated package 
         or removing an essential package occurs then apt-get will abort.  
         Configuration Item: APT::Get::Assume-Yes.
    
por ceph3us 11.08.2016 / 08:20