我想无人值守安装软件包,并且需要在安装之前存储所需的 debconf 值。
是否有一个钩子可以运行当前安装的包中的命令,该命令在安装任何依赖项之前执行?
以 ldap 身份验证为例。我创建了一个软件包 ldap-auth-config,用于安装和配置 pam 以使用 ldap 进行身份验证。现在,这个软件包将具有 ldap-auth-client 作为依赖项,它始终会启动 debconf 前端来回答大量问题。
现在,我通过首先安装 ldap-auth-config-preseed 包来帮助自己,并且只推送所需的 debconf 值,为无人值守安装真正的包让路。
我很想摆脱那个额外的包裹,但到目前为止还没有找到任何关于如何做到这一点的提示。
答案1
好吧,我希望你在问这个问题的 3 年里已经解决了这个问题,但这对我来说一直都有效。我在这里使用一个例子来自动启动 byobu...
sudo apt remove byobu # for example purposes...
sudo apt install debconf-utils
debconf-set-selections <<< 'byobu byobu/launch-by-default boolean true'
sudo apt install byobu
当然,这适用于任何包。我相信你知道这一点,但是运行:
debconf-get-selections | less
搜索与您的包裹相关的有趣的东西..