Назад | Перейти на главную страницу

Сломалось обновление ядра Linux: как удалить ядро, которое все сломало?

Я только что обновил Ubuntu 10.04 (Server Edition) до 2.6.32-36. Однако после этого обновления сервер больше не запускался, и GRUB сообщает мне, что он не может прочитать заголовок.

Я перезагрузил компьютер, удерживая нажатой клавишу Shift при запуске, и GRUB затем показывает список старых ядер. Я выбрал ту, с которой обновился, и система запускается и работает как раньше.

Теперь я бы хотел избавиться от новейшего ядра и просто придерживаться старого. Итак, я решил, что могу запустить apt-get remove linux-image-2.6.32-36-server, а затем перенастроить GRUB. Однако когда я запускаю эту команду, Linux дает мне следующее:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  linux-image-2.6.32-36-server linux-image-server linux-server
0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
After this operation, 128MB disk space will be freed.
Do you want to continue [Y/n]? n
Abort.

Должен ли я действительно позволить Linux удалить «linux-image-server» и «linux-server»? Это сломает мою систему? Сейчас я работаю с 2.6.32-33-сервером.

Linux backupserver 2.6.32-33-server #72-Ubuntu SMP Fri Jul 29 21:21:55 UTC 2011 x86_64 GNU/Linux

Для большей безопасности вы можете удалить (или закомментировать) более новое ядро ​​из файла конфигурации GRUB:

default 0
timeout 3
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

#title Linux 2.6.32-36
#root (hd0,0)
#kernel  /boot/vmlinuz-2.6.39-gentoo-r2 root=/dev/sda1 ro fastboot quiet

title Linux 2.6.32-33
root (hd0,0)
kernel  /boot/vmlinuz-2.6.38-gentoo root=/dev/sda1 ro fastboot quiet

или измените default вариант для более старого порядка ядра (начиная с 0).

По моему опыту, удаление пакета ядра никогда не вызывало проблем. Даже если в вашей системе вообще не осталось ядра, вы все равно можете загрузить ее с загрузочного компакт-диска или DVD и установить ядро ​​в свою систему на жесткий диск. Если уж на то пошло, в чем я очень сомневаюсь, вам нужно будет сделать что-то вроде этого:

Boot from CD
mount -o bind /dev  <your root directory of hard drive>/dev
mount -o bind /proc  <your root directory of hard drive>/proc
chroot <your root directory on hard drive>
apt-get install <any kernel you like>
update-grub

Если ваш сервер не является критически важным, я предлагаю вам изучить как можно больше. Это дух всех пользователей Linux, не так ли? :)