1. Centos7 更新内核失败的原因
安装内核后, 设置默认启动的内核错误, 就是设置为rescue模式
2. 事情经过
- 我操作的内容:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel -y install kernel-ml
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
这时候会显示默认启动内核列表:
0 : CentOS Linux (0-rescue-00a62363617944e08db8db894ba6145e) 7 (Core)
1 : CentOS Linux (5.1.1-1.el7.elrepo.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-693.11.6.el7.x86_64) 7 (Core)
3 : CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
接下来就是选择错误的地方
# 错误选择默认的0
grub2-set-default 0
接着就会重启不了, 因为是VPS原因, 无法操作, 手动选择启动的内核, 所以就翻车了.
丢失所有数据, 重装系统
正确做法是选择, 是列表上5.1内核
grub2-set-default "CentOS Linux (5.1.1-1.el7.elrepo.x86_64) 7 (Core)"
重启即可.
3. 总结下.
虽然是使用脚本创建的错误, 也暴露一了问题. 有时候没有理解命令的意思就盲目去执行, 造成无法预料的后果.
如何避免这种类似事故:
-
高危操作时, 必须在相同主机测试, 确认理解每一步的操作内容.
-
高危操作时, 必须进行数据备份, 禁止使用网络上一键脚本.