Linux USBフラッシュ直接書き込み/書き込みキャッシュ

Linux USBフラッシュ直接書き込み/書き込みキャッシュ

最近、私はUSB2フラッシュドライブを使用して会社に大量のデータを転送しています。

データをフラッシュドライブにコピーしている間、データがドライブに直接書き込まれていないことがわかりました。 200MB/秒(?)の速度でキャッシュに書き込みます。その後、私umountまたはsyncドライブが実際にドライブにデータを書き込むのに数時間かかります。

代わりにNautilusを試してみましたが、cp動作は同じです。dd通常のファイルをコピーするオプションではありません。

USBストレージデバイスに書き込むときに、Linuxにキャッシュなしで直接データを書き込む方法はありますか?それとも、ドライブのマウント解除中に数時間待つ必要がないようにキャッシュを減らすことはできますか?

sync最も迷惑なのは、進行状況バーのコピーが完了してからデータを書き込むことができるまで不特定の時間を待たなければならないことです。

私はFedora 25マシンを使用しています。

[更新]私の質問を明確にしようとしました。

[更新2]答えがない同様の質問を見つけました。フラッシュデバイスのキャッシュサイズを減らす

ベストアンサー1

自分で行うことができますddmk2fs.-fs-of-your-choiceを使用してドライブを再フォーマットする必要があるときのようです。

man mkf2s

ddパスは簡単です。

ドライブを接続する前に、このタスクを一度実行してください。 lsblk

次に。

装置の出力に注意してください。

その後、ファイルをコピーするには、次の新しいデバイスを作成できます。 dd if=/dev/zero of=~/my-files.dd.img bs=1G mkfs.ext4 ~/my-files.dd.img losetup /dev/loop0 ~/my-files.dd.img

メモ コンピュータを再起動して再インストールするには、rc.local ファイルに上記の行を追加します。 vi /etc/rc.local

次のコマンドを使用してデバイスをインストールします。 mkdir /mnt/amazing mount -o loop=/dev/loop0 ~/my-files.dd.img /mnt/mymountpoint

ファイルがマウントされていることを確認するには、dfコマンドを使用できます。 df -h | grep mymountpoint /dev/loop0 976M 1.3M 924M 1% /mnt/mymountpoint where `bs=` a value greater than the output of: `ls -lh ./your-file-here`

デバイスの取り外しが完了したら: umount /mnt/mymountpoint losetup -d /dev/loop0

まだテストしていませんが、これがうまくいく方法だと思います。

乾杯リバノフ

おすすめ記事