登陆客户系统需要用 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 就能
正常读写自己的运行时数据。
