/procを「アンマウント」する方法は?

/procを「アンマウント」する方法は?

私はフォローしていますこれNANDフラッシュメモリのファームウェアアップデートを実行する方法のチュートリアルです。新しいルートディレクトリがあるディレクトリだけを変更して従いました。/bin /dev /sbin /usrすべてのフォルダをtmpfs私の所にコピーしていますRAM

次のコマンドで問題が発生し始めます。

umount /sys
umount /proc

削除するとkillall5 sys問題はありませんが、procを削除しようとすると、次のメッセージが表示されます。

umount: can't umount /proc: Device or resource busy

chroot私は次のようなものを試しました。これ同様の質問へのリンクです。しかし、あまり役に立たないようです。

次のコマンドを使用して新しいルートとしてchrootingを試みましたが、もっと悲しみを感じました。

chroot /tmp/newroot /bin/ash

間違い:

umount: can't umount /proc: Invalid argument

誰もが正しい方向に私を指すことができますか?しばしばそのように些細なことを逃しているような感じがします。

答え1

まあ、おそらく/proc。プロセスは次のとおりです。実際のファイルシステムでもないただし、メモリの内容と現在実行中のプロセスを示します。あなたが望むものはおそらくバインドマウントchroot内の場所へ:

# mkdir -m 0555 /tmp/newroot/proc
# mount --bind /proc /tmp/newroot/proc

答え2

lsofまだインストールされていない場合は、インストールしてからシングルユーザーモードで再起動してを入力しますlsof | grep /proc。まだ使用中のすべてのプログラムを終了します/proc。その後、削除できます。

答え3

遅延マウント解除を使用すると、umount -l /procすべての参照が削除されるまでマウントは保持されますが、ルートをアンマウントできるように接続が切断されます(使用後pivot_root)。

または、モバイルマウントポイントを使用することもできますmount --move

関連情報