使用 PPA 发送简单更新

使用 PPA 发送简单更新

我希望设置一个 PPA,将简单的更改发送到现场的数百台 ubuntu 12.04 机器。简单的更改意味着 bash 脚本更改和配置文件更新,以及可能的其他软件更新,包括可以通过 apt-get install 安装的新软件安装。我想到几个问题是,

  1. PPA 可以用来发送脚本更新吗?
  2. 我可以配置客户端机器仅从此 PPA 获取更新并像无人值守升级一样自动安装它们吗?(当然我知道这个选项是可行的,但需要一套好的工具来实现这一点)。

我知道这是一个很宽泛的问题,但如果能给出一些建议和答案,我将非常感激。

答案1

我也想做同样的事情,但我选择使用通过repreproPPA 创建的私有存储库。我的所有客户端都在同一个 LAN 上,所以对我来说更简单。我认为无论您使用 PPA 还是私有存储库,这都是非常可行的。

  • 在我看来,修改现有配置文件最好通过使用dpkg转移来处理。config-package-dev对此来说是一种祝福。Debian 维基是了解此信息的一个很好的起点。
  • 通过打包添加脚本文件或您自己的软件并不困难。有很多打包指南。同样,Debian 维基是一个很好的起点。制作二进制包比介绍更简单,介绍就是脚本和配置文件的情况。
  • 可以通过将其他存储库中的新软件设为软件包的依赖项来添加它们。指定确切的版本或使用apt钉住
  • 自定义存储库的无人值守升级已经处理:如何为任何存储库启用静默自动更新?我不知道服务器可以通过什么方式将更新推送到客户端。您可能需要考虑puppet(通过kicking)或类似方法。或者您可以在服务器上编写一个脚本,使用 SSH 在客户端上运行更新。或者编写一个脚本,在网络启动时检查更新。
  • 最重要的是,确保您的软件包维护脚本 ( preinst, postinst, prerm, postrm) 是幂等的,并且软件包删除会撤消所有更改。这些脚本可以做很多事情,但不会对它们产生任何影响aptdkpg尽量减少这些脚本中所做的工作。

就我而言,我使用一个包来配置 LDAP 和 NTP,添加自定义全局vimrc启用常用选项,进行各种配置更改(例如sudo为组启用、禁止关机)、添加非特权本地用户/组等。另一个包添加了我们自己生成的 CA 证书和存储库签名密钥并在脚本中将它们标记为受信任postinst,并为我们的存储库添加一个条目sources.list.d

我还没有将所有系统转换为这个过程,所以我还不能评论它的有效性。

相关内容