使用Debian(.deb)软件包将我们的软件分发到生产服务器是否明智?

时间:2011-11-02 05:21:02

标签: linux install debian uninstall deb

我们创建了各种程序和脚本,我们需要在测试后在生产的Ubuntu服务器上进行部署。我们正在考虑将我们的软件打包为Debian(.deb)文件,并使用apt-get或aptitude等软件来安装软件。

这很简单,但我不清楚如何回滚或卸载证明不合适的新版本。一个显而易见的选择是apt-get remove new-pkg后跟apt-get install old-pkg,但这是正确的做法吗?

在postinst,prerm或postrm中是否有特殊规则要遵循(或要避免的事情)以帮助顺利进行?

请注意,我们所有的软件和服务器都是私有的,如果有帮助,我们可以完全控制所有内容。

2 个答案:

答案 0 :(得分:1)

在Debian方案中,通常不考虑自动降级。首选方法是固定版本的新版本和更高版本号(即使“已修复”表示“删除所有新功能”)。

如果您必须回滚升级,可以考虑使用Debian纪元号来声明版本号的新开头,从回滚版本开始。例如,假设软件包的1.2版本已损坏,您必须匆忙降级到1.1,然后将debian软件包1.1-5重新版本为1:1.1-6,这是一个比普通版本更高的版本号1.2-1。

手动降级肯定是不可取的,在至少一次降级期间你肯定会错过至少一台关键服务器。

对于postinst,prerm和postrm,请考虑Debian New Maintainer Guide

答案 1 :(得分:1)

apt-get和aptitude都允许您指定所需的已安装版本:

apt-get install <your-package>=<your-version>
aptitude install <your-package>=<your-version>

在任何情况下,建议您在部署过程中使用此功能,以便确切地指定将哪个版本部署到服务器。

要回滚到以前的版本,应该只是指定先前版本号的情况。当然,如果用新版本解决问题更有意义,那么就这样做而不是回滚。

相关问题