ファイルごとに複数のデータストリームをサポートするファイルシステム

ファイルごとに複数のデータストリームをサポートするファイルシステム

NTFSは、単一のファイルで複数のデータストリームをサポートしていると聞きました。ここでは、メインストリーム以外のストリームを読み書きするストリームを指定できます。

私はいくつかの理由でここでかなりの可能性を見ています。

Linuxにも同じ効果が得られるファイルシステムはありますか?一度作ってみましたか?なぜかなぜ良い考えではないのですか?この機能を使用するには、ファイルシステムに何が必要ですか?

ベストアンサー1

NTFSのファイルには1つの基本データストリームしかありませんが、次のデータストリームを持つことができます。代替データストリーム(広告)。 Appleが使用したため、ADSはクラシックMacの相互運用性を可能にするために導入されました。リソースフォークデータの一種である追加データを保存します。クロス

ADSは使用に制限があり、主にウイルスやマルウェアによって悪用されます。また、フォークを使用すると、通常のツールを使用してコピーしたり、サポートされていないファイルシステムにコピーしたりすると、データが失われやすくなります。だから*nixはこれを正しく追いつけませんでした。 MSでもWindows 2000でサムネイルに使用しようとしましたが、XPではアイデアをあきらめました。そして彼らが紹介するとき参考資料(NTFSの後継)最初はADSサポートを完全に中止しました。

今日、ADSの唯一の一般的に有効な用途はストレージです。地域情報インターネットで発生した攻撃からユーザーを保護するためにファイルがダウンロードされた場所を示します。スペースがほとんど必要ないのでますます人気を得て他のプラットフォームでは。 *nixの世界で拡張ファイル属性今すぐ追加データがありますが、サイズ制限は、2000年代のインターネット時代の好況期にほとんどの*nixファイルシステムに追加され始めました。たとえば、FreeBSDは2003年バージョン5.x以降の拡張属性をサポートしています。

Linuxではext2、ext3、ext4、JFS、Squashfs、UBIFS、Yaffs2、ReiserFS、Reiser4、XFS、Btrfs、OrangeFS、Lustre、OCFS2 1.6、ZFS、およびF2FSファイルシステムは、拡張属性をサポートします。(略語プロパティ)カーネル構成で有効になっている場合。すべての一般的なファイルまたはディレクトリには、名前と関連データで構成される拡張属性があります。名前は、名前空間識別子とドット文字が前に付けられたNULLで終わる文字列でなければなりません。現在、4つの名前空間(User、Trusted、Security、およびSystem)があります。ユーザーの名前空間には、命名やコンテンツに制限はありません。システム名前空間は、主にカーネルのアクセス制御リストに使用されます。たとえば、SELinuxはセキュリティネームスペースを使用します。

POSIX.1e草案[引用が必要]の拡張属性概念のサポートは1997年に撤回され、2002年頃にLinuxに追加されました。 2016年現在、ユーザースペースのLinuxプログラムでは広く使用されていませんが、Beagle、OpenStack Swift、Dropbox、KDE ​​Semantic Metadata Framework(Baloo)、Chromium、Wget、およびcURLで使用されています。

LinuxカーネルはXFSやReiserFSと同様に、最大255バイトの拡張属性名と最大64KiBの値を受け入れますが、ext2/3/4とbtrfsははるかに制限されていないため、すべての属性(名前と値)が1つでなければなりません。ファイルは「ファイルシステムブロック」(通常4KiB)に収まります。 POSIX.1eによると、[引用が必要]という名前は、次のいずれかで始まる必要があります。安全システム信頼できるユーザーピリオドを追加してください。これは拡張属性の4つの名前空間を定義します。

https://en.wikipedia.org/wiki/Extended_file_attributes#Linux

前述したように、ReFSは最初はADSをサポートしていませんが、長さが制限されたADS最新のReFSバージョンに再追加されましたが、これは本質的に拡張属性

2002年ソラリス9ブランチがある最初のUnixなので、SolarisはZFSおそらくフォークがある唯一のUnixファイルシステムです。「拡張属性」

おすすめ記事