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

news2025/4/20 17:58:48

由于使用阿里云进行部署测试,因而会对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. 监控系统日志,及时发现和处理异常情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2338886.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关系型数据库MYSQL(续)

目录 三.MySQL事务原理分析 1.事务是什么? 2.执行事务的目的是什么? 3.事务是由什么组成的? 4.事务的特征是什么? 5.事务控制语句 6.ACID特性 6.1原子性(A) 6.2隔离性(I) …

WInform当今技术特性分析

Windows Forms (WinForms) 技术特性分析 引言 Windows Forms (WinForms) 作为微软最早推出的基于.NET的图形用户界面开发框架,已经存在了20多年。在如今充满了各种现代UI框架的软件开发生态系统中,WinForms仍然保持着其独特的地位。本文将深入分析WinF…

运筹学之模拟退火

目录 一、历史二、精髓思想三、案例与代码实现 一、历史 问:谁在什么时候提出模拟退火?答:模拟退火算法(Simulated Annealing,SA)是由斯图尔特柯尔斯基(Scott Kirkpatrick) 等人在 …

树莓派5-开发应用笔记

0.树莓派系统目录 /home:用户目录。 除了root用户外,其他所有的使用者的数据都存放在这个目录下,在树莓派的系统中,/home目录中有一个pi的子目录,这个就是pi用户的默认目录。 /bin: 主要放置系统的必备执行文件目录。 …

8.5/Q1,Charls最新文章解读

文章题目:Atherogenic index of plasma, high sensitivity C-reactive protein and incident diabetes among middle-aged and elderly adults in China: a national cohort study DOI:10.1186/s12933-025-02653-4 中文标题:中国中老年人群血…

k8s 调整Node节点 Max_Pods

默认情况下,Kubernetes集群中一个Node最多能起110个Pod。 这是基于性能和资源管理的考虑,以确保Kubernetes集群的稳定性和可靠性。 查看kht125节点上支持的最大pod数量: kubectl describe node kht125 | grep -i “Capacity|Allocatable” -A 6 调整…

使用Service发布前后端应用程序

使用Service发布前后端应用程序 文章目录 使用Service发布前后端应用程序[toc]一、创建并发布后端应用程序二、创建并发布前端应用程序三、通过前端发送流量进行测试 部署前端(Frontend)微服务和后端(Backend)微服务是比较常见的应…

Ubuntu20.04下Docker方案实现多平台SDK编译

0 前言 熟悉嵌入式平台Linux SDK编译流程的小伙伴都知道,假如平台a要求必须在Ubuntu18.04下编译,平台b要求要Ubuntu22.04的环境,那我只有Ubuntu20.04,或者说我的电脑硬件配置最高只能支持Ubuntu20.04怎么办?强行在Ubuntu20.04下编译,编又编不过,换到旧版本我又不愿意,…

-SSRF 服务端请求Gopher 伪协议无回显利用黑白盒挖掘业务功能点

1 、 SSRF 漏洞原理 SSRF(Server-Side Request Forgery: 服务器端请求伪造 ) 一种由攻击者构造形成由服务端发起请求的一个安全漏洞 ; 一般情况下, SSRF 攻击的目标是从外网无法访问的内部系统。 (正是因为它是由服务端发起的,所以它能…

《AI大模型应知应会100篇》第27篇:模型温度参数调节:控制创造性与确定性

第27篇:模型温度参数调节:控制创造性与确定性 摘要 在大语言模型的使用中,“温度”(Temperature)是一个关键参数,它决定了模型输出的创造性和确定性之间的平衡。通过调整温度参数,您可以根据任…

聊聊Doris的数据模型,如何用结构化设计解决实时分析难题

传统 OLAP 系统的局限 在大数据实时分析领域,数据模型设计直接决定了系统的查询性能、存储效率与业务适配性。Apache Doris作为新一代MPP分析型数据库,通过独创的多模型融合架构,在业内率先实现了"一份数据支持多种分析范式"的能力…

LNA设计

设计目的 为后级提供足够的增益以克服后级电路噪声 尽可能小的噪声和信号失真 确保输入和输出端的阻抗匹配 确保信号线性度 评价标准 噪声系数 功率增益 工作频率和带宽 输入信号功率动态范围 端口电压驻波比 稳定性 基于SP模型的LNA设计 直流分析 S参数分析 设计指标 &#xf…

JavaSpring 中使用 Redis

创建项目 配置 Redis 服务地址 创建 Controller 类 由于当前只是些简单的测试代码,所以就不进行分层了,只创建一个 Controller 来实现 jedis 通过 jedis 对象里的各种方法来操作 Redis 此处通过 StringRedisTemplate 来操作 Redis 最原始提供的类是 Re…

多线程使用——线程安全、线程同步

一、线程安全 (一)什么是线程安全问题 多个线程,同时操作同一个共享资源的时候,可能会出现业务安全的问题。 (二)用程序摹拟线程安全问题 二、线程同步 (一)同步思想概述 解决线…

Spring Boot 集成 tess4j 实现图片识别文本

tesseract是一个开源的光学字符识别(OCR)引擎,它可以将图像中的文字转换为计算机可读的文本。支持多种语言和书面语言,并且可以在命令行中执行。它是一个流行的开源OCR工具,可以在许多不同的操作系统上运行。 Tess4J是…

Redis命令——list

列表类型是用来存储多个有序的字符串,列表中的每个字符串称为元素(element),⼀个列表最多可以存储个元素 在 Redis 中,可以对列表两端插入(push)和弹出(pop),…

MicroDEM 与 OpenEV(FWTtools工具包):两款开源DEM相关小软件

大家好,今天为大家介绍的软件是MicroDEM 与 OpenEV,这两款小软件分别主要用于DEM数据的处理、数据查看与分析。MICRODEM是一款专注于地理空间分析和遥感数据处理的开源小软件。 MICRODEM官网网址为:https://microdem.org/,官网比较…

STM32使用rand()生成随机数并显示波形

一、随机数生成 1、加入头文件:#include "stdlib.h" 2、定义一个用作生成随机数种子的变量并加入到滴答定时器中不断自增:uint32_t run_times 0; 3、设置种子:srand(run_times);//每次生成随机数前调用一次为佳 4、生成一个随…

大语言模型智能体:安全挑战与应对之道

在当今科技飞速发展的时代,大语言模型驱动的智能体正逐渐融入我们生活和工作的方方面面,给我们带来了诸多便利。但与此同时,它们的安全问题也引起了广泛的关注。今天,咱们就一起来深入了解一下可信大语言模型智能体所面临的安全挑…

每日OJ_牛客_kotori和素因子_DFS_C++_Java

目录 牛客_kotori和素因子_DFS 题目解析 C代码 Java代码 牛客_kotori和素因子_DFS kotori和素因子 描述: kotori拿到了一些正整数。她决定从每个正整数取出一个素因子。但是,kotori有强迫症,她不允许两个不同的正整数取出相同的素因子…