mur*_*uru 6 packaging certificates
将自己的 CA 证书添加到 Ubuntu 的常用方法是:
cp cert.pem /usr/local/share/ca-certificates
update-ca-certificates
Run Code Online (Sandbox Code Playgroud)
我想使用 Debian 软件包分发我的 CA 证书,但/usr/local/软件包受到限制(并lintian抱怨,软件中心谴责我的软件包是低质量的软件包)。那么使用 Debian 打包执行此操作的标准方法是什么?我尝试查看ca-certificates-java,但我不太明白它在做什么。
看来 the_Seppi 和 bodhi.zazen 是正确的:唯一干净的方法是使用维护者脚本来执行此操作。从/usr/share/doc/ca-certificates/README.Debian:
How to install local CA certificates
------------------------------------------------------------------
... If you want to prepare a local
package of your certificates, you should depend on ca-certificates,
install the PEM files into /usr/local/share/ca-certificates/ as above
and call 'update-ca-certificates' in the package's postinst, and should
call 'update-ca-certificates --fresh' in the package's postrm.
An example source package for building a local CA certificate package,
using ca-certificates (>= 20130119) (since it uses triggers) can be
found in /usr/share/doc/ca-certificates/examples/ca-certificates-local/.
The README file in the above directory has step-by-step instructions for
building a local CA certificate package.
Run Code Online (Sandbox Code Playgroud)
示例包有一个Makefile直接将文件安装到/usr/local/share/ca-certificates.
然而,Debian 关于安装文件的政策/usr/local是根本不这样做(参见第 9 章 1.2 节),无论是直接安装还是使用维护者脚本。
我认为可以接受的妥协是使用脚本,并放置链接而不是复制它们。这样,最终用户仍然可以追踪其中的内容/usr/local/来自哪里。
不应update-ca-certificates使用不同的参数进行调用,而应添加update-ca-certificates-fresh到触发器列表(如上面引用的最后一段所述),允许证书与任何其他待处理的证书更新一起处理:
echo 'activate update-ca-certificates-fresh' >> debian/package-name.triggers
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2193 次 |
| 最近记录: |