І дистрибутив на основі RedHat, і Debian зберігають кілька версій Kernel, коли ви встановлюєте нову, використовуючи yum
або apt-get
за замовчуванням. Це вважається хорошою практикою і робиться саме для описаного вами випадку: якщо щось не вдається з найновішим ядром, ви завжди можете перезавантажитись і в GRUB вирішите завантажуватися за допомогою одного з попередніх ядер.
У RedHat дистрибутивах ви контролюєте кількість ядер , щоб тримати в /etc/yum.conf
с installonly_limit
установкою. На моєму свіжому CentOS 7 встановіть його за замовчуванням до 5.
Крім того, якщо на RedHat ви встановлюєте нове ядро з пакету RPM, який ви повинні використовувати rpm -ivh
, а не rpm -Uvh
: перше збереже старе ядро на місці, а пізніше замінить його.
Debian зберігає старі ядра, але автоматично не видаляє їх. Якщо вам потрібно звільнити завантажувальний розділ, вам доведеться видалити старі ядра вручну (не забудьте залишити принаймні одне з попередніх ядер). Щоб перелічити всі пакети встановлення ядра та заголовки ядер, використовуйте dpkg -l | egrep "linux-(im|he)"
.
Відповідь на ваше запитання - Також, чи можлива наявність 2 версії того ж ядра? - Так, можливо. Я зараз не можу перевірити це на CentOS 6.5, але в CentOS 7 мені вдалося отримати бажаний результат, просто дублюючи файли, пов’язані з ядром /boot
каталогу, і перебудовувати меню grub:
cd /boot
# Duplicate kernel files;
# "3.10.0-123.el7" is a substring in the name of the current kernel
ls -1 | grep "3.10.0-123.el7" | { while read i; \
do cp $i $(echo $i | sed 's/el7/el7.backup/'); done; }
# Backup the grub configuration, just in case
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup
# Rebuild grub configuration
grub2-mkconfig -o /boot/grub2/grub.cfg
# At this point you can reboot and see that a new kernel is available
# for you to choose in GRUB menu