私は次のようにDebianサーバーのいくつかの問題を解決するためにリカバリライブシステム(ライブCDに似ています)を使用しています:
# mkdir -p /mnt/rescue
# mount /dev/md2 /mnt/rescue
# mount --bind /dev /mnt/rescue/dev/
# mount --bind /proc /mnt/rescue/proc/
# mount --bind /sys /mnt/rescue/sys/
これでchrootを行うことができます/mnt/rescue
。しかし、作業が終わったらファイルシステムを再マウント解除するにはどうすればよいですか?
umount: /mnt/rescue: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
私はこれがマウントされたファイルシステムにバインドされているからだdev
と思います。しかし、削除することも不可能です...proc
sys
答え1
まず、chrootセッションを終了する必要があります。通常、
exit
次のように簡単です。exit
次に、バインドされているすべてのディレクトリを削除します。
umount /mnt/rescue/dev/ umount /mnt/rescue/proc/ umount /mnt/rescue/sys/
それから:
umount /mnt/rescue
ここで使用されていないことが心配な場合は、sync
取り外し可能かどうかには影響しませんのでご注意ください。マウント解除すると、マウントされた書き込みがとにかくフラッシュされます(マウント解除後に行く場所がないため必要です)。 chrootプロセスが存在するかどうかは関係ありません(削除を避けない限り)。通常のシステム動作中は同期が顕著な影響を与えません。同期は、デバイスが取り外されずに物理的に切断された場合、またはデバイスがマウントされている間にシステムがクラッシュした場合にのみ影響します。
答え2
次のコマンドを実行して、ファイルシステムをファイルシステム階層から強制的に分離し、ファイルシステムが廃止された直後にファイルシステムへのすべての参照を消去します。
umount -lf /mnt/rescue
答え3
「対象が使用中です」というメッセージを受けた理由です。このメッセージは、ファイルブラウザまたはターミナルセッションで開いているマウントポイント(/mnt/rescue
)とアンインストールプロセスの順序によって発生します(ここでは、マウントポイントがdev/pts
削除される前に削除する必要があることを意味しますdev/
)。
さて、すべてのファイルシステムを正常にマウント解除するには、次の手順を実行します。
- ファイルブラウザでマウントポイントが開いていないことを確認してください。
- chrootを終了したら、ディレクトリをchroot dir(
cd
)に変更してください! fsをアンマウントするには、次の手順に従ってください
dev/pts => dev/ => proc/ => sys/
。sudo umount /mnt/rescue/dev/pts
sudo umount /mnt/rescue/dev sudo umount /mnt/rescue
/proc
sudo umount /mnt/rescue/sys
sudo umount /mnt/rescue
答え4
chrootを終了します。ホストシステムで「mount」コマンドを実行すると、マウントされたすべてのパスが表示されます。 (chrootにマウントされたパスを含めます。)たとえば、次のようになります。
binfmt_misc on /home/user/projects/jsroot/proc/sys/fs/binfmt_misc
その後、chroot環境に入ります。すべてのパスを順番にアンマウントするには、chroot環境でアンマウントを実行します。 (サブパスは親パスの前にアンロードする必要があります。)
unmount /proc/sys/fs/binfmt_misc
unmount /proc/sys
unmount /proc