background
g
7
s
{
l
(
i
h
4
=
B
G
W
:
<
0
-
t
(
6
@
L
@
V
h
*
=
B
=
l
s
G

favicon
favicon
回归终端
 

使用 ret2boot

Reverier-Xu at 2026-01-28 11:20:46 3.10+ R2SPL

ret2boot 是回归终端的交互式安装器。它以单一二进制文件发布,可以在一台 Linux 服务器上完成系统预检、Kubernetes 初始化、Helm 配置、网关部署、平台部署和安装状态记录。

ret2boot 当前可以用于生产环境部署。首次部署、单服务器单节点办赛、练习场快速搭建和希望降低 Kubernetes 运维成本的场景,可以使用 ret2boot 一键启动。已有 Kubernetes 集群、多节点调度方案或需要完全掌控 Helm values 的场景,可以继续使用 集群内统一部署

ret2boot 已经可以用于生产环境部署。它提供一个单一二进制文件,让你在一台干净的 Linux 服务器上通过交互式流程完成回归终端部署。首次部署、单服务器办赛和希望降低 Kubernetes 运维成本的场景,可以尝试使用 ret2boot。 不过也请注意,在网络环境不佳、与 GitHub 和 Docker 源通信存在较大问题的情况下本工具可能会出现问题。如果你对系统运维并不熟悉,不知道网络错误导致安装进程中断后如何清理,还是推荐使用手动操作部署方案。

准备服务器

准备一台干净的 Linux 服务器。推荐使用 Debian 或 Debian 系发行版,并按照 环境准备 中的资源估算方式确认 CPU、内存和磁盘空间。

服务器需要满足以下条件:

项目要求
系统Linux,推荐 Debian Stable 或 Ubuntu LTS。
架构当前 release 提供 x86_64-unknown-linux-musl 预编译包。
权限当前用户可以使用 sudo,或直接使用 root 用户。
网络服务器可以访问 GitHub、容器镜像源和比赛域名使用的公网入口。
端口公网入口通常需要 80/443,题目服务需要按部署方案开放对应端口。
磁盘单场比赛建议 100 GiB SSD 起步,长期练习场建议 1 TiB 起步。

下载 ret2boot

进入 ret2boot GitHub Release 页面,下载最新版本的 Linux 二进制压缩包和对应的 .sha256 校验文件。当前发布包命名格式为:

ret2boot-<version>-x86_64-unknown-linux-musl.tar.gz
ret2boot-<version>-x86_64-unknown-linux-musl.tar.gz.sha256

也可以在服务器上直接下载最新版本:

R2B_VERSION="$(curl -fsSL https://api.github.com/repos/ret2shell/ret2boot/releases/latest | sed -n 's/.*"tag_name": "\(.*\)".*/\1/p' | head -n1)"
R2B_TARGET="x86_64-unknown-linux-musl"
 
curl -fLO "https://github.com/ret2shell/ret2boot/releases/download/${R2B_VERSION}/ret2boot-${R2B_VERSION}-${R2B_TARGET}.tar.gz"
curl -fLO "https://github.com/ret2shell/ret2boot/releases/download/${R2B_VERSION}/ret2boot-${R2B_VERSION}-${R2B_TARGET}.tar.gz.sha256"
sha256sum -c "ret2boot-${R2B_VERSION}-${R2B_TARGET}.tar.gz.sha256"
tar -xzf "ret2boot-${R2B_VERSION}-${R2B_TARGET}.tar.gz"

安装到系统路径

把解压得到的 ret2boot 二进制文件放入 /usr/local/bin,再赋予执行权限:

sudo cp ret2boot /usr/local/bin/ret2boot
sudo chmod +x /usr/local/bin/ret2boot
ret2boot --version

/usr/local/bin 通常已经在系统 PATH 中。命令无法直接找到时,可以重新登录 shell,或使用完整路径 /usr/local/bin/ret2boot

执行安装

执行 ret2boot,然后根据提示选择下一步:

sudo ret2boot

ret2boot 会依次完成语言选择、权限确认、系统预检、部署问卷、安装计划确认和实际安装。安装流程会记录当前状态,默认配置文件位于:

~/.config/ret2boot/config.toml

安装过程中断后,再次执行 sudo ret2boot 可以继续处理未完成步骤。执行前建议准备好以下信息:

信息用途
平台访问域名用于生成平台外部访问地址、TLS 和 CORS 配置。
入口方式用于选择网关、证书和 80/443 暴露方式。
服务器资源用于确认 Kubernetes、平台 PVC 和题目容器资源规划。
题目容器需求用于估算高峰 challenge pods 数量、CPU、内存和磁盘余量。
外部组件选择用于决定 PostgreSQL、Valkey、NATS、registry、VictoriaLogs 使用内置服务或外部服务。

安装后检查

安装完成后,先检查平台服务和 Kubernetes 状态:

kubectl get nodes -o wide
kubectl get pods -n ret2shell-platform
kubectl get pods -n ret2shell-challenge

再访问配置的域名,进入回归终端 Web 页面完成平台初始化和比赛配置。域名、证书、反向代理、registry 和题目入口异常时,可以回到 ret2boot 继续同步配置:

sudo ret2boot sync

后续维护

ret2boot 提供常用生命周期命令:

命令用途
sudo ret2boot install执行新安装流程。
sudo ret2boot update更新已有部署。
sudo ret2boot sync同步配置与当前集群状态。
sudo ret2boot uninstall移除由 ret2boot 管理的组件。

日常巡检、日志查看、题目容器定位和数据库调试可以继续参考 日常维护手册。需要手工调整 Helm values、扩容 PVC 或在多节点集群中精细控制调度时,可以参考 集群内统一部署 中的维护流程。