您是否跟踪过您编译和安装的程序?
如果是,您保留什么,配置输出,还是安装输出?
关于此事是否有一些“最佳实践”?
答案1
如果这是我们自己可以编译和构建的东西,我们倾向于推出每分钟转数/德布自己开发软件包。这样,我们就可以利用发行版用来测试其软件包的一些工具(在干净的 chroot 中进行构建,使用 lintian 自动检查 Debian 软件包等等)。
此外,我们可以设置自己的软件包存储库,将软件部署到节点,并将它们集成到 puppet 等工具中。通过发行版使用的一组通用工具轻松跟踪当前安装的软件版本也是一大优势。
与传统的“./configure; make/ make install”相比,这种方法的学习曲线要陡峭一些,但它有详尽的文档记录,可以使软件部署变得非常容易。
缺点是,当涉及专有预编译软件时,这种方法并不那么可行。
答案2
我编写了一些脚本以使这更容易。如果我们将包重建为 DEB 文件,则会发生一系列步骤:
- 创建一个项目“根”目录,
./info/
目录里面包含元数据信息,里面包含包的根目录./src/
,原始包位于./IMPORT/
。 - 将源码包解压/提取/undeb 到
IMPORT/
- 在本地 git 服务器上创建一个裸 git repo。
- 在里面创建安装的目录结构
./src/
,即./src/etc/init.d/thingy
进入/etc/init.d/thingy
。 - 运行
build-deb
-我编写的脚本,它调用纤维增强塑料构建 deb。 - 将所有内容提交到 git 中。
- 推送至 reprepro。
我很快就会把 build-deb 和其它脚本开源!