升级与回退
nSIM 没有在线自动更新。升级就是换上新的镜像或程序,再重启。这一页同时写了出问题时怎么回到升级前的状态。
- 在「设置 › 关于」里记下「版本」一行,回退时要用。
- 准备好新版本的镜像地址或程序文件:
<发布地址待定>。 - 升级要重启 nSIM。进行中的通话会断开,VoWiFi 会在重启后自动重新注册。
升级前先停机,把配置和数据整个打包。这是回退的唯一可靠途径。新版本第一次启动时会升级数据库结构,旧版本就无法再使用它。
-
把
/opt/nsim/docker-compose.yml里image:一行改成新版本,然后拉取镜像:终端窗口 cd /opt/nsimdocker compose pull -
停止 nSIM,打包配置和数据:
终端窗口 docker compose stoptar czf /root/nsim-before-upgrade.tar.gz config data -
用新镜像启动:
终端窗口 docker compose up -d
-
停止 nSIM,打包配置和数据,并留一份旧程序:
终端窗口 systemctl stop nsimtar czf /root/nsim-before-upgrade.tar.gz -C /opt/nsim config datacp /opt/nsim/nsim /opt/nsim/nsim.old -
换上新程序并启动:
终端窗口 install -m 0755 nsim_<新版本>_linux_amd64 /opt/nsim/nsimsystemctl start nsim
- 在主机上执行
curl -fsS http://127.0.0.1:7575/ready,返回"status":"ok"。数据库升级和启动流程走完之前,这里会返回 503。 - 「设置 › 关于」里的「版本」是新版本。
界面可能比 /ready 先打开。/ready 返回 ok 之前,代理等功能可能还没准备好。
回退到升级前
Section titled “回退到升级前”只能连同数据一起回退。不要直接用旧版本程序打开新版本升级过的数据库,结果不可预期。回退会丢掉升级之后收到的短信和做过的修改。
-
停止 nSIM,换回升级前的配置和数据:
终端窗口 cd /opt/nsimdocker compose downrm -rf config datatar xzf /root/nsim-before-upgrade.tar.gz -
把
docker-compose.yml里image:一行改回旧版本,然后启动:终端窗口 docker compose up -d
-
停止 nSIM,换回升级前的配置、数据和程序:
终端窗口 systemctl stop nsimrm -rf /opt/nsim/config /opt/nsim/datatar xzf /root/nsim-before-upgrade.tar.gz -C /opt/nsimmv -f /opt/nsim/nsim.old /opt/nsim/nsim -
启动:
终端窗口 systemctl start nsim
完成后,「设置 › 关于」里的「版本」与升级前记下的一致。