ทั้ง RedHat และ Debian ที่ใช้การกระจายเก็บเคอร์เนลหลายเวอร์ชันเมื่อคุณติดตั้งใหม่โดยใช้yum
หรือapt-get
โดยค่าเริ่มต้น ซึ่งถือเป็นแนวปฏิบัติที่ดีและถูกต้องสำหรับกรณีที่คุณอธิบาย: หากมีสิ่งผิดปกติกับเคอร์เนลล่าสุดคุณสามารถรีบูตได้และใน GRUB เลือกที่จะบูตโดยใช้หนึ่งในเมล็ดก่อนหน้านี้
ใน distros RedHat คุณสามารถควบคุมจำนวนเมล็ดไปเก็บไว้ใน/etc/yum.conf
ที่มีinstallonly_limit
การตั้งค่า CentOS 7 สดของฉันติดตั้งเริ่มต้นที่ 5
นอกจากนี้หากใน RedHat คุณกำลังติดตั้งเคอร์เนลใหม่จากแพ็กเกจ RPM ที่คุณควรใช้rpm -ivh
ไม่ใช่rpm -Uvh
: อดีตจะเก็บเคอร์เนลเก่าไว้ในขณะที่ภายหลังจะแทนที่มัน
Debian เก็บเมล็ดพืชไว้ แต่ไม่ลบเมล็ดออกโดยอัตโนมัติ หากคุณต้องการเพิ่มจำนวนพาร์ติชันสำหรับเริ่มระบบคุณต้องลบเมล็ดเก่าด้วยตนเอง (อย่าลืมปล่อยเคอร์เนลก่อนหน้านี้อย่างน้อยหนึ่งอัน) ในการแสดงรายการแพ็คเกจการติดตั้งเคอร์เนลและเคอร์เนลส่วนหัวใช้dpkg -l | egrep "linux-(im|he)"
ทั้งหมด
ตอบคำถามของคุณ - นอกจากนี้ยังมีเคอร์เนลรุ่นเดียวกันได้หรือไม่? - ใช่เป็นไปได้ ฉันไม่สามารถตรวจสอบได้บน CentOS 6.5 ในขณะนี้ แต่ใน CentOS 7 ฉันสามารถให้ผลลัพธ์ที่ต้องการโดยเพียงแค่ทำซ้ำไฟล์ที่เกี่ยวข้องกับเคอร์เนลของ/boot
ไดเรกทอรีและสร้างเมนูด้วง:
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