sip*_*phr 6 linux packaging package-management distributions
我知道不同的发行版会修补各自存储库中可用的软件包,但我一直不明白为什么需要这样做。如果有人能解释或指向我在线的相关文档,我将不胜感激。谢谢。
Sha*_*dur 17
尝试了几次,但我想我明白你现在要问什么了。
分发版在打包之前修补给定软件有多种可能的原因。我会尝试给出一个非排他性列表;我确定还有其他可能的原因。
出于本次讨论的目的,“上游”是指来自软件官方开发人员的原始源代码
无论出于何种原因,上游尚未(或尚未)纳入其主分支的补丁。通常是因为该包的发行版的包维护者认为这些补丁是值得的,或者因为需要它们来保持发行版的连续性(假设你有一个网络服务器,并且在对php你一直依赖的几个功能进行例行更新之后不再工作,或者无法读取旧样式的配置文件)
发行版倾向于喜欢它们的文件系统层次结构的标准化模式/etc/;每个软件开发人员对于什么是适当的标准可能有也可能没有他们自己的想法。因此,分发包维护者倾向于做的第一件事就是修补构建脚本以配置和期望以与分发的其余部分相对应的层次结构模式的所述配置文件。
继续关于配置的话题,第一个“补丁”往往是一组默认配置文件,可以说是“开箱即用”的其余发行版,允许最终用户立即开始使用安装后,而不必手动整理工作配置。
这只是我的头顶。可能还有其他人,但我希望这能给你一些想法。
Edh*_*dil 10
在我的脑海中,除了@Shadur 的回答:
至少对于 Debian 来说,一个常见的原因是软件包符合 Debian 政策。毫无疑问,其他发行版也有类似的标准,他们希望他们的包能够满足。由于 Debian 政策是一个严格的大师,这些补丁可能采取多种形式并服务于多种目的,包括:
修改构建系统以使其更加健全或更灵活。有时,构建系统不够灵活,无法处理 Debian 软件包的构建。或者,更改构建系统,以便将文件放置在符合策略和/或 FHS 的位置。
添加手册页(Debian 政策要求每个软件包都有一个手册页)。
删除具有非免费许可证或没有明确许可证的文件。
修补软件(可能包括构建系统),以便它使用该版本的 Debian 中实际可用的软件包进行构建。
特定于架构的修复。Debian 构建在多种架构之上,其中一些软件的编写者可能从未尝试过在其中使用它。