apt --purge autoremove não consegue encontrar kernels mais antigos

apt --purge autoremove não consegue encontrar kernels mais antigos

Estou no Ubuntu 20.04 e estou tentando entender o que está acontecendo com meus kernels Linux, e há algo que me parece estranho. O kernel atual deve ser:

@precision-3551:~$ uname -r
5.13.0-44-generic

Mas também posso ver que existem outros kernels instalados. Uma coisa curiosa é que os kernels instalados são 5.13ou 5.4, sem nada entre eles:

@precision-3551:~$ dpkg --list | egrep -i --color 'linux-image|linux-headers'
ii  linux-headers-5.0.0-1034-oem-osp1          5.0.0-1034.39                       amd64        Linux kernel headers for version 5.0.0 on 64 bit x86 SMP
ii  linux-headers-5.13.0-41-generic            5.13.0-41.46~20.04.1                amd64        Linux kernel headers for version 5.13.0 on 64 bit x86 SMP
ii  linux-headers-5.13.0-44-generic            5.13.0-44.49~20.04.1                amd64        Linux kernel headers for version 5.13.0 on 64 bit x86 SMP
ii  linux-headers-5.4.0-113                    5.4.0-113.127                       all          Header files related to Linux kernel version 5.4.0
ii  linux-headers-5.4.0-113-generic            5.4.0-113.127                       amd64        Linux kernel headers for version 5.4.0 on 64 bit x86 SMP
ii  linux-headers-generic                      5.4.0.113.117                       amd64        Generic Linux kernel headers
ii  linux-headers-generic-hwe-20.04            5.13.0.44.49~20.04.28               amd64        Generic Linux kernel headers
rc  linux-image-5.0.0-1034-oem-osp1            5.0.0-1034.39                       amd64        Signed kernel image oem-osp1
ii  linux-image-5.13.0-41-generic              5.13.0-41.46~20.04.1                amd64        Signed kernel image generic
ii  linux-image-5.13.0-44-generic              5.13.0-44.49~20.04.1                amd64        Signed kernel image generic
rc  linux-image-5.4.0-100-generic              5.4.0-100.113                       amd64        Signed kernel image generic
rc  linux-image-5.4.0-104-generic              5.4.0-104.118                       amd64        Signed kernel image generic
rc  linux-image-5.4.0-105-generic              5.4.0-105.119                       amd64        Signed kernel image generic
rc  linux-image-5.4.0-107-generic              5.4.0-107.121                       amd64        Signed kernel image generic
rc  linux-image-5.4.0-109-generic              5.4.0-109.123                       amd64        Signed kernel image generic
rc  linux-image-5.4.0-110-generic              5.4.0-110.124                       amd64        Signed kernel image generic
ii  linux-image-5.4.0-113-generic              5.4.0-113.127                       amd64        Signed kernel image generic
rc  linux-image-5.4.0-65-generic               5.4.0-65.73~18.04.1                 amd64        Signed kernel image generic
rc  linux-image-5.4.0-66-generic               5.4.0-66.74~18.04.2                 amd64        Signed kernel image generic
rc  linux-image-5.4.0-70-generic               5.4.0-70.78~18.04.1                 amd64        Signed kernel image generic
rc  linux-image-5.4.0-71-generic               5.4.0-71.79~18.04.1                 amd64        Signed kernel image generic
rc  linux-image-5.4.0-72-generic               5.4.0-72.80~18.04.1                 amd64        Signed kernel image generic
rc  linux-image-5.4.0-73-generic               5.4.0-73.82~18.04.1                 amd64        Signed kernel image generic
rc  linux-image-5.4.0-74-generic               5.4.0-74.83~18.04.1                 amd64        Signed kernel image generic
rc  linux-image-5.4.0-77-generic               5.4.0-77.86~18.04.1                 amd64        Signed kernel image generic
rc  linux-image-5.4.0-80-generic               5.4.0-80.90~18.04.1                 amd64        Signed kernel image generic
rc  linux-image-5.4.0-81-generic               5.4.0-81.91~18.04.1                 amd64        Signed kernel image generic
rc  linux-image-5.4.0-84-generic               5.4.0-84.94~18.04.1                 amd64        Signed kernel image generic
rc  linux-image-5.4.0-86-generic               5.4.0-86.97~18.04.1                 amd64        Signed kernel image generic
rc  linux-image-5.4.0-87-generic               5.4.0-87.98~18.04.1                 amd64        Signed kernel image generic
rc  linux-image-5.4.0-89-generic               5.4.0-89.100~18.04.1                amd64        Signed kernel image generic
rc  linux-image-5.4.0-90-generic               5.4.0-90.101                        amd64        Signed kernel image generic
rc  linux-image-5.4.0-91-generic               5.4.0-91.102                        amd64        Signed kernel image generic
rc  linux-image-5.4.0-92-generic               5.4.0-92.103                        amd64        Signed kernel image generic
rc  linux-image-5.4.0-94-generic               5.4.0-94.106                        amd64        Signed kernel image generic
rc  linux-image-5.4.0-96-generic               5.4.0-96.109                        amd64        Signed kernel image generic
rc  linux-image-5.4.0-97-generic               5.4.0-97.110                        amd64        Signed kernel image generic
rc  linux-image-5.4.0-99-generic               5.4.0-99.112                        amd64        Signed kernel image generic
ii  linux-image-generic                        5.4.0.113.117                       amd64        Generic Linux kernel image
ii  linux-image-generic-hwe-20.04              5.13.0.44.49~20.04.28               amd64        Generic Linux kernel image
ii  linux-image-oem-osp1                       5.4.0.113.117                       amd64        Depends on the generic kernel image (dummy transitional package)
@precision-3551:~$ dpkg --list | grep -i -E --color 'linux-image|linux-kernel' | grep '^ii'
ii  linux-image-5.13.0-41-generic              5.13.0-41.46~20.04.1                amd64        Signed kernel image generic
ii  linux-image-5.13.0-44-generic              5.13.0-44.49~20.04.1                amd64        Signed kernel image generic
ii  linux-image-5.4.0-113-generic              5.4.0-113.127                       amd64        Signed kernel image generic
ii  linux-image-generic                        5.4.0.113.117                       amd64        Generic Linux kernel image
ii  linux-image-generic-hwe-20.04              5.13.0.44.49~20.04.28               amd64        Generic Linux kernel image
ii  linux-image-oem-osp1 

E quando tento limpar, não recebo nenhum listado:

@precision-3551:~$ sudo apt --purge autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Eu também investiguei /etc/apt/apt.conf.d/01autoremove-kernels, como sugerido poresta resposta, mas esse arquivo não existe no meu caso. Acho que removendo os 5.4kernels posso economizar um pouco de espaço. Como posso fazer isso ou há algum sinal de que não deveria?

Responder1

Vamos parar um minuto e simplesmente reorganizar essa lista. Talvez faça mais sentido agora:

// OEM Kernel packages
ii  linux-image-oem-osp1                       5.4.0.113.117                       amd64        Depends on the generic kernel image (dummy transitional package)
ii  linux-headers-5.0.0-1034-oem-osp1          5.0.0-1034.39                       amd64        Linux kernel headers for version 5.0.0 on 64 bit x86 SMP
rc  linux-image-5.0.0-1034-oem-osp1            5.0.0-1034.39                       amd64        Signed kernel image oem-osp1

// Original 20.04 kernel 5.4 packages
ii  linux-image-generic                        5.4.0.113.117                       amd64        Generic Linux kernel image
ii  linux-image-5.4.0-113-generic              5.4.0-113.127                       amd64        Signed kernel image generic
ii  linux-headers-generic                      5.4.0.113.117                       amd64        Generic Linux kernel headers
ii  linux-headers-5.4.0-113                    5.4.0-113.127                       all          Header files related to Linux kernel version 5.4.0
ii  linux-headers-5.4.0-113-generic            5.4.0-113.127                       amd64        Linux kernel headers for version 5.4.0 on 64 bit x86 SMP

// Hardware Enablement (HWE) 20.04 kernel 5.13 packages
ii  linux-image-generic-hwe-20.04              5.13.0.44.49~20.04.28               amd64        Generic Linux kernel image
ii  linux-image-5.13.0-41-generic              5.13.0-41.46~20.04.1                amd64        Signed kernel image generic
ii  linux-image-5.13.0-44-generic              5.13.0-44.49~20.04.1                amd64        Signed kernel image generic
ii  linux-headers-generic-hwe-20.04            5.13.0.44.49~20.04.28               amd64        Generic Linux kernel headers
ii  linux-headers-5.13.0-41-generic            5.13.0-41.46~20.04.1                amd64        Linux kernel headers for version 5.13.0 on 64 bit x86 SMP
ii  linux-headers-5.13.0-44-generic            5.13.0-44.49~20.04.1                amd64        Linux kernel headers for version 5.13.0 on 64 bit x86 SMP
  • rckernels não são instalados e não ocupam espaço. Essas são simplesmente entradas no banco de dados do apt de kernels que o apt conhecia no passado. Ignoramos a maioria deles.

  • Você tem um metapacote e cabeçalhos de kernel OEM. Os kernels OEM são destinados a hardware específico por um tempo limitado, até que o suporte de hardware para esse hardware chegue ao kernel da linha principal. Se o seu hardware funcionar bem no kernel 5.13 atual, você não precisará mais dos pacotes de kernel OEM 5.0 e 5.4. Basta removê-los: sudo apt remove linux-image-oem-osp1 linux-headers-5.0.0-1034-oem-osp1. Ver? Essa foi fácil.

  • Você tem a pilha de kernel 5.4 original que acompanha o Ubuntu 20.04. Mas você não está usando (você está usando a série HWE 5.13). A menos que você planeje reverter para 5.4, você pode simplesmente remover esses cinco pacotes.

  • Você tem duas versões do seu kernel 5.13 atual, -44 e o antigo -41. É assim que parece correto (você realmente deveria ter dois). NÃO remova nenhum desses pacotes. Deixe o apt lidar com esta série automaticamente.

  • Parece que não há nada de errado com o apt. Na verdade, ele está excluindo automaticamente os kernels mais antigos - é por isso que você tem tantos rckernels listados. Você tem tantos kernels instalados porque você --o administrador humano-- não instruiu o apt a desinstalar esses metapacotes OEM e 5.4, eextrair kernels adicionais é o que esses metapacotes fazem!

Responder2

Seu kernel com estado "rc" já foi desinstalado, mas alguma configuração ainda pode estar lá. Se quiser limpar a configuração, você pode fazer sudo dpkg --purge <name of package>, por exemplo sudo dpkg --purge linux-image-5.4.0-86-generic.

informação relacionada