我开始为我们的 Ubuntu Hardy 系统管理更多定制打包的应用程序。有些应用程序在 Ubuntu 中不可用,但大多数版本比通过标准的“-backports”过程可用的版本要新得多。
我正在尝试确定在 subversion 中管理这些包的最佳方式。一种想法是提交dpkg-buildpackage生成的差异。有没有人找到更好的方法?
默认的 nginx 包会创建一个default在sites-enableddir 中命名的符号链接,它指向sites-available. 我目前正在为位于 Nginx 之上的应用程序创建一个包,我想删除或移开default符号链接,并将其替换为我的包中的配置文件。理想情况下,如果我的包被删除,原始default符号链接将被恢复。
我一直在阅读 的联机帮助页和示例dpkg-divert,但我不太明白它可以做到这一点。这是可以实现的dpkg-divert,还是我必须想出另一种方式?
我用postinst脚本创建了 *.deb 包。在某些主机上,它会出现错误:
子进程安装后脚本返回错误退出状态 1
是否有记录这些错误的地方,以便我可以获得更详细的信息(例如,行号和错误消息)以便对postinst脚本进行故障排除?
我的脚本有set -e,所以错误可以在任何地方,代码什么也没告诉我。
提前致谢。
我有两个 Debian 软件包,它们以前是在我们的内部存储库中制作的。它们共享相同的源代码,但使用不同的选项编译,使用相同的库创建两个单独的二进制文件。它们被安装在单独的服务器上
因此这两个包不能同时安装,因为它们尝试安装相同的库,因此 dpkg 错误“试图覆盖 /my/lib”。
问题:我需要将它们安装在同一台服务器上。
问题是:我应该添加什么修改以使它们兼容?
一些线索:
从同一个源创建第三个包,编译整个源而不是两个单独的源(但我想这是肮脏的方式)
找一个选项告诉这两个包可以互相搭配(但我不知道它是否存在)
创建一个“package-common”包,其中包含其他 2 个包所依赖的库、手册页等。(但我不知道如何以这种方式编译上游源代码)
我知道这个问题很难解释,尤其是在英语不好的情况下,但我希望你能给我一些线索:)
感谢社区!