Em primeiro lugar, eu olhei para as várias outras perguntas e respostas sobre este tópico e elas não corrigiram o meu problema, então eu não apenas entrei sem um longo período no Google e aqui. Além disso, não há uma partição de inicialização separada e há muito espaço disponível.
Estou no 16.04 e acho que o que aconteceu foi que meu laptop foi reiniciado ou caiu durante a execução de uma atualização. Certamente foi inesperadamente desligado quando voltei para ele e agora não consigo instalar nada com o apt-get. Na minha busca por uma solução, a única grande mudança de onde estava naquele momento é que tentei forçar a remoção do genérico-linux como sugerido em algum lugar, mas embora isso tenha conseguido remover o pacote, ele não seria reinstalado.
Atualmente, eu pude voltar ao kernel 4.8.0-54-generic, que está funcionando razoavelmente bem (estou usando o laptop agora).
Vou começar com o dpkg --audit:
The following packages have been unpacked but not yet configured.
They must be configured using dpkg --configure or the configure
menu option in dselect for them to work:
linux-generic-hwe-16.04 Complete Generic Linux kernel and headers
linux-image-extra-4.8.0-56-generic Linux kernel extra modules for version 4.8.
linux-image-extra-4.8.0-58-generic Linux kernel extra modules for version 4.8.
linux-image-generic-hwe-16.04 Generic Linux kernel image
The following packages are only half configured, probably due to problems
configuring them the first time. The configuration should be retried using
dpkg --configure <package> or the configure menu option in dselect:
linux-image-4.8.0-53-generic Linux kernel image for version 4.8.0 on 64 bit x8
linux-image-4.8.0-56-generic Linux kernel image for version 4.8.0 on 64 bit x8
linux-image-4.8.0-58-generic Linux kernel image for version 4.8.0 on 64 bit x8
The following packages are only half installed, due to problems during
installation. The installation can probably be completed by retrying it;
the packages can be removed using dselect or dpkg --remove:
linux-image-extra-4.4.0-83-generic Linux kernel extra modules for version 4.4.
linux-image-extra-4.8.0-53-generic Linux kernel extra modules for version 4.8.
Executando for i in /boot/vmlinuz* ; do dpkg -S $i | egrep -v $(uname -r); done |cut -d- -f3-4
de saídas:
4.4.0-53
4.8.0-53
4.8.0-56
4.8.0-58
O dpkg basicamente não faz nada, exceto algumas exclusões. Então dpkg --configure -a
produz:
Setting up linux-image-4.8.0-53-generic (4.8.0-53.56~16.04.1) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
Not updating initrd symbolic links since we are being updated/reinstalled
(4.8.0-53.56~16.04.1 was configured last, according to dpkg)
Not updating image symbolic links since we are being updated/reinstalled
(4.8.0-53.56~16.04.1 was configured last, according to dpkg)
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.8.0-53-generic /boot/vmlinuz-4.8.0-53-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.8.0-53-generic /boot/vmlinuz-4.8.0-53-generic
Error! Your kernel headers for kernel 4.8.0-53-generic cannot be found.
Please install the linux-headers-4.8.0-53-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.8.0-53-generic /boot/vmlinuz-4.8.0-53-generic
update-initramfs: Generating /boot/initrd.img-4.8.0-53-generic
cp: cannot stat '/etc/fonts/conf.d/60-latin.conf': No such file or directory
E: /usr/share/initramfs-tools/hooks/plymouth failed with return 1.
update-initramfs: failed for /boot/initrd.img-4.8.0-53-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-4.8.0-53-generic.postinst line 1052.
dpkg: error processing package linux-image-4.8.0-53-generic (--configure):
subprocess installed post-installation script returned error exit status 2
Setting up linux-image-4.8.0-58-generic (4.8.0-58.63~16.04.1) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
The link /initrd.img is a dangling linkto /boot/initrd.img-4.8.0-56-generic
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.8.0-58-generic /boot/vmlinuz-4.8.0-58-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.8.0-58-generic /boot/vmlinuz-4.8.0-58-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.8.0-58-generic /boot/vmlinuz-4.8.0-58-generic
update-initramfs: Generating /boot/initrd.img-4.8.0-58-generic
W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_01.bin for module i915
cp: cannot stat '/etc/fonts/conf.d/60-latin.conf': No such file or directory
E: /usr/share/initramfs-tools/hooks/plymouth failed with return 1.
update-initramfs: failed for /boot/initrd.img-4.8.0-58-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-4.8.0-58-generic.postinst line 1052.
dpkg: error processing package linux-image-4.8.0-58-generic (--configure):
subprocess installed post-installation script returned error exit status 2
Setting up linux-image-4.8.0-56-generic (4.8.0-56.61~16.04.1) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
The link /initrd.img is a dangling linkto /boot/initrd.img-4.8.0-58-generic
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.8.0-56-generic /boot/vmlinuz-4.8.0-56-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.8.0-56-generic /boot/vmlinuz-4.8.0-56-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.8.0-56-generic /boot/vmlinuz-4.8.0-56-generic
update-initramfs: Generating /boot/initrd.img-4.8.0-56-generic
W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_01.bin for module i915
cp: cannot stat '/etc/fonts/conf.d/60-latin.conf': No such file or directory
E: /usr/share/initramfs-tools/hooks/plymouth failed with return 1.
update-initramfs: failed for /boot/initrd.img-4.8.0-56-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-4.8.0-56-generic.postinst line 1052.
dpkg: error processing package linux-image-4.8.0-56-generic (--configure):
subprocess installed post-installation script returned error exit status 2
dpkg: dependency problems prevent configuration of linux-image-generic-hwe-16.04:
linux-image-generic-hwe-16.04 depends on linux-image-4.8.0-58-generic; however:
Package linux-image-4.8.0-58-generic is not configured yet.
dpkg: error processing package linux-image-generic-hwe-16.04 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-image-extra-4.8.0-58-generic:
linux-image-extra-4.8.0-58-generic depends on linux-image-4.8.0-58-generic; however:
Package linux-image-4.8.0-58-generic is not configured yet.
dpkg: error processing package linux-image-extra-4.8.0-58-generic (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-image-extra-4.8.0-56-generic:
linux-image-extra-4.8.0-56-generic depends on linux-image-4.8.0-56-generic; however:
Package linux-image-4.8.0-56-generic is not configured yet.
dpkg: error processing package linux-image-extra-4.8.0-56-generic (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-generic-hwe-16.04:
linux-generic-hwe-16.04 depends on linux-image-generic-hwe-16.04 (= 4.8.0.58.29); however:
Package linux-image-generic-hwe-16.04 is not configured yet.
dpkg: error processing package linux-generic-hwe-16.04 (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
linux-image-4.8.0-53-generic
linux-image-4.8.0-58-generic
linux-image-4.8.0-56-generic
linux-image-generic-hwe-16.04
linux-image-extra-4.8.0-58-generic
linux-image-extra-4.8.0-56-generic
linux-generic-hwe-16.04
Observe que ele se queixa de falta de arquivos de cabeçalho para um kernel diferente do que está sendo executado (-53 em vez de -54, ambos muito distantes do kernel mais alto que eu tinha instalado antes desta bagunça irromper).
apt-get -f install
dá:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
linux-headers-4.4.0-83 linux-headers-4.4.0-83-generic linux-image-4.4.0-83-generic linux-image-extra-4.4.0-83-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
libcogl-common libcogl-pango20 linux-image-4.4.0-83-generic
Suggested packages:
fdutils linux-doc-4.4.0 | linux-source-4.4.0 linux-tools
The following packages will be REMOVED
linux-image-extra-4.8.0-53-generic
The following NEW packages will be installed
libcogl-common libcogl-pango20 linux-image-4.4.0-83-generic
0 to upgrade, 3 to newly install, 1 to remove and 78 not to upgrade.
9 not fully installed or removed.
Need to get 0 B/58.0 MB of archives.
After this operation, 94.3 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 389562 files and directories currently installed.)
Removing linux-image-extra-4.8.0-53-generic (4.8.0-53.56~16.04.1) ...
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.8.0-53-generic /boot/vmlinuz-4.8.0-53-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.8.0-53-generic /boot/vmlinuz-4.8.0-53-generic
Error! Your kernel headers for kernel 4.8.0-53-generic cannot be found.
Please install the linux-headers-4.8.0-53-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.8.0-53-generic /boot/vmlinuz-4.8.0-53-generic
update-initramfs: Generating /boot/initrd.img-4.8.0-53-generic
cp: cannot stat '/etc/fonts/conf.d/60-latin.conf': No such file or directory
E: /usr/share/initramfs-tools/hooks/plymouth failed with return 1.
update-initramfs: failed for /boot/initrd.img-4.8.0-53-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: error processing package linux-image-extra-4.8.0-53-generic (--remove):
subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
linux-image-extra-4.8.0-53-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
Finalmente, apt-get upgrade
dá:
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run ‘apt-get -f install’ to correct these.
The following packages have unmet dependencies.
libclutter-1.0-0 : Depends: libcogl-pango20 (>= 1.17.4) but it is not installed
Recommends: libclutter-1.0-common but it is not installed
linux-image-extra-4.4.0-83-generic : Depends: linux-image-4.4.0-83-generic but it is not installed
E: Unmet dependencies. Try using -f.
E é aí que eu estou. Não parece estar muito errado - apenas alguns pacotes do kernel falharam, mas estou com dificuldades tentando resolvê-lo. Eu prefiro não ter que reinstalar, pois há bancos de dados nesta máquina que seriam perdidos e não tenho espaço para backup no momento. Eles não são críticos, mas levaria um ou dois dias para reconstruí-los e, no momento, a máquina está realmente funcionando bem, exceto pelo fato de que não pode ser atualizada.
O que eu vou tentar agora?