
Git は、計算されたファイルのハッシュに基づいて、リポジトリにコンテンツを一意に保存します。ディレクトリ内のどこかに同じファイルのコピーが 2 つある場合、Git は実際にそれを 1 回だけ保存します。
これと同じ概念が、何らかのファイル システムとしてオペレーティング システム レベルで実装されているかどうか疑問に思っています。
ファイルシステムがデフォルトでこのように動作すれば、dll 地獄問題はありません。基本的に、自動的にシンボリックリンクが作成されます。任意のアプリケーションを、その依存関係すべてとともにディレクトリにパッケージ化 (jar のように) でき、追加のストレージ コストはかかりません。
Ruby愛好家は、ライブラリをrubygemsとして公開することで共有しています。しかし、このgem共有の取り組みは、デプロイメントの悪夢をもたらし、ベンダーすべてこのような悪夢を避けるために、すべての依存関係をローカル フォルダーにコピーするという概念があります。
答え1
あなたが探しているのは「重複排除」と呼ばれるものです。これは通常、専門的なストレージ製品のベンダーによって実装されますが、ZFSファイルシステムそれを同様に実装します。ほとんどのUnix系オペレーティングシステムZFS を利用できるので、まずは ZFS を調べることをお勧めします。
答え2
Network Appliance, Inc. は長年このようなストレージ機能を備えており、実際、Sun Microsystems に対して ZFS ファイル システムに関する苦情を申し立てており、Aaron Miller が承認された回答で言及していることを実行しています。ちなみに、この苦情は Oracle との間で約 3 年後に解決されました。
私は 2000 年からこれを企業ソリューションとして使用していますが、うまく機能しています。最初の「コピー」後のストレージ コストは、ファイルに変更があったときに発生します。それ以外の場合、「コピー」の数が多くなっても、名前空間のコストはわずかに増加するだけです。
これは「オペレーティング システム レベル」に関する質問に対する回答ではなく、「ファイル システム レベル」に関する質問に対する回答であると思います。
答え3
新しい Apple File System (APFS、別の意味の AFS が既に存在していたためこの名前が付けられました) は、この「自動ハードリンク」/「重複排除」の魔法を実行します。macOS 10.13 は、iOS 11 と同様にこれをネイティブに (ほとんどの Mac で) サポートします。
そうは言っても、それが「git のような」ものにするには十分ではないと思います。なぜなら、もし「git のような」ものなら、特定の時点でのディレクトリ構造の状態の暗号チェックサムも保持され、誰かが私のコンピュータをハッキングしたり、システム ディレクトリを変更したりしていないことを確信できるからです。実際、私は git リポジトリを使用して、Apache 構成ファイル、LaunchDaemons、LaunchAgents など、Mac 上の特定の重要なシステム ディレクトリを追跡しています。こうすることで、ソフトウェアをインストールしたり、しばらくサーバーを実行したりするときに、何か問題が発生していないかどうかを確認できます。
APFS には、しばらく使用されていないデータをファイル システムからクラウドにオフロードする便利なサポートもあります。これらのデータは、まだ存在しているように見え、オンデマンドでクラウドから再び読み込まれます。
いつでも Hackintosh を構築して、いじってみることもできます。BSD は楽しいです。