彻底卸载 Stalwart 邮件服务(官方社区原版教程)
重要提示:本教程基于 Stalwart 0.15 版本编写,0.16 及以上新版本未经过完整测试,请自行承担操作风险。
前置要求
- 拥有 root 权限或 sudo 执行权限
- 确认当前系统使用的服务管理器(systemd / init.d)
步骤 1:停止并禁用 Stalwart 服务
1.1 基于 systemd 的 Linux 系统(Ubuntu 18.04+ / Debian 10+ / CentOS 8+)
sudo systemctl stop stalwart.service
sudo systemctl disable stalwart.service
1.2 基于 init.d 的 Linux 系统(Debian 9 / CentOS 7 及更早版本)
sudo service stalwart stop
sudo update-rc.d stalwart remove
1.3 macOS 系统
sudo launchctl stop system/stalwart.mail
sudo launchctl disable system/stalwart.mail
sudo launchctl unload /Library/LaunchAgents/stalwart.mail.plist
步骤 2:删除系统服务文件
2.1 Linux (systemd)
sudo rm -f /etc/systemd/system/stalwart.service
sudo systemctl daemon-reload
2.2 Linux (init.d)
sudo rm -f /etc/init.d/stalwart
sudo rm -f /etc/default/stalwart
2.3 macOS
sudo rm -f /Library/LaunchAgents/stalwart.mail.plist
步骤 3:删除主安装目录
若安装时修改过路径,请将 `/opt/stalwart` 替换为你的实际安装路径:
sudo rm -rf /opt/stalwart
补充说明:部分用户会将数据目录单独配置为 `/var/lib/stalwart/`,如需彻底清理数据,也请一并删除该目录。
步骤 4:删除 Stalwart 系统用户与用户组
4.1 Linux 系统
删除 stalwart 用户(-r 参数会同步删除用户家目录)
sudo userdel -r stalwart
若系统中用户名为 _stalwart(类 macOS 命名),执行下方命令
sudo userdel -r _stalwart
补充说明:Stalwart 安装程序默认不会创建用户家目录,若你不需要彻底清空残留,可去掉 `-r` 参数。
4.2 macOS 系统
# 先查询 _stalwart 用户 UID
dscl /Local/Default -list /Users | grep stalwart
# 删除用户与用户组
sudo dscl /Local/Default -delete /Users/_stalwart
sudo dscl /Local/Default -delete /Groups/_stalwart
步骤 5:全局检索并清理残余文件(可选,推荐执行)
检索系统内所有包含 stalwart 名称的文件/目录,按需手动删除:
sudo find / -name '*stalwart*' 2>/dev/null
检索完成后,手动删除扫描到的残留文件:
sudo rm -f /path/to/stalwart/file
步骤 6:验证卸载是否完成
执行以下三组命令,全部返回「未找到/无法访问」即代表卸载成功:
# 检查服务是否存在
sudo systemctl status stalwart.service 2>&1 | grep 'not-found'
# 检查系统用户是否存在
id stalwart 2>&1 | grep 'no such user'
# 检查安装目录是否存在
ls -la /opt/stalwart 2>&1 | grep 'cannot access'
补充简易方案(仅需重装、无需深度清理)
若仅打算重新部署 Stalwart,仅需删除主安装目录即可,可跳过服务、用户等清理步骤:
sudo rm -rf /opt/stalwart