AI 帮我修复了 atrust 在 deepin25 上闪退的问题

发布于

justcode:

登陆客户系统需要用 atrust,但是装在 deepin 上面一直都在崩溃,尝试让 claude 修复一下,然后就修好了,哈?这也行,真是牛的

## 根本原因

Deepin 25 采用了不可变根文件系统架构,`/usr` 目录整体以只读方式挂载:

```
usr-overlay on /usr type overlay (ro,...)
```

而 aTrust 把运行时需要频繁读写的数据(端口锁文件、RPC socket 文件等)放在了 ` /usr/share/sangfor/.aTrust/var/run/ ` 下。程序启动时尝试删除/重建这些文件,由于 `/usr` 只读而失败,报错:

```
Failed to start the RPC service, reason: Error: EROFS: read-only file system, unlink '/usr/share/sangfor/.aTrust/var/run/aTrustWorkSpace-...'
```

RPC 服务起不来 → 主窗口跟着关闭 → 进程退出,也就是所谓的"闪退"。

同时确认了 `aTrustDaemon.service` ( VPN 核心引擎服务)当时处于 `activating (auto-restart)` 状态,即不断崩溃重启的循环,同一个只读文件系统原因导致。

已排除版本问题:Downloads 目录里的几个安装包(含 Lite 版)版本都是同一个 2.5.16.20 (或更旧的 2.4.10.50 ),说明这是 aTrust 客户端尚未适配这类不可变系统发行版的兼容性 bug ,不是安装包选错或版本过旧的问题。

## 修复方案

思路:不改动系统整体的只读/不可变特性,只针对 aTrust 需要读写的这一个目录,用 bind mount 把它重定向到系统里真正可写的分区(`/var`),这样 aTrust 就能正常读写自己的运行时数据。

---

原文链接:[点击查看](https://www.v2ex.com/t/1230996)

评论

暂无评论。

0.066298s