# 使用 apt 或 dnf 在 Linux 上安装和更新 Railbase

> Railbase 发布一个经过签名、许可的软件包存储库，因此 Linux 服务器会像更新计算机上的其他所有内容一样安装和更新它。

_Updated: 2026-08-19_

在 Linux 上，Railbase 是一个包。您可以从您的帐户下载 `.deb` 或 `.rpm` 并手动安装它，但在服务器上您通常需要相反​​的操作：Railbase 应该与计算机的其余部分一起更新，并且与您运行的每个其他软件包遵循相同的策略和相同的维护窗口。

这就是 Railbase 包存储库的用途。

## 它是什么

已签名的 apt 和 dnf 存储库，发布于 `railbase.app`，包含您的帐户可以从网站下载的相同软件包。在设置之前，有两件事值得了解。

**已签名。** 存储库元数据使用 Railbase 打包密钥进行签名。你的机器被告知要信任该密钥一次，从那时起 apt 或 dnf 就会拒绝任何未经它签名的东西——这就是使自动化 `apt upgrade` 可以安全地在无人值守的情况下运行的原因。

**它已获得许可。** 与分发镜像不同，此存储库不是公开的。每个请求都带有与您的帐户绑定的凭证，并且在每个请求时都会检查权利，而不是在设置时检查一次。如果帐户失效，更新将停止；它们不会安静地持续流动。

## 获取凭证

登录您的帐户，打开 **Deployments** 部分，然后创建 Linux 存储库凭据。您将看到要运行的确切命令，以及已填写的凭据 - 将它们复制到计算机并在那里运行它们。

凭证仅显示一次。如果你失去了它，就再创造一个；如果一台机器已退役或者您怀疑凭证已泄露，请从同一页面撤销该机器。撤销在下次请求时生效，其他机器不受影响。

为每个凭证添加一个标签（“生产服务器”、“暂存”），以便您帐户中的列表在一年后仍然可读。

## Debian 和 Ubuntu

该设置添加了两个文件：受信任的密钥和指向存储库的源列表条目。之后：

```
sudo apt update
sudo apt install railbase
```

从那时起 `sudo apt upgrade` 用其他所有内容更新 Railbase 。因为密钥是用 `signed-by` 固定的，所以该信任仅适用于 Railbase 存储库 — 它不会授予 Railbase 密钥对系统上任何其他包的权限。

## RHEL、Fedora 和 Rocky

dnf 设置写入单个 `.repo` 文件。 `gpgcheck` 和 `repo_gpgcheck` 均已启用：包 **和** 存储库元数据根据 Railbase 密钥进行验证。

```
sudo dnf install railbase
```

## 安装后

该软件包将 Railbase 安装为 systemd 服务，其数据位于 `/var/lib/railbase` 下。升级取代了程序并保留了数据——您的 `.vault` 文件、上传的文件和配置在升级后仍然存在，因为它们必须如此。

要检查您正在运行的内容：

```
railbase --version
systemctl status railbase
```

## 无人值守升级

如果您使用 `unattended-upgrades` (Debian/Ubuntu) 或 `dnf-automatic`，则可以像任何其他来源一样包含 Railbase。您是否“应该”是对您的环境的判断：自动更新使安全修复保持流畅，而无需任何人记得采取行动，而计划的手动升级则让您有时间先阅读发行说明。 Railbase 两者都支持；它不会为你做决定。

## 如果出现问题

**`apt update` 报告凭据错误。** 凭据已被撤销，或者帐户的权利已失效。检查您帐户的“部署”部分；新的凭证可以解决第一种情况，而第二种情况则需要解决许可证问题。

**`NO_PUBKEY` 或签名错误。** 未安装可信密钥，或者安装在 apt 无法从中读取密钥的位置。从您的帐户页面重新运行关键步骤。

**您期望的版本缺失。** 存储库发布您的帐户有权访问的内容。如果版本已发布并且您的计算机无法看到它，请先检查帐户 - 存储库故意不比下载页面更宽松。

