警惕阿里云中的yum update操作不当导致:/sbin/init被清空导致Linux无法正常启动

由于使用阿里云进行部署测试,因而会对yum update进行操作,这两天更新了systemd-239-82.0.3.4.al8.2.x86_64,但存在报错,然后进行yum history undo和清空yum cache,但出现操作Linux命令行无效。具体来说,几个报错如下:

Running transaction test Transaction test succeeded. Running transaction Preparing :

1/1 Running scriptlet: systemd-239-82.0.3.4.al8.3.x86_64

1/1 Running scriptlet: systemd-239-82.0.3.4.al8.3.x86_64

1/2 Upgrading : systemd-239-82.0.3.4.al8.3.x86_64

1/2 Error unpacking rpm package systemd-239-82.0.3.4.al8.3.x86_64

Verifying : systemd-239-82.0.3.4.al8.3.x86_64 1/2

Verifying : systemd-239-82.0.3.4.al8.2.x86_64 2/2

Failed: systemd-239-82.0.3.4.al8.2.x86_64 systemd-239-82.0.3.4.al8.3.x86_64

Error: Transaction failed

经查初步判断为RPM包中systemd-239.82.0.34.al8.2.x86_64、systemd-239-82.0.3.4.al8.3.x86_64的三个文件RPM都有问题。

于是采取yum history undo回复操作,但由于此前更新涉及systemd的更新,版本不对后的回复涉及了部分sysvinit的缓存清空,在操作过程不慎造成/sbin/init中的指令文件完全被删除。

因此,在未重启服务器时,在操作界面进行reboot、login、logout等指令均报错:

reboot bash: reboot: command not found... Failed to search for file: Failed to download gpg key for repo 'docker-ce-stable': Curl error (35): SSL connect error for https://download.docker.com/linux/centos/gpg [OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to download.docker.com:443 ]

在阿里云平台工具进行服务器重启后,一直长时间等待后启动服务器,但仍没法进行SSH或远程链接,哪怕进行停机,也等待很久。

由于测试服务为主,本实例并没有安装快照(因为需要收费的),所以这次整个测试服务器估计都凉了,需要重新部署操作系统。系统健康诊断亦已经检测到严重的问题。

由此可见几点教训值得大家关注:

一、如果是正式或重要的部署快照的钱还是不能省的。

二、没事少做yum update或yum install或者清空sysvinit相关的操作,涉及所有跟systemd有关的更新,尽量少做,所谓的开源免费的东西,其实也很不靠谱。

三、警惕阿里云本身的yum update陷阱,他们对rpm的安装包都有自己的具体处理,鬼知道会否搞些小动作要你买他们这个那个服务(从阴谋论提出质疑)

四、对于在阿里云上的systemd-239-82.0.3.4这个版本的安装,一定要十分谨慎。

重点来了,如何可以在无法通过Workbench远程连接以及SSH连接的情况下,尽力修改/sbin/init的文件?

我们可以通过阿里云Alibaba Cloud Client的桌面工具。采用发送远程命令的方式,进行链接操作,其具体界面如下:

在远程命令的窗体,打上cd /sbin/init,看看目录中有否存在,果断有没存在这个目录文件

然后重新运行sudo yum install systemd -y,则可。

最后记得加上sudo reboot命令重启服务器。

对于以后预防措施

为了防止类似问题再次发生,建议采取以下措施:

  1. 定期备份关键系统文件 ,特别是/sbin/init等核心文件。

  2. 启用阿里云实例的自动快照功能,以便在出现故障时快速恢复(需要收钱)。

  3. 加强系统安全,防止未经授权的访问和恶意操作。

  4. 监控系统日志,及时发现和处理异常情况。

相关推荐
UpUpUp……17 分钟前
Linux--JsonCpp
linux·运维·服务器·c++·笔记·json
Willis_m34 分钟前
Linux 服务器用 SSH 拉取多个 Git 工程
linux·服务器·git·ssh
紫金修道41 分钟前
【Linux】在Arm服务器源码编译onnxruntime-gpu的whl
linux·服务器·arm开发
xixingzhe21 小时前
Nginx 配置多个监听端口
服务器·前端·nginx
Clockwiseee1 小时前
文件上传总结
运维·服务器·学习·文件上传
liyi_hz20081 小时前
O2OA(翱途)开发平台系统安全-用户登录IP限制
运维·服务器·网络·o2oa开发
xq5148632 小时前
Linux系统下安装mongodb
linux·mongodb
柒七爱吃麻辣烫2 小时前
在Linux中安装JDK并且搭建Java环境
java·linux·开发语言
孤寂大仙v3 小时前
【Linux笔记】——进程信号的产生
linux·服务器·笔记
深海蜗牛3 小时前
Jenkins linux安装
linux·jenkins