当前位置: 首页>>技术教程>>正文


linux – Ubuntu:他们对原始资源做什么?

, ,

问题描述

如果我错了请纠正我

据我所知,像Debian /Ubuntu /Fedora这样的发行版通常在创建软件包之前先修改香草的源代码。这些变化背后的原因是什么?原始来源有问题吗?如何获得更改列表以及对特定程序包进行更改的原因?

谢谢您的帮助!

最佳方法

apt-get source package

将为您提供两个或三个文件:”original” tarball(有时已修改,但很少…唯一的更改通常是文件名)-名为* .orig.tar.gz,debian更改为* .diff.gz形式文件和一些元数据。有时.diff.gz文件会丢失:这意味着该软件包仅是为debian /ubuntu构建的,可以处理一些very-specific发行工作…例如dak,用于管理debian档案上传。然后,所有代码都在原始的tarball中。

原因有多种:修复软件错误(上游不希望),使软件适应debian(例如,调整文件路径)。 Debian希望所有软件包都符合FileSystem Hierarchy Standard,这是非常常见的调整。

由于包装问题,原始的tarball有时与上游创建的tarball不同。我记得当时看到一个程序分布在多个tarball中,而它们只生成一个可执行文件-debian维护者决定制作自己的”original” tarball,其中包含上游tartars。另一个原因是有时debian维护者决定将一些二进制文件添加到软件包中。很难将二进制文件放入.diff.gz文件中,因此原始的tarball已被修改(通常在软件包的文档中对此进行了明确说明)。

有时(很少)会出现许可问题。由于某些许可证,上游可能不了解或不想了解其含义。 Debian希望解决所有许可问题,因此有可能debian补丁程序做了一些特定的事情,或者原始的tarball被从非法的分布式文件中删除了。

也有可能某些内容已获得许可,因此您可以使用它但不能分发。通常(例如对于msttcorefontsflashplugin-nonfree),debian软件包只是某种形式的软件包安装程序,而软件包中没有原始内容。

pine软件包也很有趣,因为许可证禁止分发已编译的表单。因此,没有pine二进制程序包,但是有pine源程序包。您可以使用上面的命令下载它,然后自己编译成一个debian软件包。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10268.html,未经允许,请勿转载。