
私はQNAP TS-210 NASを持っていますが、Debian Linuxが搭載されているそこに Midnight Commander をインストールし、何年も問題なく使用してきました。今日、奇妙なことに気付きました。
大量の映画コレクション (約 130 GB) をあるフォルダから別のフォルダに移動する必要があります。映画は多数のサブフォルダに分割されています。特定のフォルダに入るたびに、MC ですべてのファイルを選択し、F6 キーを押して宛先に移動すると、すべて正常に動作します。ただし、サブフォルダ全体を移動しようとすると (宛先にもサブフォルダがありますが、中のファイルは異なるため、いずれにしても上書きされません)、処理に非常に長い時間がかかります。実際、NAS はこのファイルの移動ではなく、コピーを実行しているようです。
これは正常な状態ですか? Windows で同じ操作を実行すると、フォルダー全体を移動するか、フォルダーの内容のみを移動するかに関係なく、移動プロセスは常に非常に高速になります。
答え1
mv
2 つの方法で動作します。mc
移動は同じように動作します。
- ファイルが同じ論理デバイス (パーティションまたはディスク) 上にある場合は、ディレクトリ エントリのみが移動されます。これは非常に高速です。
- ファイルが異なる論理デバイス上にある場合、ファイルはコピーされ、コピーが完了した後に古いファイルは削除されます。ファイルを読み取ってから書き込む必要があるため、この処理は比較的遅くなります。
NAS に複数のディスクがある場合、移動によってデバイス間でデータが移動される可能性があります。 コマンドを使用して、マウントされているディレクトリ (およびそのスペース使用率) を確認できますdf
。
答え2
私の主張を裏付ける根拠は経験的知識以外には何もありませんが、 は とmc
完全に同じように動作しないと思います。 ではファイルの移動が遅いのに、 では瞬時mv
に移動していたため、偶然この質問に遭遇しました。 問題はファイルの所有権にあるようです。 でファイルを移動すると、所有権は現在実行中のユーザーに変更され、非常に時間がかかります。コマンドで移動すると、移動は瞬時に行われ、所有権は元の状態のままです。mc
mv
mc
mc
mv
答え3
移動中のファイルを mc が削除する権限を持っていることを確認してください。ファイルの所有者が root であり、mc が root として実行されていない場合、昇格された権限なしではファイルを移動できないため、mc はファイルを完全にコピーします。権限が不十分なためにエラーが表示される方が適切です。