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

相关推荐
南棱笑笑生11 小时前
20251217给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-5.10】后调通ov5645【只能预览】
linux·c语言·开发语言·rockchip
爬山算法12 小时前
Netty(10)Netty的粘包和拆包问题是什么?如何解决它们?
服务器·网络·tcp/ip
Sleepy MargulisItG12 小时前
【Linux网络编程】应用层协议:HTTP协议
linux·服务器·网络·http
logic_512 小时前
静态路由配置
运维·服务器·网络
G311354227312 小时前
Linux 内核设计中的核心思想与架构原则
linux·架构·php
zhuzewennamoamtf13 小时前
Linux内核platform抽象、数据结构、内核匹配机制
linux·运维·数据结构
csdn56597385014 小时前
阿里云 Milvus 轻松实现文搜图&图搜图
阿里云·云计算·milvus
suzhou_speeder14 小时前
企业数字化网络稳定运行与智能化管理解决方案
运维·服务器·网络·交换机·poe·poe交换机
Kira Skyler14 小时前
ELF文件解析 elf.o 文件主要内容.md
linux
逐梦吧!旅行者14 小时前
Linux MySQL 5.7用户管理与用户密码的设置问题
linux·mysql