我是软件包创建方面的新手,所以请随时给我提建议 :)。无论如何,我想创建一个软件包,它可以安装和设置所有特定的 ldap 相关软件包和配置文件(高度定制)。我遇到的问题是,在执行 gdebi“软件包名称”时,我的 ldap.conf 配置文件不会安装到本地系统上。我希望 ldap.conf 文件将被复制到 /etc。这是我的结构(从 dh_make 创建):
root@clientb-16:~/navldapubuntu-0.1# ls debian ldap.conf root@clientb-16:~/navldapubuntu-0.1# cd debian root@clientb-16:~/navldapubuntu-0.1/debian# ls 变更日志控制文档文件 README.Debian 规则 navldapubuntu navldapubuntu.doc-base.EX 兼容版权等安装 README.source 源 navldapubuntu.debhelper.log navldapubuntu.substvars root@clientb-16:~/navldapubuntu-0.1/debian#
我在顶层目录中有一个 ldap.conf 文件,并在安装文件中指定它,如下所示:
root@clientb-16:~/navldapubuntu-0.1/debian# 更多安装 ldap.conf 等
执行“dpkg --contents”后,它肯定在包中……我是不是错了?我以为文件会自动安装。请帮助新手!!:
答案1
当我想验证我所构建的包的内容时,我会将dpkg-deb
其解压到临时目录中。
$ mkdir /tmp/t
$ dpkg-deb -x foo.deb /tmp/t
$ ls /tmp/t
软件包是否安装成功或出现错误?dpkg 不允许多个软件包提供相同的文件。如果另一个已安装的软件包包含该文件,则您的软件包将安装失败。我在官方软件包的内容中搜索了 ldap.conf[1],结果找到了 /etc/ldap/ldap.conf。
你可能会发现dpkg-divert
对你有用。我还没有真正用过它,但它在那里。
[1]: http://packages.ubuntu.com/search?mode=exactfilename&suite=quantal§ion=all&arch=any&keywords=ldap.conf&searchon=contents