news 2026/8/28 21:49:08

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/8/28 17:53:02

云晨科技模版项目介绍说明

一、项目背景及简介分析了传统开发模式的痛点介绍云晨科技作为企业级全栈开发模版解决方案平台的定位强调60模版、10全栈方案、200组件的核心资源视频介绍:二、目标客户软件开发公司个人开发者/自由职业者创业团队/初创公司传统企业数字化转型团队教育培训机构三、平…

作者头像 李华
网站建设 2026/8/23 7:17:34

手把手教你用7款免费AI工具:半天搞定论文全文,告别熬夜赶稿

为什么你需要这篇AI论文工具集测评? 大学生、研究生、科研人员在论文写作中常面临选题难、写作慢、改稿繁、查重高四大痛点。传统写作流程耗时耗力,尤其在临近截止日期时容易陷入熬夜赶稿的窘境。本篇将结合实用性可落地性,以步骤式教学为核…

作者头像 李华
网站建设 2026/8/19 12:35:50

学霸同款10个AI论文工具,MBA论文写作必备!

学霸同款10个AI论文工具,MBA论文写作必备! AI 工具助力论文写作,提升效率与质量 在当前的学术环境中,MBA 学生和研究者面对论文写作的压力日益增加。无论是开题报告、文献综述还是最终的论文撰写,都需要大量的时间和精…

作者头像 李华
网站建设 2026/8/21 17:50:02

点云转mesh

Point2Mesh Start with MeshLib SDK: Live Demo, Try App, or Docs

作者头像 李华
网站建设 2026/8/19 16:02:03

FlashMLA 加速推理技术

来源: https://developer.aliyun.com/article/1653387 代码:https://github.com/deepseek-ai/FlashMLAFlashMLA 简介 FlashMLA 是一款专为 NVIDIA Hopper 架构 GPU 优化的高效 MLA(Multi-Head Linear Attention)解码内核&#xff…

作者头像 李华
网站建设 2026/8/26 9:29:21

将QtNodes添加到Qt项目中

文章目录背景和思路步骤背景和思路 最近想开发一个基于Node编辑的SOMEIP编辑器。因此需要将QtNodes项目引入到自己的项目中。 思路是将QtNodes作为submodule添加到自己git仓库中。 步骤 将QtNodes作为submodule加入到git仓库。下面指令将QtNodes引入到自己项目的“3rdparty/…

作者头像 李华