备份 Apache2 的编译版本以便快速恢复

备份 Apache2 的编译版本以便快速恢复

我使用 Puppet 自动设置工作服务器。唯一的问题是,在我的堆栈中安装特定版本的软件有点棘手,因为有时无法满足依赖关系。例如,我使用 Apache 2.2.25,但 Ubunu 12.04 目前以 2.4 为基础。

由于我不想立即升级,我设置了 Puppet 来从源代码编译和安装 Apache。由于这通常需要一段时间,我想知道我是否可以构建和编译 Apache 并继续重复使用构建的版本?

我需要复制哪些文件夹、二进制文件和文件?这可能吗?

我也欢迎尝试其他替代方案。

答案1

首先,您需要绝对确定您需要旧版本的 apache,它们可能不安全并导致其他问题。

查看旧版本是否仍在您的存储库中,然后使用 apt-get install apache2=[version]。

是的,您可以备份 apache 的编译版本,但我不建议将其作为合适的途径。

最后你可以使用这个: https://github.com/jordansissel/fpm,创建适合您的系统的 Debian 包。(您需要二进制文件、所有服务器通用的配置文件以及任何所需的脚本)

答案2

最好的方法是创建/下载替换的 deb 包,这样您就可以随时回滚/升级 apache,同时还必须满足依赖关系。您可以创建本地存储库并使用 puppet 轻松管理更新/降级。

答案3

标准 makefile 应该遵循 DESTDIR 环境变量。因此,您可以在运行之前设置它make install,并将所有文件安装在$DESTDIR路径中。通常,我在对从源代码编译的软件进行一些测试时使用它。

对于生产中使用的软件,最好制作自己的包、deb、rpm 或任何您的发行版使用的包。

答案4

我认为你的版本号有误。Apache 2.2.22 是12.04第一个获得 2.4 的版本将是即将推出的13.10发布。

相关内容