USBフラッシュドライブにはどのようなFileSystemをお勧めしますか?


18

これは、Ubuntuを使用しているときに抱えている問題です。Ubuntuがインストールされた2台のコンピューター(comp1とcomp2)があります。comp1でUbuntuを使用してドキュメントを作成し、そのファイルをFAT形式のUSBフラッシュドライブにコピーします。フラッシュドライブを介して、ドキュメントをcomp2に貼り付けます。問題は、転送中にファイル許可が保存されないことです。FATはアクセス許可をサポートしていないためだと思います。

これに対する解決策はありますか?USBフラッシュドライブにFATファイルシステムを引き続き使用する必要があり(FATはフラッシュドライブに最適であるため)、このアクセス許可の問題を抱えているだけですか?または、アクセス権を保持するより「Ubuntuに優しい」ファイルシステムでフラッシュドライブを再フォーマットすることをお勧めしますか?

回答:


11

ext4はジャーナリングファイルシステムです。つまり、デバイスのプラグが時期尚早に取り外されると、破損したファイルシステムを回復できる可能性が高くなります。書き込みのジャーナル部分には、これから行われることに関する情報が含まれ、操作が完了するとクリアされます。マウント時にデバイスに未完了のジャーナルがあることが判明した場合、ファイルシステムを以前の状態に戻すことができ、それによりその整合性が維持されます。

USBスティックにジャーナリングファイルシステムを配置するために必要なスペースに関して、余分なオーバーヘッドがありますが、実際にはほとんどの場合に適しています。

もちろん、いつでも任意のコンピューターに接続できるデバイスが必要な場合は、FATが最適です。1台のWindowsコンピューターに時々接続するだけのデバイスが必要な場合は、Windowsにext2デバイスドライバーをインストールして、すべてのext(x)ドライブを読み取れるようにすることができます。もちろん、WindowsはLinuxの許可と所有権を知らないため、これらも同様に処理されません。


私はそれをもっとうまく言えなかった。+1
ルイスアルバラード

Windows用のExt2ドライバーもExt4ファイルシステムを読み取ることができるはずです-単にジャーナルを無視します。
ネイサンオスマン

8

ドライブをUDF(Universal Disk Format)としてフォーマットしてみてください。これは、CDおよびDVDで使用するための形式です。最新のOSのほとんどは、読み書きできます。

現在、UDFフォーマットのドライブ上のデータを見ると、Linuxファイルのアクセス許可が保持されているようです。これまでのところ、それは私のために働いています。

UDFフォーマットのドライブに関するもう1つの良い点は、最大16エクサバイトの単一の大きなファイルを保存できることです(間違っている場合は修正してください)。わずか2TBです。

Win7および8で正常に動作します。XPや2000などの古いWindows OSの場合、ドライブから読み取ることができますが、書き込むには何らかのドライバーをインストールする必要があります。

Macの場合、OS X 10.5以降には完全な互換性があります。完全な互換性チャートはこちらです。 UDF互換性チャート

Ubuntuでは、次の手順に従ってドライブをUDFとしてフォーマットします。

sudo apt-get update
sudo apt-get install udftools

さて、ターゲットドライブの現在のパーティションを削除します。Disk UtilityのようなGUIツールを使用するか、以下を実行できます。

sudo blkid

出力でドライブを見つけます。(これらは/ dev / sdbまたは/ dev / sdcのように見えます)ここで以下を実行しますが、/ dev / sdx の「x」を置き換えて、パーティションをクリアしたいドライブを指すようにします。これを両方のコード行に対して行います。

sudo dd if=/dev/zero of=/dev/sdx bs=1M count=1
sudo mkudffs -b 512 --media-type=hd --utf8 --lvid=DriveLabel --vid=DriveLabel --fsid=DriveLabel  /dev/sdx

「DriveLabel」と表示される場所を好みに合わせて変更できます。

それであるはずです。

実際、これは少し異なりますが、この方法の方が簡単だと判断しました。このサイトからこのメソッドを参照しました

私はこれがそこに誰かを助けることを願っています。


私のために動作しません:USBドライブをマウントするときにエラー
ルイ

1
ありがとう、非常に興味深いアプローチです。デスクトップOS(Ubuntu 15.10以降、Windows 7以降でテスト済み)には完全に機能しますが、モバイル(8.xまでのAndroidには完全に機能しません)には完全に機能します。ジャーナリングファイルシステムと比較して、フラッシュドライブへの書き込みの影響ははるかに少ないと思います。これはワンライナーです。CreateUdfFlash(){ sudo wipefs "$1" ; sudo mkudffs --utf8 -b 512 --media-type=hdd --lvid="$2" --vid="$2" --fsid="$2" "$1" ; } ; CreateUdfFlash "/dev/sdX" "Some Disk Label"
dess

7

USBドライブにユーザーIDを保持するファイルシステムを使用する場合、ユーザーアカウントが作成された順序でユーザーIDが割り当てられ、ファイルシステムがユーザー名ではなくファイル所有者の数値IDを実際に保存するという事実に起因する問題に直面する可能性があります。、と言うのであれば、マシンAはありalicebobアカウント、およびマシンBがありbrucezoeそしてaliceおそらく彼女は、内線にアリスのコピーをファイルするとき(2/3/4)-formatted USBドライブは、アクセスするマシンBと試行に歩くこと、それを占めます彼女は、ファイルがすべて所有されbruce、読み取り専用であることを発見するファイルalice

もちろん、両方のマシンに1人のユーザーしかいなければ、これは問題になりません。

tar@FSMaxBが提案するように、アーカイブにパックされたファイルを転送すると、アーカイブをアンパックするとユーザーIDが所有するファイルが作成されるため、この問題を解決できる場合があります。


0

フラッシュドライブをLinuxシステムでのみ使用する場合は、ext4などのext-filesystemsを使用できますが、他のシステムで使用する場合、FATが唯一の互換性のあるファイルシステムです。

FATを使用し、アクセス権(所有権ではない)を保持する1つの方法は、tar-Archivesの使用です!


1
tarアーカイブを解凍するrootとファイルの所有権が保持されるため、アーカイブ自体にユーザーIDが保存されます。ただし、ユーザーIDが異なる場合があるため、異なるマシンで実行することは実際にはお勧めできません。
セルゲイ

ありがとう。今のところTARソリューションを試してみると思います。質問:TARを作成し、フラッシュドライブに作成する方法はありますか?ファイルをTARにしたいディレクトリに移動し、TARコマンドを実行すると、そのディレクトリにアーカイブが作成されます。代わりに、フラッシュドライブにアーカイブを作成できますか?
グレッグ

TARを作成するにはBASHが必要ですか?または、それを行うGUI方法はありますか?
グレッグ

あなたは、通常のUbuntuを使用する場合は、(それは、このように呼ばれている場合、私はドイツのシステムを使用しているので、知っている`tを)ファイルまたはディレクトリ上で右クリックし、「圧縮」をクリックすることができます
FSMaxB

私はguiからtarを試しませんでしたが、tar.bz2を使用してguiから圧縮し、「tar -xf」でbashを解凍して、権限を保持しました。
FSMaxB

0

USBスティックで何年も問題なくreiserfsを使用しています。まあ-単に失われた場合、彼らは悪いことではないかもしれないWindowsシステムから読み込めないというだけです。

スティックをパーティション分割する場合、Windowsでデータ交換のためにパーツを使用するには、windowspartitionが最初のものであることを確認します-それ以外は識別されません(少なくともXPの場合は体験しました)。

ファットファイルシステムを構築し(今日のスティックサイズではかなり制限されていませんか?)、それに大きな空のファイルを追加し、そのファイルをUbuntuのループデバイスとしてマウントできます。その後、ファイルのアクセス許可を保持し、パーティション化やフォーマットを行わずに予約スペースを増減できます。

すでに述べたように、タール、ジップなどは別の可能性です。

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