已编译程序的存储源在哪里?

已编译程序的存储源在哪里?

我想找到Linux/Unix系统中编译程序的确切源代码。

举例说明:

computer:/ username$ whereis ping
/sbin/ping

任务是找到源代码/sbin/ping

答案1

已编译的二进制文件的源代码可能在您的系统上不可用。


开放BSD(不是 Linux),完整的基本系统的源代码(包括内核和实用程序,如ping)可通过 CVS 获得。

对于可通过 Web 浏览的 OpenBSD 存储库,请参阅https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/

来源ping位于src/sbin/ping


网络BSD项目(同样,不是 Linux)有一个可浏览的 CVS 存储库,位于http://cvsweb.netbsd.org/bsdweb.cgi/src/

的来源ping位于src/sbin/ping在那棵树中,对于 OpenBSD 来说。


自由BSD项目(也不是 Linux)有一个 GitHub 存储库:https://github.com/freebsd/freebsd

源代码ping位于sbin/ping在那棵树上。


在这些 BSD 系统上,只有当用户签出相应的存储库时,基本实用程序和内核的源代码才在系统上可用。

(带有构建说明的 Makefile)第三方工具包/端口保存在所有这三个操作系统的单独存储库中,并且如果有人决定,通常从相关工具的主要分发站点获取源代码自己编译该工具,而不是使用现成的二进制包/端口。

请参阅相关 Unix 提供的文档,了解如何使用其包/端口系统。


对于 Linux 实用程序源代码,您必须首先弄清楚该实用程序来自哪个包,然后(如果可能)使用包管理器软件获取该包的源代码。或者,查找包维护者在创建二进制包时从哪里获取源代码。根据您使用的 Linux 和包管理器软件,这会有所不同。

相关内容