2 つのフォルダー間で rsync を実行しました。
rsync -avzh /mnt/folder1 /mnt/folder2
(フォルダ1は/dev/sdb、フォルダ2は/dev/sdcで、どちらもext4パーティションです)
次に、folder1 をアンマウントしましたが、ミスをして、/dev/sdc を /mnt の上に直接マウントしてしまいました。
mount /dev/sdc /mnt
実際には/dev/sdcを/mnt/folder1にマウントしたかったのですが
現在、/mnt をアンマウントできません:
umount /mnt/
umount: /mnt/: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)
これをどうすれば修正できますか?
答え1
これは、データ損失を防ぐ!
次のコマンドを実行して、どのプロセスがアンマウントを妨げているかを確認します。dev のパーティションをスキップして less と入力したと想定しています。
lsof | grep '/dev/sdc'
作業を終了するか、指定されたプロセスを終了して再度アンマウントします。また、どのファイルがまだ開いているかを確認することもできます。
fuser -u /mnt/
一方、次のコマンドはすべてのプロセス自体を強制終了し、おそらくデータが失われます。
fuser -km /mnt
または、マウント解除済みとして表示し、プロセスが終了したら自動的にマウント解除されるようにします。
umount -l /mnt
答え2
たとえば、独自のシェルなど、マウントポイントを使用しているプロセスがないことを確認します。
それでもだめなら
lsof |grep /mnt/
マウントポイントを使用しているものを特定するのに役立ちます。