Woj*_* B. 5 package-management packaging install-from-source
当我做:
wget ftp://ftp.openbsd.com/pub/OpenBSD/OpenSSH/portable/openssh-5.8p1.tar.gz
wget ftp://ftp.openbsd.com/pub/OpenBSD/OpenSSH/portable/openssh-5.8p1.tar.gz.asc
gpg openssh-5.8p1.tar.gz.asc
tar -zxvf openssh-5.8p1.tar.gz
mv openssh-5.8p1 openssh-5.8p1_downloaded
apt-get source openssh-server
diff -r openssh-5.8p1 openssh-5.8p1_downloaded/ | wc -l
Run Code Online (Sandbox Code Playgroud)
我得到了很多差异(wc -l 返回 3000 行)。这是为什么?
管理软件包并将应用程序导入 Ubuntu 存储库的 Ubuntu 开发人员保留修改这些应用程序的权利。他们被允许这样做,因为几乎所有的软件都是免费许可的。他们不会试图掩盖它,这些变化对任何人都是可见的。事实上,他们甚至更改包的版本以表明它与原始版本不同。apt-get source您执行的命令将您下载openssh-server到版本5.8p1-7ubuntu1 中。注意后缀。(您可以使用任何包管理器检查版本)。该方案orig_version-XubuntuY在所有包中都非常普遍。X 编号表示Debian 中的修订号,Y 代表Ubuntu 中的修订号。 也许您知道这一点,但作为对可能阅读此答案的每个人的旁注:大多数 ubuntu 软件包都是从 Debian 存储库复制的 - 因此,如果 Debian 开发人员发布 5.8p1 版 7 次,则每次将其包含更改时将其发布到存储库,而且,这是 Ubuntu 开发人员第一次发布更改后的版本,最终版本号将是 5.8p1-7ubuntu1。
如果上游版本足够好,他们为什么想要或需要包含自己的更改?
您可以在以下两个地方获得有关更改的更多信息:
在那里你可以找到你感兴趣的包,选择你感兴趣的版本,甚至可以下载 debian 源包来手动读取所有.patch文件,这些文件是由 Ubuntu 开发者提供的,在构建时应用到原始源Ubuntu 包。
另请注意,这些更改总是在包的更改日志中简要解释(可在这些站点和使用您计算机上的大多数包管理器获得 - 但有指向您的链接openssh-server- 至少阅读它以注意版本号如何作为补丁更改被包含在内)。
我希望你会发现它很清楚!
| 归档时间: |
|
| 查看次数: |
214 次 |
| 最近记录: |