コンパイルされたプログラムの保存元はどこにありますか? [閉鎖]

コンパイルされたプログラムの保存元はどこにありますか? [閉鎖]

Linux / Unixシステムでコンパイルされたプログラムの正確なソースコードを見つけたいです。

たとえば、

computer:/ username$ whereis ping
/sbin/ping

仕事はソースコードを見つけることです/スビン/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用です。


これFreeBSDプロジェクト(Linuxでもない)にはGitHubリポジトリがあります。https://github.com/freebsd/freebsd

ソースコードはping次の場所にあります。sbin/pingその木に。


これらのBSDシステムでは、デフォルトのユーティリティとカーネルのソースコードは、ユーザーがそのリポジトリをチェックアウトした場合にのみシステムで使用できます。

(ビルド手順を含むMakefile)サードパーティのツールキット/ポートは、3つのオペレーティングシステムすべてに対して別々のリポジトリに保存されています。代わりに既製のバイナリパッケージ/ポートを使用する代わりに。

パッケージ/ポートシステムの使用方法については、関連するUnixが提供するマニュアルを参照してください。


Linuxユーティリティのソースコードの場合は、まずユーティリティがどのパッケージで提供されているかを確認し、(可能であれば)パッケージマネージャソフトウェアを使用してそのパッケージのソースコードをインポートする必要があります。または、パッケージマネージャがバイナリパッケージを生成したときにソースコードをどこで入手したかを調べます。これは、使用するLinuxおよびパッケージマネージャソフトウェアによって異なります。

関連情報