我正在考虑创建一个 Linux 设备(可能使用从 USB 驱动器启动的 xubuntu,仅供参考),并且我很好奇如何最好地执行远程更新和管理。
我想要支持的用例是将这个盒子放在我无法控制的远程位置(某人的家或办公室),并且我想远程更新它以修补某些东西,更改它的配置,也许只是升级它的操作系统或应用程序。
在非常简单的逐一情况下,我发现如果它在 RAM 中运行整个操作系统,我应该能够远程覆盖 USB 驱动器上的操作系统映像并告诉机器重新启动以使更改生效。
然而,我开始想,我不可能是第一个遇到这个问题的人。那么,有什么软件/配置可用于管理一组远程设备(非常相似,甚至完全相同)。我也希望有一个仪表板,我可以深入每个设备来诊断问题——但远程更新(尤其是批量更新)的想法似乎是一个全新的问题。
有什么帮助吗?
答案1
对于远程访问,我会让每台机器建立一个到中心位置的 OpenVPN 隧道。这可以解决 NAT 问题,并确保您可能需要使用的任何默认未加密的协议都是安全的。
至于更新,我将继续木偶鼓。这确实是目前存在的自动管理和更新大量相同或近似相同的机器的最佳方式。
答案2
如果您还没有考虑过将 eBox 用于仪表板/设备/远程管理类型的情况,我强烈推荐它。
https://help.ubuntu.com/community/eBox
请注意,不要安装 Ubuntu 存储库中的软件包。请使用 eBox 网站上的官方软件包或使用其 Ubuntu 安装 ISO。
答案3
我认为一种常见的技术是在某种 chroot 中运行映像。这样,您可以安装一个包含新 chroot 环境的新软件包,其中包含所有更新等,而不会影响“主”操作系统。
答案4
只需 ssh 即可。您可以从 shell 执行所有操作。Ubuntu 的 aptitude 程序能够从 shell 升级操作系统的每个部分。