你跟踪你编译和安装的程序吗?
如果是的话,你保留什么,configuration输出,安装输出?
关于这个问题有没有一些“最佳做法”?
如果我们可以编译和构build自己的东西,我们倾向于推出RPM / DEB包。 通过这种方式,我们可以使用发行版使用的一些工具来testing他们的软件包(使用干净的chroot进行构build,使用lintian进行Debian软件包的自动检查等等)。
另外,我们可以build立我们自己的软件包库,将软件部署到节点,我们可以将它们集成到木偶等工具中。 通过同样由分发工具使用的一套通用工具,轻松地跟踪目前安装的软件版本,也是一大好处。
与传统的“./configure; make / make install”相比,这种方法的学习曲线有些陡峭,但是它被完整地logging下来,使软件部署变得非常简单。
缺点是这种方法在专有的预编译软件方面并不可行。
我写了一些脚本来简化这个过程。如果我们正在将一个包重build成一个DEB文件,那么会发生一系列的步骤:
./info/目录下创build一个项目“root”目录,其中包含./info/文件包的根目录以及./info/目录下的原始包。 IMPORT/ ./src/创build安装目录结构,即./src/etc/init.d/thingy进入/etc/init.d/thingy 。 build-deb – 我写的一个脚本,它调用FPM构builddeb。 我将马上做build-deb等脚本开源!