
Я использую 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
.