警惕阿里云中的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. 监控系统日志,及时发现和处理异常情况。

相关推荐
好好学习啊天天向上1 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
tan180°2 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
典学长编程2 小时前
Linux操作系统从入门到精通!第二天(命令行)
linux·运维·chrome
wuk9983 小时前
基于MATLAB编制的锂离子电池伪二维模型
linux·windows·github
snoopyfly~5 小时前
Ubuntu 24.04 LTS 服务器配置:安装 JDK、Nginx、Redis。
java·服务器·ubuntu
独行soc5 小时前
#渗透测试#批量漏洞挖掘#HSC Mailinspector 任意文件读取漏洞(CVE-2024-34470)
linux·科技·安全·网络安全·面试·渗透测试
BD_Marathon5 小时前
Ubuntu下Tomcat的配置
linux·ubuntu·tomcat
饥饿的半导体6 小时前
Linux快速入门
linux·运维
BD_Marathon6 小时前
Ubuntu:Tomcat里面的catalina.sh
linux·ubuntu·tomcat
BD_Marathon6 小时前
设置LInux环境变量的方法和区别_Ubuntu/Centos
linux·ubuntu·centos