升级命令
本页说明 release 检查、下载和应用。生产升级前请备份二进制、WebUI、配置和持久化数据,并准备回滚。
upgrade
检查、下载或应用 GitHub Release 中的 OxiDNS 升级包。
支持以下子命令:
upgrade checkupgrade downloadupgrade apply
典型用法:
oxidns upgrade
oxidns upgrade --force
oxidns upgrade check
oxidns upgrade download --target latest
sudo oxidns upgrade apply
sudo oxidns upgrade apply --no-restart
通用参数:
--target <TAG|latest>- Release tag 或
latest。 - 默认值:
latest
- Release tag 或
--repository <OWNER/REPO>- GitHub 仓库。
- 默认值:
svenshi/oxidns
--asset <NAME|auto>- Release asset 名称;
auto会按当前平台和编译版本选择 archive。 - 默认值:
auto
- Release asset 名称;
-c, --config <PATH>- 运行配置文件路径,用于在未显式指定
--webui-dir时读取api.http.webui.root。 - 未指定时,优先使用当前目录的
config.yaml;Linux 打包安装环境中,如果存在/etc/oxidns/config.yaml,会用它推导 WebUI 路径。
- 运行配置文件路径,用于在未显式指定
-d, --working-dir <DIR>- 运行期相对路径的基准目录,语义与
start -d/--working-dir一致。 - 未指定且检测到 Linux 打包配置时,默认使用
/var/lib/oxidns;否则使用当前目录。
- 运行期相对路径的基准目录,语义与
--bundle <auto|full|standard|minimal>- 当
--asset auto时选择 release 编译版本。 - 默认值:
auto,跟随当前二进制的编译版本。 full使用旧资产名,例如oxidns-x86_64-unknown-linux-musl.tar.gz;standard/minimal使用 slim 资产名,例如oxidns-standard-x86_64-unknown-linux-musl.tar.gz。
- 当
--cache-dir <DIR>- 升级文件缓存目录。
- 默认值:
./upgrade-cache
--backup-dir <DIR>apply替换前的二进制备份目录。- 默认值:
./upgrade-backups
--webui-dir <DIR>apply时安装 WebUI 静态资源的目录;相对路径按-d/--working-dir解析,应与api.http.webui.root一致。- 未指定时,优先从运行配置的
api.http.webui.root推导;没有配置时使用./webui。
--skip-webuiapply时跳过 WebUI 目录升级,仅替换二进制文件。
--no-restartapply成功后跳过服务重启。默认会通过系统服务管理器(systemd / launchd / Windows SCM)自动重启已安装的服务。
--allow-prerelease- 允许使用 prerelease。
--forceapply时即使目标 release 不比当前版本更新,也继续下载、校验并替换。
--timeout <DURATION>- HTTP 请求超时,例如
30s、2m。
- HTTP 请求超时,例如
--socks5 <ADDR>- 可选 SOCKS5 代理。
--insecure-skip-verify- 跳过 TLS 证书校验。
--github-token <TOKEN>- GitHub 个人访问令牌,用于提高 API 速率限制或访问私有仓库。
行为说明:
check只查询 release 并判断版本是否更新。download下载 archive,并使用 GitHub release asset 的digest字段校验 SHA256。- 显式传入
--asset时优先使用指定 asset,不再根据--bundle推导。 - 不写子命令时默认执行
apply。 apply默认只有检测到新版本才会更新;--force会强制更新。apply在 Unix 平台会解包.tar.gz、备份当前二进制并替换;Windows 会解包.zip、备份并替换二进制,同样支持 WebUI 目录升级。apply默认在替换二进制后,将 archive 中的webui/目录备份并安装到--webui-dir;--skip-webui可跳过;archive 不含webui/时跳过且不影响二进制升级。- Debian 打包安装的默认布局中,直接运行
sudo oxidns upgrade apply会按/etc/oxidns/config.yaml和/var/lib/oxidns推导 WebUI 目录;/var/lib/oxidns/webui是符号链接时,会更新其指向的真实目录。 apply成功后默认通过系统服务管理器重启服务;如果不想自动重启,传--no-restart。apply成功后会询问是否清理缓存目录和备份目录,默认选择Y。