web-dev-qa-db-ja.com

USBドライブがマウント解除されている場合、心配せずにUSBドライブを取り外すにはどうすればよいですか?

USBドライブのプラグを抜いて、ファイルが書き込まれていないことを確認することがあります。

ファイルが確実に書き込まれるようにする唯一の方法は、デスクトップのUSBドライブを右クリックして、[マウント解除]を選択することだと思いますが、忘れることがあります。

ファイルがUSBドライブに即座に書き込まれるようにするための最良の方法は何ですか?このようにして、USBドライブのLEDライトの点滅が止まったことに気づいたら、すぐにUSBドライブを取り外すことができます。

OS:CentOS 6

4
user46875

通常、USBサムドライブなどの大容量記憶装置は、コマンドmountを使用してマウントされます。これらは、このコマンドumountへの賛辞を使用して明示的にアンマウントする必要があります(これはタイプミスではありません)。 USBデバイスが接続されたばかりなど、ハードウェアレベルでイベントを検出できるツールがあります。これらの「サービス」により、マウントが自動的に行われます。これは、GNOMEデスクトップを使用しているときに起こっていることであり、通常、USBドライブがファイルブラウザNautilusにマウントされているように表示されます。

デバイスがいつ書き込まれなくなったかを知るのは少し難しいです。 UdevメッセージとDBUSメッセージを使用して独自のハンドラーを作成し、デバイスへの書き込みが毎回完了したことを確認してから、明示的に「マウント解除」状態に保つ必要があります。

Linuxのさまざまなサブシステムにさらに深く統合することなく、これを行う他の方法はありません。私の知る限り、現時点では存在していません。

MAC OSX

私の推測では、OSXでは、彼らはsyncコマンドを実行し、デバイスを「マウント」したままにします。これは危険なことと見なすことができますが、オペレーターにとっては便利です。

0
slm

リムーバブルドライブでsyncマウントオプションを使用すると、すべての書き込みがすぐにディスクに書き込まれるため、まだ書き込まれていないファイルからデータが失われることはありません。それは悪い考えですが、それはあなたが求めていることを実行します。

syncは、データが失われないことを保証するものではないことに注意してください。リムーバブルドライブをアンマウントすると、ファイルが開いているアプリケーションがなくなります。プラグを抜く前にマウントを解除しないと、手遅れになるまでデータが保存されていないかどうかはわかりません。ファイルが開いているときにアンマウントすると、ファイルシステムレベル(ファイルが閉じられるまでOSが一部の操作をキューに入れている可能性があります)とアプリケーションレベル(たとえば、アプリケーションがロックファイルを配置した場合)の両方で破損する可能性も高くなります。削除されません)。

さらに、syncはデバイスの寿命に悪影響を及ぼしますsyncオプションがない場合、カーネルは書き込みを並べ替えてバッチで書き込みます。 syncオプションを使用すると、カーネルはすべてのセクターをアプリケーションから要求された順序で書き込みます。セクターを再割り当てしない安価なフラッシュメディア(つまり、ほとんどすべての古いUSBスティック、最近のものにまだ当てはまるかどうかはわかりません)では、(V)FATのファイルアロケーションテーブルまたはジャーナルへの書き込みが繰り返されます典型的な最新のファイルシステムでは スティックをかなり速く殺すことができます

したがって、syncマウントオプションの使用はお勧めしません。

FATファイルシステムでは、flushマウントオプションを使用できます。これはasync(デフォルト)とsyncの中間です。flushオプションを使用すると、カーネルはドライブがアイドル状態になるとすぐにすべての書き込みをフラッシュしますが、保持しません書き込みの順序(たとえば、FATへのすべての書き込みがマージされます)。