夜雨聆风学习资料网

ARTICLE · 980040

点卸载没反应?我把这款“赖着不走”的 Mac软件彻底送走了

点卸载没反应?我把这款“赖着不走”的 Mac软件彻底送走了

aTrust 卸载实战记录

不是所有软件都好聚好散

装软件的时候一路“下一步”,卸载的时候却发现门被反锁了——这种经历你肯定也有过。

今天要说的主角是 aTrust,深信服的零信任客户端,很多企业拿它当 VPN 用。我电脑上的版本占了 600 多 MB,后来不用了想删掉,结果折腾了将近一个小时。

一、官方卸载器点了没反应

我先在“应用程序”文件夹里找卸载入口,发现它自带了一个卸载器。双击打开,界面还挺正规,点“卸载”,进度条象征性转了两圈,窗口自己消失了。

再一看,应用图标还在,菜单栏图标还亮着,后台进程也一个没少。

点了卸载,它假装听见了

这就很迷。我翻了一下它自己的日志(/var/log/sangfor/sdp/aTrustUninstall.log),里面白纸黑字写着:Permission denied

原来这个卸载器从桌面双击启动时,只有普通用户权限;但 aTrust 的真实文件都归 root 所有,根本删不动。它也不弹个提示,失败了就直接退出,装作一切正常。

所以“点了没反应”不是真的没反应,是它反应了,但失败了不说。

二、为什么这种软件特别难卸

aTrust 不是普通 App。它把主体装在了 /Library/sangfor/ 下面,/Applications 里那个图标只是个软链接。除此之外,它还在系统里埋了好几处:

  • /Library/Application Support/aTrust/
    :守护程序
  • /Library/LaunchDaemons/
    :6 个开机启动项
  • /var/log/sangfor/
    :日志目录
  • pkgutil
     安装记录

这 6 个启动项里,有个叫 aTrustUninstallMonitor 的“卸载监控”。它的作用就是盯着主程序目录,发现被异常删除就触发重装。所以如果你直接把它拖到废纸篓,今天删了,明天开机它可能又回来了。

三、手动清理的正确顺序

对于这种带守护进程和监控的软件,顺序特别重要。先删文件再停进程,守护进程可能把文件补回来;先删启动项,进程还在跑也白搭。

我的做法是:

1. 先停进程

# 查看相关进程ps aux | grep -iE "atrust|sangfor|eaio"# 结束它们(把 PID 换成实际数字)sudo kill -9 <PID>

2. 再摘启动项

# 查看开机启动项ls /Library/LaunchDaemons/ | grep sangfor# 逐个卸载并删除sudo launchctl unload /Library/LaunchDaemons/com.sangfor.xxx.plistsudo rm /Library/LaunchDaemons/com.sangfor.xxx.plist

3. 清理目录和安装记录

# 移动主程序目录到废纸篓,绕过批量删除保护sudo mv /Library/sangfor /Users/<你的用户名>/.Trash/aTrust-sangforsudo mv "/Library/Application Support/aTrust" "/Users/<你的用户名>/.Trash/aTrust-support"# 删除日志sudo rm -rf /var/log/sangfor# 注销 pkg 安装记录sudo pkgutil --forget com.mygreatcompany.pkg.aTrust

清理时要像查案一样逐项核对

这里有个细节:macOS 对一次性删除大量文件有保护机制,直接用 rm -rf 删几百个文件可能会被系统拦住。最稳妥的办法是把这些目录 mv 到废纸篓,既绕过限制,又能反悔。

四、怎么确认真的卸干净了

清理完不能凭感觉,得按清单逐项检查:

  1. 进程是否还有残留:pgrep -iE "atrust|sangfor|eaio"
  2. 启动项是否还有:ls /Library/LaunchDaemons/ | grep sangfor
  3. 主目录是否消失:/Library/sangfor//Library/Application Support/aTrust/
  4. 日志是否清除:/var/log/sangfor/
  5. pkg 记录是否注销:pkgutil --pkgs | grep -iE "atrust|sangfor"
  6. 用户目录是否还有:~/Library/Preferences~/Library/Caches~/Library/Application Support

全部为空,才算干净。

终于清净了

五、一点感想

最后两个大目录被我移到废纸篓,清倒后释放出 60 多 MB。这软件终于离开了我的电脑。

整个过程让我印象最深的一点:不是这个软件有多“流氓”,而是它把“卸载失败”设计得太安静了。用户点了卸载,没有权限、没有成功,却没有任何提示。这种“静默失败”比报错更坑人。

如果你也遇到类似情况,记住两件事:

  • 先看日志,它会告诉你真相;
  • 安全类、企业类软件不要硬删,停进程、清启动项、再移目录,按顺序来。

希望这篇记录对你有用,下次卸载别的“老赖软件”时可以少走点弯路。

相关学习资料

返回首页浏览学习资料