更新升级
本文档介绍如何更新 MSM 和各个组件(MosDNS、SingBox、Mihomo)。
更新 MSM
方式一:一键更新脚本
bash
# 重新运行安装脚本即可自动更新
curl -fsSL https://raw.githubusercontent.com/msm9527/msm-wiki/main/install.sh | sudo bash提示
安装脚本会自动检测已安装的版本,如果有新版本会自动更新。
方式二:手动更新
1. 备份当前版本
bash
# 停止服务
sudo systemctl stop msm
# 备份二进制文件
sudo cp /usr/local/bin/msm /usr/local/bin/msm.backup
# 备份配置和数据
sudo tar -czf /root/msm-backup-$(date +%Y%m%d).tar.gz /root/.msm2. 下载最新版本
访问 GitHub Releases 下载最新版本。
Linux amd64:
bash
# 下载最新版本(以 0.7.4 为例)
wget https://github.com/msm9527/msm-wiki/releases/latest/download/msm-0.7.4-linux-amd64.tar.gz
# 解压
tar -xzf msm-0.7.4-linux-amd64.tar.gz
# 替换文件
sudo mv msm /usr/local/bin/msm
sudo chmod +x /usr/local/bin/msmLinux arm64:
bash
wget https://github.com/msm9527/msm-wiki/releases/latest/download/msm-0.7.4-linux-arm64.tar.gz
tar -xzf msm-0.7.4-linux-arm64.tar.gz
sudo mv msm /usr/local/bin/msm
sudo chmod +x /usr/local/bin/msmmacOS amd64:
bash
wget https://github.com/msm9527/msm-wiki/releases/latest/download/msm-0.7.4-darwin-amd64.tar.gz
tar -xzf msm-0.7.4-darwin-amd64.tar.gz
sudo mv msm /usr/local/bin/msm
sudo chmod +x /usr/local/bin/msmmacOS arm64:
bash
wget https://github.com/msm9527/msm-wiki/releases/latest/download/msm-0.7.4-darwin-arm64.tar.gz
tar -xzf msm-0.7.4-darwin-arm64.tar.gz
sudo mv msm /usr/local/bin/msm
sudo chmod +x /usr/local/bin/msm3. 启动服务
bash
# 启动服务
sudo systemctl start msm
# 查看状态
sudo systemctl status msm
# 查看版本
msm -v方式三:Docker 更新
bash
# 停止容器
docker stop msm
# 删除旧容器
docker rm msm
# 拉取最新镜像
docker pull msm9527/msm:latest
# 重新运行容器
docker run -d \
--name msm \
--restart unless-stopped \
--network host \
-v /opt/msm/data:/root/.msm/data \
-v /opt/msm/logs:/root/.msm/logs \
-v /opt/msm/config:/root/.msm/config \
msm9527/msm:latest或使用 Docker Compose:
bash
# 拉取最新镜像
docker-compose pull
# 重启服务
docker-compose up -d更新 MosDNS
方式一:Web 界面更新
- 登录 MSM 管理界面
- 进入 MosDNS 管理 页面
- 点击 版本管理
- 选择要安装的版本
- 点击 安装
- 等待下载完成
- 点击 切换版本
- 重启 MosDNS 服务
方式二:命令行更新
bash
# 查看当前版本
~/.msm/mosdns/mosdns version
# 下载最新版本
cd /tmp
wget https://github.com/IrineSistiana/mosdns/releases/latest/download/mosdns-linux-amd64.zip
unzip mosdns-linux-amd64.zip
# 停止服务
sudo systemctl stop msm
# 备份旧版本
cp ~/.msm/mosdns/mosdns ~/.msm/mosdns/mosdns.backup
# 替换文件
mv mosdns ~/.msm/mosdns/mosdns
chmod +x ~/.msm/mosdns/mosdns
# 启动服务
sudo systemctl start msm
# 验证版本
~/.msm/mosdns/mosdns version更新 SingBox
方式一:Web 界面更新
- 登录 MSM 管理界面
- 进入 SingBox 管理 页面
- 点击 版本管理
- 选择要安装的版本
- 点击 安装
- 等待下载完成
- 点击 切换版本
- 重启 SingBox 服务
方式二:命令行更新
bash
# 查看当前版本
~/.msm/singbox/sing-box version
# 下载最新版本
cd /tmp
wget https://github.com/SagerNet/sing-box/releases/latest/download/sing-box-linux-amd64.tar.gz
tar -xzf sing-box-linux-amd64.tar.gz
# 停止服务
sudo systemctl stop msm
# 备份旧版本
cp ~/.msm/singbox/sing-box ~/.msm/singbox/sing-box.backup
# 替换文件
mv sing-box-*/sing-box ~/.msm/singbox/sing-box
chmod +x ~/.msm/singbox/sing-box
# 启动服务
sudo systemctl start msm
# 验证版本
~/.msm/singbox/sing-box version更新 Mihomo
方式一:Web 界面更新
- 登录 MSM 管理界面
- 进入 Mihomo 管理 页面
- 点击 版本管理
- 选择要安装的版本
- 点击 安装
- 等待下载完成
- 点击 切换版本
- 重启 Mihomo 服务
方式二:命令行更新
bash
# 查看当前版本
~/.msm/mihomo/mihomo -v
# 下载最新版本
cd /tmp
wget https://github.com/MetaCubeX/mihomo/releases/latest/download/mihomo-linux-amd64-v1.18.0.gz
gunzip mihomo-linux-amd64-v1.18.0.gz
# 停止服务
sudo systemctl stop msm
# 备份旧版本
cp ~/.msm/mihomo/mihomo ~/.msm/mihomo/mihomo.backup
# 替换文件
mv mihomo-linux-amd64-v1.18.0 ~/.msm/mihomo/mihomo
chmod +x ~/.msm/mihomo/mihomo
# 启动服务
sudo systemctl start msm
# 验证版本
~/.msm/mihomo/mihomo -v更新前注意事项
1. 备份配置
更新前务必备份配置文件:
bash
# 备份整个配置目录
sudo tar -czf /root/msm-backup-$(date +%Y%m%d).tar.gz /root/.msm
# 或只备份配置文件
cp ~/.msm/mosdns/config.yaml ~/.msm/mosdns/config.yaml.backup
cp ~/.msm/singbox/config.json ~/.msm/singbox/config.json.backup
cp ~/.msm/mihomo/config.yaml ~/.msm/mihomo/config.yaml.backup2. 查看更新日志
访问 GitHub Releases 页面查看更新日志,了解新版本的变化:
3. 测试环境
如果可能,先在测试环境中更新,确认无问题后再在生产环境更新。
4. 选择合适的时间
选择网络使用较少的时间段进行更新,避免影响用户使用。
更新后验证
1. 检查服务状态
bash
# 检查 MSM 服务
sudo systemctl status msm
# 检查版本
msm -v
~/.msm/mosdns/mosdns version
~/.msm/singbox/sing-box version
~/.msm/mihomo/mihomo -v2. 检查配置
在 MSM 管理界面中:
- 进入 配置编辑 页面
- 检查配置文件是否正常
- 执行配置校验
- 查看服务日志
3. 测试功能
测试 DNS 解析:
bashnslookup google.com测试代理:
- 访问 Google
- 访问 YouTube
- 访问 Twitter
测试国内网站:
- 访问百度
- 访问淘宝
4. 查看日志
bash
# 查看 MSM 日志
sudo journalctl -u msm -n 100 --no-pager
# 或在 Web 界面查看日志回滚版本
如果更新后出现问题,可以回滚到旧版本。
回滚 MSM
bash
# 停止服务
sudo systemctl stop msm
# 恢复备份
sudo cp /usr/local/bin/msm.backup /usr/local/bin/msm
# 启动服务
sudo systemctl start msm回滚组件
bash
# 停止服务
sudo systemctl stop msm
# 恢复 MosDNS
cp ~/.msm/mosdns/mosdns.backup ~/.msm/mosdns/mosdns
# 恢复 SingBox
cp ~/.msm/singbox/sing-box.backup ~/.msm/singbox/sing-box
# 恢复 Mihomo
cp ~/.msm/mihomo/mihomo.backup ~/.msm/mihomo/mihomo
# 启动服务
sudo systemctl start msm从备份恢复
bash
# 停止服务
sudo systemctl stop msm
# 恢复整个配置目录
sudo tar -xzf /root/msm-backup-20260101.tar.gz -C /
# 启动服务
sudo systemctl start msm自动更新(不推荐)
警告
不建议启用自动更新,因为新版本可能引入不兼容的变化。建议手动更新并测试。
如果确实需要自动更新,可以使用 cron 定时任务:
bash
# 编辑 crontab
sudo crontab -e
# 添加以下行(每周日凌晨 3 点检查更新)
0 3 * * 0 curl -fsSL https://raw.githubusercontent.com/msm9527/msm-wiki/main/install.sh | bash常见问题
问题 1: 更新后服务无法启动
解决方法:
- 查看日志:
sudo journalctl -u msm -n 100 - 检查配置文件是否兼容新版本
- 回滚到旧版本
- 查看 GitHub Issues 寻找解决方案
问题 2: 更新后配置丢失
原因: 没有备份配置
解决方法:
- 从备份恢复配置
- 如果没有备份,需要重新配置
问题 3: 更新后性能下降
可能原因:
- 新版本引入的 bug
- 配置不兼容
解决方法:
- 查看更新日志,了解变化
- 调整配置
- 回滚到旧版本
- 向开发者反馈问题