
時にはUSBドライブを取り出してファイルが記録されていないことがわかります。
ファイルが記録されていることを確認する唯一の方法は、デスクトップでUSBドライブを右クリックして「マウント解除」を選択することです。
ファイルをすぐにUSBドライブに書き込むための最良の方法は何ですか?これにより、USBドライブのLEDインジケータが点滅しなくなったときにUSBドライブを取り外すことができます。
オペレーティングシステム:CentOS 6
答え1
リムーバブルドライブでマウントオプションを使用すると、sync
すべての書き込みがすぐにディスクに書き込まれるため、まだ書き込まれていないファイルのデータは失われません。これは悪い考えですが、好きなように機能します。
気づくsync
データが失われないという保証はありません。リムーバブルドライブをアンマウントすると、どのアプリケーションでもファイルが開かれなくなります。プラグを抜く前に取り外さないと、遅すぎるまで保存されていないデータがあるかどうかはわかりません。ファイルが開いている間にアンロードすると、ファイルシステムレベル(ファイルが閉じられるまでオペレーティングシステムが特定のタスクをキューに入れることができる)とアプリケーションレベル(アプリケーションがファイルロックを設定している場合)の両方で破損する可能性があります。高くなります。 、削除されません。)
また、sync
機器の寿命に有害。このsync
オプションがない場合、カーネルは一括して書き込みと書き込みを並べ替えます。このsync
オプションを使用すると、カーネルはアプリケーションが要求した順序で各セクタを書き込みます。セクタを再割り当てしない安価なフラッシュメディア(ほぼすべての古いUSBスティックを意味します。最近のUSBスティックでもこれがまだ該当するかどうかわからない)から、ファイル割り当てテーブルに繰り返し書き込むか(V)FATにログオンします。一般的な最新のファイルシステムで棒を非常に速く殺すことができる。
sync
したがって、マウントオプションを使用しないことをお勧めします。
FATファイルシステムでは、次のものを使用できます。flush
インストールオプション。これはasync
(デフォルト)と次の間の中間値ですsync
。このflush
オプションを使用すると、ドライブがアイドル状態になると、カーネルはすべての書き込みをフラッシュしますが、書き込み順序は維持しません(たとえば、FATへのすべての書き込みはマージされます)。
答え2
通常、大容量記憶装置(USBサムドライブなど)はコマンドを使用してマウントされますmount
。このコマンドを追加して明示的に削除する必要がありますumount
(タイプミスではありません)。 USBデバイスが接続されているなど、ハードウェアレベルのイベントを検出するためのツールがあります。これにより、これらの「サービス」が自動的にインストールされます。 GNOMEデスクトップを使用すると、これが発生します。通常、ファイルブラウザNautilusにUSBドライブがマウントされていると表示されます。
デバイスに記録されなくなった時期を知ることは少し面倒です。これを行うには、UdevおよびDBUSメッセージを使用してデバイスへの各書き込みが完了するタイミングを特定し、それを「マウントされていない」状態に明示的に残すように独自のハンドラを作成する必要があります。
Linuxのさまざまなサブシステムへの深い統合がなければ、これを行う他の方法が見つかりません。
オペレーティングシステム
私の考えでは、OSXでコマンドを実行してsync
デバイスを「マウントされた」状態にしているようです。これは危険と見なすことができますが、オペレータには便利です。