有一次,我正在安装一些内核补丁和在我们有数百个客户端的实时服务器上出了问题.系统中只有一个内核.因此,服务器停机了一段时间,并使用现场CD,我们得到了系统&跑步&做了进一步的修复工作.
现在我的问题:拥有2个版本的内核是个好主意,这样如果内核损坏,我们总能用另一个可用的内核重启吗?请告诉我.
此外,是否可以有相同内核的2个版本?那么当内核损坏时我可以选择另一个内核吗?
Edited:
My Server Details:
2.6.32-431.el6.x86_64
CentOS release 6.5 (Final)
我怎么能拥有这个内核的相同副本,这样当我的内核损坏时,我可以启动备份内核?
解决方法:
当您使用yum或apt-get默认安装新版本时,RedHat和基于Debian的发行版都会保留多个版本的内核.这被认为是一种很好的做法,并且完全针对您描述的情况完成:如果最新内核出现问题,您可以随时重新启动,并且在GRUB中选择使用以前的某个内核启动.
在RedHat发行版中,您可以使用installonly_limit设置控制要保留在/etc/yum.conf中的内核数量.在我新安装的CentOS 7上,默认为5.
另外,如果在RedHat上你从RPM包安装新内核你应该使用rpm -ivh,而不是rpm -Uvh:前者将保留旧内核,而后者将替换它.
Debian保留旧内核但不会自动删除它们.如果您需要释放启动分区,则必须手动删除旧内核(请记住至少留下一个以前的kerneles).要列出所有内核安装和内核头文件包,请使用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
标签:linux,centos,kernel
来源: https://codeday.me/bug/20190809/1626768.html