Я могу столкнуться со странными симптомами, возникающими из-за конкурирующих ядер в CentOS 7. Так как мне безопасно удалить старые ядра? И как мне узнать, какое ядро самое новое?
Ниже приведен вывод терминала, который я получаю в тот момент, когда исследую это на рассматриваемом сервере. Обратите внимание, что я попытался очистить пакет, но он оставляет те же 2 ядра:
Инструкции в этом руководстве говорят, что выходные данные следующих двух команд должны совпадать, но вы можете видеть, что они не совпадают даже после перезагрузки:
[root@localhost ~]# rpm -qa kernel |sort -V |tail -n 1
kernel-3.10.0-229.el7.x86_64
[root@localhost ~]# uname -r
3.10.0-229.14.1.el7.x86_64
Остальные команды подтверждают наличие двух ядер и иллюстрируют попытки удалить старое.
[root@localhost ~]# cd /usr/src/kernels
[root@localhost kernels]# ls -al
total 16
drwxr-xr-x. 4 root root 4096 Oct 2 12:55 .
drwxr-xr-x. 4 root root 4096 Oct 2 13:15 ..
drwxr-xr-x. 22 root root 4096 Oct 2 12:55 3.10.0-229.14.1.el7.x86_64
drwxr-xr-x. 22 root root 4096 Oct 2 12:35 3.10.0-229.el7.x86_64
[root@localhost kernels]# rpm -q kernel
kernel-3.10.0-229.el7.x86_64
kernel-3.10.0-229.14.1.el7.x86_64
[root@localhost kernels]# package-cleanup --oldkernels=1
Loaded plugins: fastestmirror
Usage:
package-cleanup: helps find problems in the rpmdb of system and correct them
usage: package-cleanup --problems or --leaves or --orphans or --oldkernels
Command line error: --oldkernels option does not take a value
[root@localhost kernels]# package-cleanup --oldkernels
Loaded plugins: fastestmirror
No old kernels to remove
[root@localhost kernels]# rpm -q kernel
kernel-3.10.0-229.el7.x86_64
kernel-3.10.0-229.14.1.el7.x86_64
[root@localhost kernels]#
Я также открыл /etc/yum.conf
и установил installonly_limit=1
, но это привело к ошибке от последующей yum update
команды, говорящей, что 1 находится вне диапазона допустимых значений для installonly_limit
.
Я предполагаю, что 3.10.0-229.14.1.el7.x86_64
это самое новое, но как я могу это знать? Кроме того, параметры загрузки, кажется, предлагают несколько ядер на выбор. И вероятность путаницы ухудшается, когда система автоматически загружается с первого ядра в списке опций.
Может кто-нибудь объяснить, как это работает, и, в частности, как безопасно удалить старые ядра, чтобы версия ядра могла быть устранена как возможная причина странных симптомов? Я хочу убедиться, что самое последнее ядро - это единственное ядро, которое может работать, независимо от того, как система перезагружается.
источник
installonly_limit=1
. У меня появляются забавные симптомы, которые могут быть следствием двух версий ядра, поэтому я хотел бы иметь только одну версию, если это возможно, или, по крайней мере, иметь четкое объяснение того, почему невозможно иметь менее 2 версий, если в На самом деле это невозможно.Ответы:
package-cleanup --oldkernels --count=1
удалить все ядра кроме последнего.источник
package-cleanup --oldkernels --count=2
package-cleanup --oldkernels --count=1
. После перезагрузки у меня по-прежнему два ядра:CentOS Linux (4.4.6-1.el7.elrepo.x86_64) 7 (Core)
иCentOS Linux (3.10.0-514.2.2.el7.x86_64) 7 (Core)
знаете, как сохранить одно?yum install yum-utils
Команда
package-cleanup
удалить старое ядро. Используйте,--count=1
чтобы держать только последние. Программа никогда не удалит используемое в настоящее время ядро («Не удаляя ядро 3.10.0-327.el7, потому что это работающее ядро»), так что вы можете получить два ядра в / boot ..., пока вы не перезагрузите компьютер и не перезапустите -запустите команду.Итак, команда
В справочном документе три варианта:
источник
Используйте
yum upgrade
вместоyum update
Тогда он будет содержать только три ядра. Если вы используете,
update
то он заполнит ваш/boot
источник
в соответствии с этим :
запустить,
rpm -q kernel
чтобы показать установленное ядрозатем запустить,
yum remove kernel <shown kernel from output above>
чтобы удалить ядроперезагрузите компьютер
редактировать: это действительно работает для проблемы @ Рона, но убедитесь, что ядро elrepo работает правильно
источник
uname -r
удаляете текущее ядро, сначала проверьте его, затем удалите неиспользуемое ядро, но показанное в этой команде,