跳转到内容

升级

Pier 内置了自我更新流程。

  1. 打开 Settings → Updates
  2. 点击 Check now —— Pier 会将已安装二进制文件的修改时间与最新的 GitHub 发布资源进行比较。
  3. 如果有更新版本可用,点击 Update & restart。Pier 会下载新的二进制文件,执行原子化替换,并通过 systemd 重启。

旧的二进制文件会保留在 /opt/pier/bin/pier.old 以供回滚。

仪表盘流程只替换 pier 核心二进制文件。主机上还有两样东西来自安装脚本,自我更新从不触碰它们:

  • pier-net-helper —— 应用更新并执行 WireGuard 组网操作的特权 root 守护进程。
  • /etc/systemd/system/pier-net-helper.service —— 它的 systemd 单元,正是它让非特权用户 pier 能够访问 /run/pier/net.sock

当修复涉及 helper 或其单元时,这一点很重要。要获取这些修复,请在服务器上重新运行安装脚本:

Terminal window
curl -fsSL https://pier.team/install | sudo bash

如果 Pier 报告特权 helper 不可达,就应该运行这条命令 —— 处于该状态的节点根本无法自我更新, 因为更新正是由 helper 应用的

Terminal window
sudo systemctl stop pier
sudo curl -fsSL https://github.com/joveptesg/pier/releases/download/latest/pier-linux-amd64 -o /opt/pier/bin/pier.new
sudo chmod +x /opt/pier/bin/pier.new
sudo mv /opt/pier/bin/pier /opt/pier/bin/pier.old
sudo mv /opt/pier/bin/pier.new /opt/pier/bin/pier
sudo systemctl start pier
Terminal window
sudo systemctl stop pier
sudo mv /opt/pier/bin/pier.old /opt/pier/bin/pier
sudo systemctl start pier