sdfsディスクをアンマウントしようとしましたが、次のコマンドでのみアンマウントできますumount -l
。
このコマンドは、mount
現在占有されているディスクを返します。このコマンドの意味を理解するのに役立ちますumount -l
。
答え1
ファイルシステムをアンマウントしようとすると、カーネルはそのファイルシステムをまだ使用しているプロセスがないことを確認します。つまり、そのマウントポイントでファイルを読み書きするプロセスがある場合、またはディレクトリを現在のディレクトリとして使用するなどのプロセスがある場合、ファイルシステムはまだ使用中であるためマウント解除できません。
umount -l
いいえ実際にファイルシステムをマウント解除します。開いているファイルまたはディレクトリを含むすべてのプロセスがそのファイルを開くのを停止するまで、マウントを「非表示」にします。この時点で、ファイルシステムは最終的に実際にアンマウントされます。
これは、中断されたネットワークマウントなどから読み取ろうとする追加のプロセスを防ぐために、「中断された」ネットワークマウントを切断するのに役立ちます。そうしないと、システムがネットワークマウントが再び動作するのを待っている間、これらの追加プロセスが失われます。 、これは有用な状態ではありません。
他のすべての場合、一般的に-l
オプションは次のとおりです。umount
非常に悪い考え。システムから削除できるようにローカルディスクをマウント解除しようとすると、ディスクはumount -l
実際にはマウント解除されないため、umount -l
コマンドの完了後にディスクを削除すると、ディスクはまだ使用中に削除されます。潜在的にデータ損失が発生する可能性があります。
逆に、まだ使用中のディスクをアンマウントするには、そのマウントポイントを使用するプロセスがないことを確認する必要があります。を実行して、これらのプロセスの概要を取得できますfuser -m <mountpoint>
。たとえば、ディスクがマウントされている場合は、実行して/mnt/disk
そのfuser -m /mnt/disk
ディスクをまだ使用しているプロセスのリストを取得します。その後、そのプロセスを停止するか、ファイルシステムで開いているファイルを閉じるように指示してからやり直してくださいumount
。