web-dev-qa-db-ja.com

標準のLinuxコマンドラインツールのソースを見つけるのに最適な場所はどこですか?

Into:ソースを読んで学ぶのが好きです。しかし、多くの異なるプロジェクトサイトに分割されたインターネット上でそれらを検索するのは面倒です。 central browsableリポジトリに、多数のアプリのソースが1か所にあるのを見てみたいです。

  • 誰かがLinuxツールのドキュメントを見つけたい場合、最適な場所は次のとおりです:man toolname
  • Linuxソースを「オンデマンド」で閲覧したい場合は、いつでも次の場所にジャンプできます: Linux相互参照
  • 最も一般的なスタッフを見つけたいときは、 Coreutils ですべてのソースを見つけることができます。
  • 何かをビルドする方法を確認したい場合は、(たとえば) http://www.archlinux.org/packages/ にジャンプして、pkgbuildを確認できます。

ほとんどのツールのソースを1か所に保持しているリポジトリはありますか? --manがドキュメントを保持しているのと同じように Linux相互参照 カーネルソース。

私は、ものがどのように実装されているかをチェックする「迅速な」「オンデマンド」のための何かを意味します。 (はい、私はグーグルを知っています->しかし私はルーチンにうんざりしています:1。プロジェクトサイトを検索する2.レポを閲覧するかさらに悪いことに->レポをチェックする3.終了したら削除する)

備考:

私は強調しました、私はツールをチェックしたいと思います:迅速、迅速、オンデマンド。

つまり、ソースを調べるためだけに、ソースを含むアプリ全体をインストールしたくありません。 (ところで、Webリソースの方が望ましいので、多くのコンピューターからソースを確認できます。すべてのコンピューターに管理者がいるわけではありません)

10

別の答えであなたの質問に答えさせてください。 GNUバージョンのこれらのツールだけでなく、従来のUnixコマンドラインツールのコードも読みたいと思います。さまざまなプロジェクトの同様のツールのコードを読むことは、さまざまなアイデアを学ぶための良い習慣です。実装。

GNUには、coreutilsのリポジトリ用の優れたWebインターフェイスがあります。 http://git.savannah.gnu.org/cgit/coreutils.git

BSDファミリーには、リポジトリ用の同様のWebインターフェースがあります。

BSDコードベースは興味深いものです。通常、同じツールに使用するコードが少ないためです。つまり、従来のオプションのみをサポートし、追加のオプションはサポートしません。shは実際のシェルであり、他の大きなシェル(bash)へのリンクだけではありません。coreutilsに類似したツールbin、sbin、usr.bin、およびusr.sbin内にあります。

サードパーティソフトウェアをビルドするためのコードを読みたい場合は、同じWebインターフェイスを参照することもできます(Archのpkgbuildと同様)。 NetBSDとDragonFlyは、NetBSDリポジトリのpkgsrcを使用します。 OpenBSDとFreeBSDは、それぞれのリポジトリ内にこれらのフレームワークを持っています。

あなたの目的にとって興味深い他のリポジトリは次のとおりです。

6
Rufo El Magufo

オープンソース開発の中心的な場所がないため、ほとんどのオープンソースソフトウェアを含む中央リポジトリはありません。 GitHub、BitBucket、プライベートサーバー、Sourceforge、Launchpadなどを使用するものもあります。したがって、これは真に分散された環境であり、1つのリポジトリにソースをコピーするだけの直接的なメリットはありません。

一方、バイナリディストリビューション(ソースコードの代わりにバイナリを出荷する)は通常、ほとんどのパッケージのソースを提供し、すべてのユーザーに提供します。したがって、最善のチャンスは、ディストリビューションが提供するインフラストラクチャを使用することです。必ずしも最新の変更や修正が含まれているとは限らず、古くなっている可能性があることに注意してください。

ディストリビューションからソースパッケージをダウンロードする方法の例:

yumdownloader --source packagename
apt-get source packagename

Archについては、stackoverflowの 同様の質問に対する回答 の回答をご覧ください。

ソースコードをダウンロードしたいだけなら、packages.debian.orgを使用できます。例: coreutilsへのリンク 。これにより、元のパッケージへのダウンロードリンクが提供されます(orig.*または一部のパッケージのクリーンアップされたソースdsfg.*)。 Arch Linuxパッケージリストでも同じことができます。例: Arch coreutils pageDownload from Mirrorパッケージをダウンロードします。

2
Ulrich Dangel