从其他服务器的源重新编译包

Kor*_*786 3 package-management debian

我有几台服务器 (10) 在 x86 上运行 Debian Lenny。我需要从源代码编译一些包。我知道在生产服务器上安装编译工具不是一个好习惯(为了安全)。

我想知道,我是否可以在一台计算机(x86)上编译这些包并将它们安装在服务器上?

有什么问题吗 ?

包示例

  • 内核源代码
  • 阿帕奇
  • PHP5
  • ...

非常感谢。

jld*_*ger 5

您有 10 个 Lenny 服务器都运行 x86 架构。完全有可能构建一个安装到任何运行特定架构的计算机上的单个包。使用 构建 Debian 软件包是一种很好的做法pbuilder,以避免任何“在开发箱上工作”的问题。

重建一个包相对简单。apt-get有一个source命令可以下拉源代码。如果所需要的只是一个简单的configure选项更改,那么您就差不多准备好了。编辑debian/rules文件,并使用类似~jldugger0. 只需增加尾随 0 以保持碰撞本地版本。不要直接修改 Debian 版本,看在上帝的份上,不要修改 EPOCH——如果您想确保较新的版本不会覆盖本地更改,请固定软件包。请注意,您面临着巨大的安全风险,需要找到某种方式订阅包中的更改以供审核。

本地版本包的两个问题是:应该努力跟上新版本的步伐。如果您的更改足够简单,您也许可以通过应用补丁的脚本来解决。如果它是侵入性的,那么随着冲突的积累,不将更改推向上游将花费您越来越多的时间。另一个问题是依赖关系。内核、Apache 和 PHP 都是其他软件包所依赖的核心组件。考虑您要对包进行的更改是否会影响依赖于它的其他包。