
Into: 私は情報源を読んで学ぶのが好きです。しかし、インターネット上の多くの異なるプロジェクトサイトに分散している情報源を探すのは疲れます。中央閲覧可能多数のアプリのソースを 1 か所にまとめたリポジトリ。
- Linux ツールのドキュメントを探したい場合、最適な場所は次のとおりです
man toolname
。 - Linux ソースを「オンデマンド」で参照したいときは、いつでも次の場所にジャンプできます。Linux クロスリファレンス。
- 最も一般的なスタッフを見つけたいときは、すべてのソースを見つけることができます コアユーティリティ。
- 何かを構築する方法を確認したいときは、(例えば)http://www.archlinux.org/packages/、pkgbuild であることを確認してください。
ほとんどのツールのソースを1か所に保管しているリポジトリはありますか? -man
ドキュメントやLinux クロスリファレンスカーネルソース。
私が言いたいのは、物事がどのように実装されているかを「迅速に」「オンデマンドで」チェックできるものなのです。(はい、Google は知っていますが、1. プロジェクト サイトを検索 2. リポジトリを参照、またはさらに悪いことに、そのリポジトリをチェックアウト 3. 終了したら削除、というルーチンにはうんざりしています)
述べる:
ストレスが溜まっているので、ツールを素早く、迅速に、オンデマンドでチェックしたいと思います。
つまり、ソースを確認するためだけに、ソース付きのアプリ全体をインストールしたくないということです。(ちなみに、Web リソースの方が望ましいので、多くのコンピューターからソースを確認できます。すべてのコンピューターの管理者権限はありません)
答え1
別の答えであなたの質問にお答えしましょう。GNU バージョンだけでなく、従来の Unix コマンドライン ツールのコードも読みたいのだと思います。異なるプロジェクトの類似ツールのコードを読むことは、さまざまなアイデアや実装を学ぶための良い練習になります。
GNU には coreutils のリポジトリ用の優れた Web インターフェイスがあります。git は、git のソース コードです。
BSD ファミリには、リポジトリ用の同様の Web インターフェイスがあります。
- OpenBSD:http://www.openbsd.org/cgi-bin/cvsweb/src/
- ドラゴンフライBSD:http://gitweb.dragonflybsd.org/dragonfly.git/tree
- ネットBSD:http://cvsweb.netbsd.org/bsdweb.cgi/src/
- FreeBSD:http://svnweb.freebsd.org/base/head/
BSD コードベースは、通常、同じツールに対して使用するコードが少ないため興味深いものです。つまり、従来のオプションのみをサポートし、追加オプションはサポートせず、sh は実際のシェルであり、他の大きなシェル (bash) へのリンクにすぎないなどです。coreutils に似たツールは、bin、sbin、usr.bin、および usr.sbin 内にあります。
サードパーティのソフトウェアをビルドするためのコードを読みたい場合も、同じ Web インターフェイスを参照できます (arch の pkgbuild に似ています)。NetBSD と DragonFly は、NetBSD リポジトリの pkgsrc を使用します。OpenBSD と FreeBSD には、それぞれのリポジトリ内にこれらのフレームワークがあります。
あなたの目的に興味深い他のリポジトリは次のとおりです:
答え2
オープンソース開発のための中心的な場所がないため、ほとんどのオープンソース ソフトウェアを含む中央リポジトリはありません。GitHub、BitBucket、プライベート サーバー、Sourceforge、Launchpad などを使用する人もいます。したがって、これは真の分散環境であり、ソースをコピーするだけの 1 つのリポジトリを持つことによる即時のメリットはありません。
一方、バイナリ ディストリビューション (ソース コードではなくバイナリを配布) では、通常、ほとんどのパッケージのソースが提供され、すべてのユーザーに提供されます。したがって、ディストリビューションによって提供されるインフラストラクチャを使用するのが最善です。ディストリビューションには必ずしも最新の変更や修正が含まれているわけではなく、古くなっている可能性があることに注意してください。
ディストリビューションからソース パッケージをダウンロードする方法の例:
yumdownloader --source packagename
apt-get source packagename
Archについては、次の回答をご覧ください。同様の質問に対する回答stackoverflowで。
ソースコードをダウンロードしたいだけなら、packages.debian.orgを使うことができます。例えばcoreutilsへのリンク. これにより、元のパッケージ (orig.*
または一部のパッケージのクリーンアップされたソースdsfg.*
) へのダウンロード リンクが提供されます。Arch Linux パッケージ リストでも同じことができます。例:arch coreutils ページ.Download from Mirror
パッケージがダウンロードされます。