Into:ソースを読んで学ぶのが好きです。しかし、多くの異なるプロジェクトサイトに分割されたインターネット上でそれらを検索するのは面倒です。 central browsableリポジトリに、多数のアプリのソースが1か所にあるのを見てみたいです。
man toolname
。ほとんどのツールのソースを1か所に保持しているリポジトリはありますか? --man
がドキュメントを保持しているのと同じように Linux相互参照 カーネルソース。
私は、ものがどのように実装されているかをチェックする「迅速な」「オンデマンド」のための何かを意味します。 (はい、私はグーグルを知っています->しかし私はルーチンにうんざりしています:1。プロジェクトサイトを検索する2.レポを閲覧するかさらに悪いことに->レポをチェックする3.終了したら削除する)
備考:
私は強調しました、私はツールをチェックしたいと思います:迅速、迅速、オンデマンド。
つまり、ソースを調べるためだけに、ソースを含むアプリ全体をインストールしたくありません。 (ところで、Webリソースの方が望ましいので、多くのコンピューターからソースを確認できます。すべてのコンピューターに管理者がいるわけではありません)
別の答えであなたの質問に答えさせてください。 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は、それぞれのリポジトリ内にこれらのフレームワークを持っています。
あなたの目的にとって興味深い他のリポジトリは次のとおりです。
オープンソース開発の中心的な場所がないため、ほとんどのオープンソースソフトウェアを含む中央リポジトリはありません。 GitHub、BitBucket、プライベートサーバー、Sourceforge、Launchpadなどを使用するものもあります。したがって、これは真に分散された環境であり、1つのリポジトリにソースをコピーするだけの直接的なメリットはありません。
一方、バイナリディストリビューション(ソースコードの代わりにバイナリを出荷する)は通常、ほとんどのパッケージのソースを提供し、すべてのユーザーに提供します。したがって、最善のチャンスは、ディストリビューションが提供するインフラストラクチャを使用することです。必ずしも最新の変更や修正が含まれているとは限らず、古くなっている可能性があることに注意してください。
ディストリビューションからソースパッケージをダウンロードする方法の例:
yumdownloader --source packagename
apt-get source packagename
Archについては、stackoverflowの 同様の質問に対する回答 の回答をご覧ください。
ソースコードをダウンロードしたいだけなら、packages.debian.orgを使用できます。例: coreutilsへのリンク 。これにより、元のパッケージへのダウンロードリンクが提供されます(orig.*
または一部のパッケージのクリーンアップされたソースdsfg.*
)。 Arch Linuxパッケージリストでも同じことができます。例: Arch coreutils page 。 Download from Mirror
パッケージをダウンロードします。