時にはUSBドライブを取り出してファイルが記録されていないことがわかります。
ファイルが記録されていることを確認する唯一の方法は、デスクトップでUSBドライブを右クリックして「マウント解除」を選択することです。
ファイルをすぐにUSBドライブに書き込むための最良の方法は何ですか?これにより、USBドライブのLEDインジケータが点滅しなくなったときにUSBドライブを取り外すことができます。
オペレーティングシステム:CentOS 6
答え1
これはGilesの答えです。紛失しないようにここに保存してください。
リムーバブルドライブでマウントオプションを使用すると、sync
すべての書き込みがすぐにディスクに書き込まれるため、まだ書き込まれていないファイルのデータは失われません。これは悪い考えですが、好きなように機能します。
気づくsync
データが失われないという保証はありません。リムーバブルドライブをアンマウントすると、どのアプリケーションでもファイルが開かれなくなります。プラグを抜く前に取り外さないと、遅すぎるまで保存されていないデータがあるかどうかはわかりません。ファイルが開いている間にアンロードすると、ファイルシステムレベル(ファイルが閉じられるまでオペレーティングシステムが特定のタスクをキューに入れることができる)とアプリケーションレベル(アプリケーションがファイルロックを設定している場合)の両方で破損する可能性があります。高くなります。 、削除されません。)
また、sync
機器の寿命に有害。このsync
オプションがない場合、カーネルは一括して書き込みと書き込みを並べ替えます。このsync
オプションを使用すると、カーネルはアプリケーションが要求した順序で各セクタを書き込みます。セクタを再割り当てしない安価なフラッシュメディア(ほぼすべての古いUSBスティックを意味します。最近のUSBスティックでもこれがまだ該当するかどうかわからない)から、ファイル割り当てテーブルに繰り返し書き込むか(V)FATにログオンします。一般的な最新のファイルシステムで棒を非常に速く殺すことができる。
sync
したがって、マウントオプションを使用しないことをお勧めします。
FATファイルシステムでは、次のものを使用できます。flush
インストールオプション。これはasync
(デフォルト)と次の間の中間値ですsync
。このflush
オプションを使用すると、ドライブがアイドル状態になると、カーネルはすべての書き込みをフラッシュしますが、書き込み順序は維持しません(たとえば、FATへのすべての書き込みはマージされます)。
答え2
忍耐強い:「博士、こうすれば痛い」
医者:「まあ、そうしないでください
」たぶんマルクス兄弟かもしれませんが、もしそうなら、彼らはおそらく他のボードビル公演からそれを盗んだでしょう。
どちらの答えも優れていますが、質問に疑問を投げかけます。サムドライブを取り外す前に正しくマウント解除することを覚えていない場合は、よりよく覚えておく必要があります。
全体的に、この問題に対する良い解決策はありません。もともとMacintosh(1984年頃)には、適切な取り出しボタンのない90mmフロッピードライブがありました。ディスクをマウント解除しないと、ディスクは出ません。ソフトウェアがディスクの取り出しを拒否する場合は、代替手段を提供しますが、ディスクを起動するには特別なツール(曲がっていないクリップ)が必要です。クリップは1mmの穴にクリップを差し込んでいることがわかりにくいので、Don Normanのような「強制機能」を作成します。
USBコネクタのメカニズムにより、サムドライブに同様の強制機能を設計することは困難です。したがって、注文は削除せずに削除しないでください。さらに、シートベルトなしで車に乗ることは賢明ではなく、試みられたほとんどすべての必須機能が意図した目的を達成できませんでした。
答え3
通常、大容量記憶装置(USBサムドライブなど)はコマンドを使用してマウントされますmount
。このコマンドを追加して明示的に削除する必要がありますumount
(タイプミスではありません)。 USBデバイスが接続されているなど、ハードウェアレベルのイベントを検出するためのツールがあります。これにより、これらの「サービス」が自動的にインストールされます。 GNOMEデスクトップを使用すると、これが発生します。通常、ファイルブラウザNautilusにUSBドライブがマウントされていると表示されます。
デバイスに記録されなくなった時期を知ることは少し面倒です。これを行うには、UdevおよびDBUSメッセージを使用してデバイスへの各書き込みが完了するタイミングを特定し、それを「マウントされていない」状態に明示的に残すように独自のハンドラを作成する必要があります。
Linuxのさまざまなサブシステムへの深い統合がなければ、これを行う他の方法が見つかりません。
オペレーティングシステム
私の考えでは、OSXでコマンドを実行してsync
デバイスを「マウントされた」状態にしているようです。これは危険と見なすことができますが、オペレータには便利です。