apt --purge autoremove не может найти старые ядра

apt --purge autoremove не может найти старые ядра

Я использую Ubuntu 20.04 и пытаюсь понять, что происходит с моими ядрами Linux, и есть что-то, что кажется мне странным. Текущее ядро ​​должно быть:

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

Но я также вижу, что есть и другие установленные ядра. Любопытно, что установленные ядра — это или 5.13, 5.4без чего-либо между ними:

@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 

А когда я пробую очистить, то не получаю ничего из перечисленного:

@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.

Я также рассмотрел /etc/apt/apt.conf.d/01autoremove-kernels, как было предложеноэтот ответ, но в моем случае этого файла нет. Я думаю, что, удалив 5.4ядра, я могу сэкономить немного места. Как мне это сделать или есть какие-то признаки того, что мне не следует этого делать?

решение1

Давайте уделим минуту и ​​просто реорганизуем этот список. Возможно, теперь он будет иметь больше смысла:

// 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
  • rcядра не устанавливаются и не занимают места. Это просто записи в базе данных apt ядер, о которых apt знал в прошлом. Мы игнорируем большинство из них.

  • У вас есть метапакет и заголовочные файлы ядра OEM. Ядра OEM предназначены для определенного оборудования в течение ограниченного времени, пока поддержка этого оборудования не найдет свое место в основном ядре. Если ваше оборудование отлично работает на вашем текущем ядре 5.13, то вам больше не нужны эти пакеты ядра OEM 5.0 и 5.4. Просто удалите их командой apt: sudo apt remove linux-image-oem-osp1 linux-headers-5.0.0-1034-oem-osp1. Видите? Это было просто.

  • У вас есть оригинальный стек ядра 5.4, который поставлялся с Ubuntu 20.04. Но вы его не используете (вы используете серию HWE 5.13). Если вы не планируете вернуться к 5.4, вы можете просто удалить эти пять пакетов.

  • У вас есть две версии текущего ядра 5.13, -44 и более старая -41. Вот как выглядит правильный вариант (у вас действительно должно быть два). НЕ удаляйте ни один из этих пакетов. Позвольте apt обработать эту серию автоматически.

  • Похоже, что с apt все в порядке. Он действительно автоматически удаляет старые ядра — вот почему у вас так много rcперечисленных ядер. У вас так много установленных ядер, потому что вы — человек-администратор — не дали apt указание удалить эти метапакеты OEM и 5.4, иЭти метапакеты как раз и занимаются извлечением дополнительных ядер!

решение2

Ваше ядро ​​со статусом "rc" уже удалено, но некоторые настройки могут быть еще там. Если вы хотите очистить конфигурацию, вы можете сделать это sudo dpkg --purge <name of package>, например sudo dpkg --purge linux-image-5.4.0-86-generic.

Связанный контент