Ubuntu 14.04 в контейнере OpenVZ: попытка обновить ядро
Как я могу предотвратить попытки 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
на любой машине, но только первая вносила эти новые, нежелательные ядра. Обновления последнего работали без сбоев.
ОБНОВИТЬ
Чтобы удалить наполовину установленные пакеты, посмотрите этот вопрос.
2 ответа
Ответ fkraiem уже объяснил, почему работающее ядро не может быть обновлено из гостевого контейнера.
Чтобы предотвратить обновление ядра, вы должны удалить его метапакеты
sudo apt-get purge linux-generic linux-image-generic linux-headers-generic
У вас установлено несколько пакетов образа ядра (пакеты начинаются с linux-image
) и, как и все другие пакеты, менеджер пакетов хочет обновить их, когда в репозиториях будет доступна более новая версия.
Однако в вашем случае ядро предоставляется хостом, а установленные пакеты ядра полностью игнорируются. В таких случаях естественно удалить их; менеджер пакетов может жаловаться на то, что у вас не будет установлен пакет ядра, поскольку это обычно нежелательно, но в вашем случае это вполне нормально.
Кроме того, их установка и обновление не принесут никакого вреда (кроме использования дискового пространства), так как они все равно не используются.