哪里是找到标准 Linux 命令行工具来源的最佳位置?

哪里是找到标准 Linux 命令行工具来源的最佳位置?

Into:我喜欢通过阅读资源来学习。但在分散在许多不同项目站点的互联网上搜索它们是很累人的。我很想看看中央可浏览存储库将许多应用程序的源集中在一处。

  • 当有人想要查找某些 Linux 工具的文档时,最好的地方是:man toolname
  • 当我想“按需”浏览 Linux 源代码时,我总是可以跳转到:Linux交叉参考
  • 当我想找到最常见的员工时,我可以在以下位置找到所有来源: 核心工具
  • 当我想检查如何构建某些东西时,我可以(例如)跳入http://www.archlinux.org/packages/,检查它的 pkgbuild。

是否有任何存储库将大多数工具的来源集中在一个地方? - 就像man保存文档或Linux交叉参考内核源代码。

我的意思是“快速”“按需”检查东西是如何实现的。 (是的,我知道谷歌 -> 但我厌倦了日常工作:1. 搜索项目站点 2. 浏览存储库,甚至更糟 -> 查看它的存储库 3. 完成后删除)

评论:

我压力很大,我想检查一下工具:快速、快速、按需。

这意味着:我不想安装整个应用程序及其源代码只是为了查看它的源代码。 (顺便说一句。网络资源是更好的选择,所以我可以检查来自许多计算机的源 - 我对所有计算机都没有管理员权限)

答案1

让我用另一个答案来回答你的问题。我想您想阅读传统 Unix 命令行工具的代码,而不仅仅是 GNU 版本的这些工具。阅读不同项目中类似工具的代码是学习不同想法和实现的好习惯。

GNU 有一个很好的 web 界面用于 coreutils 的存储库:http://git.savannah.gnu.org/cgit/coreutils.git

BSD 系列具有类似的存储库 Web 界面:

BSD 代码库很有趣,因为通常为相同的工具使用较少的代码,即:仅支持传统选项,没有额外的选项,sh 是一个真正的 shell,而不仅仅是到其他大型 shell(bash)的链接等。类似于 coreutils 的工具位于 bin、sbin、usr.bin 和 usr.sbin 内。

如果您想阅读构建第三方软件的代码(类似于 arch 的 pkgbuild),您也可以浏览相同的 Web 界面。 NetBSD 和 DragonFly 使用 NetBSD 存储库中的 pkgsrc。 OpenBSD 和 FreeBSD 在各自的存储库中拥有这些框架。

其他对您的目的感兴趣的存储库是:

答案2

由于开源开发没有中心位置,因此没有包含大多数开源软件的中央存储库。有些使用 GitHub、BitBucket、私有服务器、Sourceforge、Launchpad 等。因此,这是一个真正的分布式环境,仅使用一个存储库复制源代码并没有立即带来的好处。

另一方面,二进制发行版(发布二进制文件而不是源代码)通常提供大多数包的源代码并将其提供给所有用户。因此,您最好的机会是使用发行版提供的基础设施。请注意,它们不一定包含最新的更改和修复,并且可能已经过时。

如何从您的发行版下载源包的示例:

yumdownloader --source packagename
apt-get source packagename

对于 Arch,请查看以下答案类似问题的答案在堆栈溢出上。

如果您只想下载源代码,您可以使用packages.debian.org,例如coreutils 的链接。这将提供原始包(orig.*或某些包的清理源)的下载链接dsfg.*。您可以对 Arch Linux 软件包列表执行相同的操作,例如:拱门 coreutils 页面。将Download from Mirror下载该软件包。

相关内容