Estou executando o Ubuntu 16.04. Após um aviso por atualização de software, que descartei, ao inicializar, abri um terminal e executei meu alias de atualização:
alias maintain='set -x; sudo apt-get update && sudo apt-get upgrade && sudo apt autoremove && sudo apt autoclean; set +x'
Estranhamente, nenhum pacote foi atualizado, mas recebi a seguinte mensagem:
The following packages have been kept back:
Havia 3 pacotes com nomes linux, image, cabeçalhos não lembram os nomes exatos.
Depois de verificar aqui eu corro
sudo apt-get install [3 packages names here]
e os pacotes instalados sem erros ou avisos. Pensando que o kernel não pode ser completamente atualizado durante a execução, eu também reiniciei meu laptop. Querendo verificar se a atualização foi concluída, eu corro os seguintes comandos [que encontrei aqui enquanto checava o aviso anterior] no meu terminal:
$ uname -r
4.4.0-21-generic
$ dpkg -l | grep linux-image
ii linux-image-4.4.0-21-generic 4.4.0-21.37 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-22-generic 4.4.0-22.40 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-24-generic 4.4.0-24.43 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-21-generic 4.4.0-21.37 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-22-generic 4.4.0-22.40 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-24-generic 4.4.0-24.43 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii linux-image-generic 4.4.0.24.25 amd64 Generic Linux kernel image
Além do fato de que eu tenho três em vez de duas imagens do kernel, a questão é:
Por que eu tenho várias imagens do kernel instaladas?
Como meu alias executa autoremove / autoclean [e eu reiniciei mais uma vez e execute novamente o alias para errar do lado seguro] eles não deveriam ser excluídos?
Também não deve, após a reinicialização, o Ubuntu estar usando a última versão do kernel?
update1:
Resultados de ls / boot:
$ ls /boot
abi-4.4.0-21-generic config-4.4.0-22-generic initrd.img-4.4.0-22-generic memtest86+_multiboot.bin vmlinuz-4.4.0-21-generic
abi-4.4.0-22-generic config-4.4.0-24-generic initrd.img-4.4.0-24-generic System.map-4.4.0-21-generic vmlinuz-4.4.0-22-generic
abi-4.4.0-24-generic grub memtest86+.bin System.map-4.4.0-22-generic vmlinuz-4.4.0-24-generic
config-4.4.0-21-generic initrd.img-4.4.0-21-generic memtest86+.elf System.map-4.4.0-24-generic
update2: depois de executar sudo update-grub
e reinicializar, ainda recebo:
$ uname -r
4.4.0-21-generic
Eu também lembro de ter visto o grub sendo atualizado da saída do terminal quando os novos pacotes do kernel estavam sendo instalados.
update3: Eu tentei inicializar no kernel 4.4.0-24 a partir das opções avançadas de inicialização do grub2 e então executar sudo update-grub
novamente. Mas depois de outro reboot uname -r
ainda mostra 4.4.0-21: (
update4: Estou pensando em outros ângulos para abordar o problema. Considerei configurar manualmente o grub para carregar no novo kernel, mas isso é uma solução alternativa, não uma correção, já que eu precisaria fazer isso novamente toda vez que eu baixar um novo kernel. Durante esse período, lembrei-me de que usei o grub-customizer para fazer alguns pequenos ajustes (porque eu tenho inicialização dupla com o win7). Eu estou colando as entradas relevantes de /boot/grub/grub.cfg se as pessoas puderem identificar o que está errado e como ele pode ser corrigido. É a entrada de menu do Ubuntu e 2 (de 9) entradas de submenu de opções de inicialização avançadas:
# # BEGIN /etc/grub.d/40_custom_proxy ###
menuentry "Ubuntu 16" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-4e2b96c0-04a0-4750-bd14-479f684bf3be' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 4e2b96c0-04a0-4750-bd14-479f684bf3be
else
search --no-floppy --fs-uuid --set=root 4e2b96c0-04a0-4750-bd14-479f684bf3be
fi
linux /boot/vmlinuz-4.4.0-21-generic root=UUID=4e2b96c0-04a0-4750-bd14-479f684bf3be ro quiet splash $vt_handoff
initrd /boot/initrd.img-4.4.0-21-generic
}
# ## END /etc/grub.d/40_custom_proxy ###
menuentry "Ubuntu, with Linux 4.4.0-21-generic" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-21-generic-advanced-4e2b96c0-04a0-4750-bd14-479f684bf3be' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 4e2b96c0-04a0-4750-bd14-479f684bf3be
else
search --no-floppy --fs-uuid --set=root 4e2b96c0-04a0-4750-bd14-479f684bf3be
fi
echo 'Loading Linux 4.4.0-21-generic ...'
linux /boot/vmlinuz-4.4.0-21-generic root=UUID=4e2b96c0-04a0-4750-bd14-479f684bf3be ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.4.0-21-generic
}
menuentry "Ubuntu, with Linux 4.4.0-24-generic" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-24-generic-advanced-4e2b96c0-04a0-4750-bd14-479f684bf3be' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 4e2b96c0-04a0-4750-bd14-479f684bf3be
else
search --no-floppy --fs-uuid --set=root 4e2b96c0-04a0-4750-bd14-479f684bf3be
fi
echo 'Loading Linux 4.4.0-24-generic ...'
linux /boot/vmlinuz-4.4.0-24-generic root=UUID=4e2b96c0-04a0-4750-bd14-479f684bf3be ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.4.0-24-generic
}
Não sei ao certo o quão relevante isso é - e esse arquivo não deve ser alterado. Mas suponho que, seja qual for o problema, pode criar uma pegada nesse arquivo a ser identificado. (Esperançosamente.)