gitのようなファイルシステムはありますか?


27

Gitは、計算された任意のファイルのハッシュに基づいて、そのリポジトリにコンテンツを一意に保存します。ディレクトリの内部に同じファイルのコピーが2つある場合、gitは実際に一度だけ保存します。

この同じ概念が、ある種のファイルシステムとしてオペレーティングシステムレベルで実装されているかどうか疑問に思っていますか?

ファイルシステムがデフォルトでこのように動作した場合、dllの地獄の問題をうまく解決できます。基本的に、あなたに代わって自動的にシンボリックリンクします。すべてのアプリケーションは、依存関係のすべてを備えたディレクトリにパッケージ化することができます(jarなど)。

Ruby愛好家は、ライブラリをrubygemsとして公開することで共有します。それでも、gemを共有するためのこの努力は、悪夢を回避するためにすべての依存関係をローカルフォルダーにコピーするというVendor Everythingコンセプトにつながる展開の悪夢をもたらしました。


2
私は専門家ではありませんが、ZFSをチェックしてください。
ForeverWintr

回答:


21

探しているものは「重複排除」と呼ばれます。通常、特殊なストレージ製品のベンダーによって実装されますが、ZFSファイルシステムも同様に実装します。ほとんどのUnix由来のオペレーティングシステムはZFSを利用できるため、最初に確認する場所としてお勧めします。


1
「重複排除」は、特に懸念していたファイルレベルで実装できます。
マリオ

3

Network Appliance、Inc.は長年にわたってこのようなストレージ機能を備えていました。実際、ZFSファイルシステムについてSun Microsystemsに苦情が寄せられており、Aaron Millerが受け入れた回答で言及していることを行っています。価値があるものについては、約3年後にOracleに苦情が解決されました。

2000年以来、これを企業ソリューションとして使用してきましたが、うまく機能しています。最初の「コピー」後のストレージのコストは、ファイルに変更があった場合に発生します。それ以外の場合、多くの「コピー」では、名前空間がわずかに増加するだけです。

これは「オペレーティングシステムレベル」についての質問に答えるのではなく、「ファイルシステムレベル」に答えるとは思わない。


0

新しいApple File System(APFS、別の何かであるAFSが既にあったために命名された)は、この「自動ハードリンク」/「重複排除」の魔法を実行します。macOS 10.13は、iOS 11と同様に(ほとんどのMacで)ネイティブにサポートしています。

そうは言っても、それが「git like」になっているとは思えません。「git like」であれば、特定の時点でのディレクトリ構造の状態の暗号チェックサムもあるためです。誰も私のコンピュータをハッキングしたり、システムディレクトリを変更したりしていないことを確信できました。実際、Gitリポジトリを使用して、Apache構成ファイル、LaunchDaemons、LaunchAgentsなど、Mac上の特定の重要なシステムディレクトリを追跡します-ソフトウェアをインストールしたり、サーバーをしばらく実行したりすると、何かがあるかどうかを確認できますねじ込まれた。

APFSは、しばらく使用されていなかったものをファイルシステムからクラウドにオフロードするための優れたサポートも備えていますが、まだ存在しているように見え、オンデマンドでクラウドから再び読み込まれます。

いつでもHackintoshを作成して、それをいじることができます。BSDは楽しいです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.