news 2026/4/23 9:15:57

systemd修复

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
systemd修复

比起君子讷于言而敏于行,我更喜欢君子善于言且敏于行。

目录

场景

解决思路:

1. 重装

2. 热恢复

1)让 systemd 重新 exec 自身

2)手动拉起 D-Bus(它死了 systemd 就失联)

3)若 D-Bus 反复崩,把 systemd 与 DBus 一起重装,装完再次 kill -15 1 触发重载

4)验证

5)日志报错

总结


场景

前阵子为了丝滑迁移,拿到了一些虚拟机的包,放到服务器上给它们拉起来。之前都是正常的,这周遇到了一台难搞的机器,它是问题是这样的:systemctl start ssh失败,每次只要执行这个命令,虚拟机直接卡死,不停的让我重新输入密码,不得不硬重启。接着我发现,卸载ssh重装后是服务是正常的,但是呢,修改配置文件后sudo systemctl reload ssh ,正常。sudo systemctl restart ssh 失败,卡死,硬重启。接着我尝试去操作其他服务,比如docker,也是一样的现象。

定位问题为:systemd崩溃

解决思路:

1. 重装

有句经典的话怎么说来着?重启可以解决99%的问题,重装可以解决100%的问题。但是我这个是上古时期的设备,里面的服务没人知道到底咋搞的,我只能小心翼翼的全部copy。很显然不能重装。

2. 热恢复

1)让 systemd 重新 exec 自身

sudo kill -15 1

正常时 3-5 秒后systemctl is-system-running应返回running
若仍卡,继续第 2 步。

2)手动拉起 D-Bus(它死了 systemd 就失联)

sudo /usr/bin/dbus-daemon --system --fork

再试systemctl status看是否恢复。

3)若 D-Bus 反复崩,把 systemd 与 DBus 一起重装,装完再次kill -15 1触发重载

sudo apt update sudo apt install --reinstall systemd libsystemd0 dbus

我重装的时候遇到了报错,是APT 源里版本不一致导致的,所以最好是用当前系统已装版本强行重装

# 1. 让 APT 只下载“已装版本”的 deb 包 sudo apt-get install --reinstall --download-only systemd libsystemd0 dbus \ libpam-systemd systemd-sysv # 2. 手动 dpkg 覆盖(不经过依赖检查) sudo dpkg -i --force-overwrite \ /var/cache/apt/archives/systemd_237-3ubuntu10.57_*.deb \ /var/cache/apt/archives/libsystemd0_237-3ubuntu10.57_*.deb \ /var/cache/apt/archives/dbus_*.deb \ /var/cache/apt/archives/libpam-systemd_237-3ubuntu10.57_*.deb \ /var/cache/apt/archives/systemd-sysv_*.deb # 3. 修复可能残留的依赖 sudo apt-get install -f

4)验证

sudo kill -15 1 # 让 systemd 重新 exec 自身 systemctl is-system-running # 应返回 running 或 starting journalctl -b -p err | tail -20 #若仍 degraded,查看最后20行systemd错误日志,继续搞

5)日志报错

一般吧,可能上面4)之后就结束了,很不幸,我这个还是有点子问题......

root:~# journalctl -b -p err | tail -20 -- Logs begin at Wed 2026-01-14 16:43:42 CST, end at Wed 2026-01-14 17:20:30 CST. -- Jan 14 16:53:41 10-198-11-111 systemd[1]: Timed out waiting for device dev-disk-by\x2dlabel-3F06\x2d266F.device.

问题解释:

Timed out waiting for device dev-disk-by\x2dlabel-4F05\x2d212F.device
→ fstab 里写了一个 LABEL=3F06-266F 的设备,系统找不到,导致该挂载单元失败,把整个系统拖进 maintenance 模式。

解决方案:

使用UUID去写/etc/fstab文件,我之前写错的是LABEL=3F06-266F,搞错了,应该是UUID=3F06-266F

root:~# blkid | grep 3F06-266F /dev/vda15: LABEL="UEFI" UUID="3F06-266F" TYPE="vfat" PARTUUID="4f41f-f98f-4270-ba-8d2aa2a7" root:~# cat /etc/fstab UUID=3F06-266F /boot/efi vfat defaults 0 0

最后再去执行,直到显示 running或者starting。

sudo kill -15 1 sleep 3 systemctl is-system-running

总结

问题链路:
raw 模板克隆
→ systemd 家族包部分升级 / 混源
→ PID 1 运行态与磁盘/库不一致
→ systemctl start/restart 阻塞
→ dbus system bus 不可用
→ ssh/docker 等全部“假死”


我的解法:
强制 systemd ABI 对齐
→ dpkg 覆盖安装
→ PID 1 re-exec
→ systemd 恢复一致运行态
→ 所有 service 恢复正常

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 2:08:55

VMware数据恢复收费情况亲测分享

数据恢复行业分析:金海境科技的卓越表现 行业痛点分析 在数据恢复领域,面临着诸多技术挑战。随着数字化进程加速,数据量爆发式增长,存储设备故障、软件系统崩溃、人为误删除等情况频繁出现,导致数据丢失风险大增。据…

作者头像 李华
网站建设 2026/4/15 19:59:59

哈希(Hash)算法与系统安全:从概念到实战的完整指南

📺 B站视频讲解(Bilibili):博主个人介绍 📘 《Yocto项目实战教程》京东购买链接:Yocto项目实战教程 哈希(Hash)算法与系统安全:从概念到实战的完整指南 读完目标: 你能清晰区分:哈希 vs 加密 vs 编码 vs 校验和 你能说清哈希的核心性质与“安全性三件套”(抗原像…

作者头像 李华
网站建设 2026/4/22 4:25:54

【开题答辩全过程】以 台球俱乐部管理系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

作者头像 李华
网站建设 2026/4/18 15:47:32

江大新财务系统介绍

该系统支持PC端和手机端操作,具备发票自动识别、费用项自动映射、多项目报销、智能客服等功能,旨在提升师生报销效率和体验。系统涵盖日常报销、差旅报销、酬金报销和借款等业务场景,通过自动化流程减少人工操作,并提供审批流程跟…

作者头像 李华
网站建设 2026/4/16 4:02:53

内网权限维持——利用WMI进行权限维持

文章目录 一、WMI事件订阅机制简介二、利用事件订阅进行权限维持三、防御方式 一、WMI事件订阅机制简介 WMI(Windows Management Instrumentation,Windows管理规范)是windows提供的一种能够直接与系统进行交互的机制,旨在为系统…

作者头像 李华