我很惊讶没有发现更多人问这个问题,但到目前为止,我只发现几年前的一次,但回应并不多。
首先,介绍一下我在这里实际要实现的目标:我正在开发 Edubuntu 的定制版本,供低带宽/无带宽地区的教育非营利组织使用。服务器需要以某些特定方式进行预配置,我需要一种可靠的方法来更新这些配置,而无需直接访问系统。因此,如果需要,可以放在 USB 驱动器上的 .deb 存储库似乎是一个合理的解决方案。
看起来包裹名字.install 文件要求您单独指定要包含在软件包中的每个文件和目录。对于仅在系统上放置或更新文件的软件包,这似乎有些过分(如果您有大量文件/目录,则相当繁琐),而不是拥有类似这样的构建目录:
fs/
|-etc/
|-apache2/
|- conf.d/
|- some_custom_settings.conf
|-var/
|-www/
|-html/
|- some_custom_page.html
AND SO ON
然后“构建”过程基本上就是rsync -a fs/ /
...但是,这也似乎有点不合常理,这让我怀疑我是否遗漏了什么东西,或者只是使用了错误的工具。
当然,我也可以忍受,使用更繁琐的包裹名字.install 方法来制作 .debs,或者我应该研究一下类似 Puppet 的东西,假设在这种情况下有一种方法可以将更新推送到断开连接的系统。或者可能只是一个 git repo?
基本上,我欢迎任何建议,无论是通过 .debs 还是其他方式。
提前感谢所有能够回答的人!
答案1
有效的包管理https://github.com/jordansissel/fpm是我最喜欢的创建包的工具之一。