Как мне запретить Ubuntu пытаться обновить ядро?
Базовая архитектура OpenVZ моего хоста обеспечивает это ядро:
$ uname -r
2.6.32-042stab116.2
И мое понимание это вне моего контроля. Тем не менее, каждый раз, когда я делаю:
$ sudo aptitude update && sudo aptitude safe-upgrade
я вижу, что Ubuntu пытается (и не может) обновить. Теперь у меня есть несколько пакетов в частично установленном состоянии:
$ dpkg -l |grep linux
ii libselinux1:i386 2.2.2-1ubuntu0.1 i386 SELinux runtime shared libraries
ii linux-firmware 1.127.22 all Firmware for Linux kernel drivers
iU linux-generic 3.13.0.101.109 i386 Complete Generic Linux kernel and headers
ii linux-headers-3.13.0-100 3.13.0-100.147 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-100-generic 3.13.0-100.147 i386 Linux kernel headers for version 3.13.0 on 32 bit x86 SMP
ii linux-headers-3.13.0-101 3.13.0-101.148 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-101-generic 3.13.0-101.148 i386 Linux kernel headers for version 3.13.0 on 32 bit x86 SMP
ii linux-headers-3.13.0-91 3.13.0-91.138 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-91-generic 3.13.0-91.138 i386 Linux kernel headers for version 3.13.0 on 32 bit x86 SMP
ii linux-headers-3.13.0-92 3.13.0-92.139 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-92-generic 3.13.0-92.139 i386 Linux kernel headers for version 3.13.0 on 32 bit x86 SMP
ii linux-headers-3.13.0-93 3.13.0-93.140 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-93-generic 3.13.0-93.140 i386 Linux kernel headers for version 3.13.0 on 32 bit x86 SMP
ii linux-headers-3.13.0-96 3.13.0-96.143 all Header files related to Linux kernel version 3.13.0
ii linux-headers-3.13.0-96-generic 3.13.0-96.143 i386 Linux kernel headers for version 3.13.0 on 32 bit x86 SMP
ii linux-headers-generic 3.13.0.101.109 i386 Generic Linux kernel headers
iF linux-image-3.13.0-100-generic 3.13.0-100.147 i386 Linux kernel image for version 3.13.0 on 32 bit x86 SMP
iF linux-image-3.13.0-101-generic 3.13.0-101.148 i386 Linux kernel image for version 3.13.0 on 32 bit x86 SMP
iF linux-image-3.13.0-92-generic 3.13.0-92.139 i386 Linux kernel image for version 3.13.0 on 32 bit x86 SMP
iF linux-image-3.13.0-93-generic 3.13.0-93.140 i386 Linux kernel image for version 3.13.0 on 32 bit x86 SMP
iF linux-image-3.13.0-96-generic 3.13.0-96.143 i386 Linux kernel image for version 3.13.0 on 32 bit x86 SMP
iU linux-image-extra-3.13.0-100-generic 3.13.0-100.147 i386 Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
iU linux-image-extra-3.13.0-101-generic 3.13.0-101.148 i386 Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
iU linux-image-extra-3.13.0-92-generic 3.13.0-92.139 i386 Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
iU linux-image-extra-3.13.0-93-generic 3.13.0-93.140 i386 Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
iU linux-image-extra-3.13.0-96-generic 3.13.0-96.143 i386 Linux kernel extra modules for version 3.13.0 on 32 bit x86 SMP
iU linux-image-generic 3.13.0.101.109 i386 Generic Linux kernel image
ii linux-libc-dev:i386 3.13.0-101.148 i386 Linux Kernel Headers for development
ii syslinux 3:4.05+dfsg-6+deb8u1 i386 collection of boot loaders
ii syslinux-common 3:4.05+dfsg-6+deb8u1 all collection of boot loaders (common files)
ii util-linux 2.20.1-5.1ubuntu20.7 i386 Miscellaneous system utilities
Для полноты картины я использую очень похожий контейнер OpenVZ (тот же хостинг), который не показывает ту же проблему:
$ uname -r
2.6.32-042stab116.2
$ dpkg -l |grep linux
ii libselinux1:i386 2.2.2-1ubuntu0.1 i386 SELinux runtime shared libraries
ii libv4l-0:i386 1.0.1-1 i386 Collection of video4linux support libraries
ii libv4lconvert0:i386 1.0.1-1 i386 Video4linux frame format conversion library
ii linux-libc-dev:i386 3.13.0-101.148 i386 Linux Kernel Headers for development
ii syslinux 3:4.05+dfsg-6+deb8u1 i386 collection of boot loaders
ii syslinux-common 3:4.05+dfsg-6+deb8u1 all collection of boot loaders (common files)
ii util-linux 2.20.1-5.1ubuntu20.7 i386 Miscellaneous system utilities
Как вы можете видеть, фактическое ядро не перечислено dpkg
ни на одной из машин, но только первое вносило эти более новые, нежелательные ядра. Обновления последнего работали гладко.
ОБНОВЛЕНИЕ
Чтобы удалить наполовину установленные пакеты, см. Этот вопрос .
У вас установлено несколько пакетов образов ядра (пакеты начинаются с linux-image
), и, как и все другие пакеты, менеджер пакетов хочет обновить их, когда в репозиториях будет доступна более новая версия.
Однако, в вашем случае ядро предоставляется хостом, и установленные пакеты ядра полностью игнорируются. В таких случаях естественно удалить их; менеджер пакетов может жаловаться, что у вас не будет установлен пакет ядра, поскольку это обычно нежелательно, но в вашем случае это вполне нормально.
В противном случае, их установка и обновление не принесут вреда (кроме как занятие дискового пространства), так как они все равно не используются.
ответ fkraiem уже объяснил, почему рабочее ядро не может быть обновлено от гостевого контейнера.
Для предотвращения обновления ядра необходимо удалить meta пакеты
sudo apt-get purge linux-generic linux-image-generic linux-headers-generic