我有一堆自制的 Linux 机箱(用 buildroot 制作),我希望它们能够通过我的 ubuntu 服务器的互联网固定 IP 自动更新。
我想更新内核以及一些文件或目录等。
我开始编写自己的 ssh 脚本,该脚本会列出服务器上 /home/update/ 的文件,并在必要时上传最新的文件,然后在其中运行一个脚本来执行所有更改,但是......
我认为这不是正确的方法,我想知道是否有一些简便的途径可以做到这一点。
谢谢 :)
答案1
如果你可以将所有文件打包为 Debian 软件包,并且所有系统都相同,您可以创建自定义存储库在您的服务器上包含这些系统所需的软件包,那么它们就只需要定期apt-get update
进行apt-get upgrade
。您需要确保在系统的本地副本上测试此存储库,以免最终导致“远程”计算机没有 ssh 服务器或出现其他故障。
答案2
“rsync” 是一个很好的命令。它会自动使用 SSH 进行连接,并将远程文件与本地文件进行比较,以确定哪些文件需要更新。
有很多选项,因此您需要阅读以下文档:http://rsync.samba.org/documentation.html
这是保持本地和远程目录或文件保持最新的好方法。
如果您要更新已安装的程序、内核等,则应考虑使用“yum update”(fedora / redhat)或“apt-get update && apt-get upgrade && apt-get dist-upgrade”(ubuntu /debian)。对于定制的内核或应用程序,您可能需要执行自己的自定义更新脚本。
答案3
也许我在这里遗漏了一些东西,但是,您是否研究过yum update
或类似 ubuntu 的命令?
http://ubuntuforums.org/showthread.php?t=11103