Ubuntu Server 18.04 Falha no apt-get

0

Meu sistema Ubuntu Server 18.04, enquanto continua a funcionar, tornou-se incapaz de aplicar quaisquer atualizações. Não tenho conhecimento de nenhuma alteração no sistema que eu tenha feito que pudesse ser o culpado.

O que posso fazer para corrigir isso? Eu tentei autoremove, purgar, etc.

Aqui está a saída típica, mas qualquer comando apt produz um erro semelhante:

# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be REMOVED:
  linux-image-4.15.0-22-generic
The following packages will be upgraded:
  libcephfs2 librados2 ssh-import-id
3 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/3,065 kB of archives.
After this operation, 8,281 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 149817 files and directories currently installed.)
Removing linux-image-4.15.0-22-generic (4.15.0-22.24) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.15.0-22-generic
/etc/kernel/postrm.d/x-grub-legacy-ec2:
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ...

Could not find /boot/grub/menu.lst file. Would you like /boot/grub/menu.lst generated for you? (y/N) /usr/sbin/update-grub-legacy-ec2: line 1101: read: 
read error: 0: Bad file descriptor
run-parts: /etc/kernel/postrm.d/x-grub-legacy-ec2 exited with return code 1
dpkg: error processing package linux-image-4.15.0-22-generic (--remove):
 installed linux-image-4.15.0-22-generic package post-removal script 
subprocess returned error exit status 1
Errors were encountered while processing:
 linux-image-4.15.0-22-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)

Obrigado a todos pelas respostas. Seguidas sugestões abaixo. Parece que não é possível limpá-lo via apt / dpkg. Aqui está a saída:

# sudo update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-22-generic
Found initrd image: /boot/initrd.img-4.15.0-22-generic
Found linux image: /boot/vmlinuz-4.15.0-20-generic
Found initrd image: /boot/initrd.img-4.15.0-20-generic
done

# sudo dpkg --purge linux-image-4.15.0-22-generic
dpkg: dependency problems prevent removal of linux-image-4.15.0-22-generic:
 linux-image-generic depends on linux-image-4.15.0-22-generic.
 linux-modules-extra-4.15.0-22-generic depends on linux-image-4.15.0-22-generic | linux-image-unsigned-4.15.0-22-generic; however:
  Package linux-image-4.15.0-22-generic is to be removed.
  Package linux-image-unsigned-4.15.0-22-generic is not installed.

dpkg: error processing package linux-image-4.15.0-22-generic (--purge): 

problemas de dependência - não removendo     Erros foram encontrados durante o processamento:      linux-image-4.15.0-22-generic

    
por SDT2000USA 27.05.2018 / 21:08

2 respostas

2

Ainda não sei ao certo por que experimentei esse problema, mas parece que um arquivo /boot/grub/menu.lst do grub estava causando falha nas atualizações do apt / dpkg. Então eu criei um arquivo vazio.

sudo touch /boot/grub/menu.lst
sudo update-grub2

Tudo bem. Em seguida, prossiga com a atualização do sistema:

apt update
apt upgrade
apt autoremove --purge

Ao longo do caminho, haverá um aviso de que o arquivo menu.lst atual é diferente da versão do mantenedor do pacote. Selecione a opção para instalar a versão do mantenedor do pacote e, em seguida, o restante da atualização e limpeza serão concluídas com êxito. Vai ver como vai a próxima atualização do kernel, mas o problema está resolvido por enquanto.

Obrigado a todos que contribuíram com sugestões e ajuda!

    
por SDT2000USA 31.05.2018 / 16:46
1

Eu sei que isso deve ser um comentário, mas eu não tenho reputação suficiente.
Mas eu quero que você saiba que eu tive um problema semelhante ontem.
Se esta resposta não funcionar para você, você pode entrar em contato com @videonauth. Ele é o cara super legal que me ajudou com esse problema.  Vou copiar da sua resposta a parte que, esperamos, o ajudará:

First remove the removable packages after having run an update to get the proper package archives updated:

sudo apt update
sudo apt autoremove --purge

This should remove all removable packages so far except the one which managed to get messed up which we can then remove then by installing it and then removing it properly:

cd /var/cache/apt/archives
sudo dpkg -i linux-modules-4.15.0-22-generic_4.15.0-22.24_amd64.deb
sudo dpkg -r linux-modules-4.15.0-22-generic_4.15.0-22.24_amd64.deb  

(Nota do Oussema: ^ Este comando foi usado com base no fato de que a arquitetura do meu sistema é amd64. Você pode ver o seu usando o comando uname -a
" i386 "," i486 "," i586 "e" i686 "e" athlon "todos significam 32 bits. "x86_64" significa 64 bits (Opteron ou Athlon-64). "i686-64" significa 32 bits operação com espaço de endereço de 64 bits (Intel 686 com a nova memória mecanismo). )

Now cleaning up the archives by running:

sudo apt clean

And now we can reinstall the packages properly after having run an complete update process:

sudo apt update
sudo apt dist-upgrade

with the following line:

sudo apt install --reinstall linux-generic
    
por Oussema 28.05.2018 / 00:04