为什么在 Fedora CoreOS 上 rpm-ostree 安装后必须重启?
如果你使用过 Fedora CoreOS,你可能注意到每次安装包你都需要重启才能使该包的文件对你可用。这与其他 Linux 发行版有很大不同,在其他发行版中你可以立即使用你安装的任何包而无需每次重启。
必须重启的技术原因是什么?
rpm-ostree 是一个非常特殊的工具:它不只是安装包。这有这样的优点:当前运行的系统完全不被修改,而是在运行 rpm-ostree install 后构建一个单独的 OS tree - 把它想象成包含构成你系统的所有文件的镜像。
虽然每次安装后重启可能看起来是个愚蠢的想法,因为它会关闭整个服务器,但记住它可以为你省去很多麻烦,因为没有部分更新的服务,你不需要手动修复或重启任何东西,因为一切都在重启时重启。这意味着你的系统始终处于一致状态,因为每个服务在系统重启前被干净地关闭 - 重启后,每个服务都随系统更改干净地启动。
可以在必须重启前安装多个包吗?
是的,你可以在重启前运行多个 rpm-ostree install 命令。重启时,所有更改将一次性应用。
可以延迟 rpm-ostree install 后的重启吗?
是的,无需在 rpm-ostree 命令后立即重启。你可以随意延迟重启。但请注意,当机器由于手动重启以外的原因(如停电或 VM 主机重启)而重启时,更新也将被应用,但你可能不在那里检查所有服务是否正确运行。因此,我建议尽快重启。
可以避免安装包后重启吗?
是的,Fedora CoreOS 提供使用 rpm-ostree ex apply-live 的实验性实时更新功能。请参见我们的文章如何不重启应用 Fedora CoreOS 更改。注意在有生产运行服务的系统上应用更新或新包可能是个坏主意,但它本质上不比在典型 Linux 发行版(如 Debian、Fedora 或 Ubuntu)上安装包更不安全,在这些发行版中每次安装或更新包都会立即影响文件系统上的文件。
Check out similar posts by category:
CoreOS
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow