複数のchrootがumount /chrootedpath /dev/ptsされた後:ターゲットは使用中です。

複数のchrootがumount /chrootedpath /dev/ptsされた後:ターゲットは使用中です。

私は複数のchroot環境をそれぞれ別々のフォルダーで並列に実行していました(スクリプトが終了したchrootときには同じフォルダーで別の環境を実行していました)、しばらくは問題ありませんでした。しかし、今は「基本」システムがほとんどありません/dev(アプリを起動できない、または新しいウィンドウを開くことができないなど)。

私はいつも次のようにインストールしました。

sudo mount -t proc proc $work_path/fin_sq/proc
sudo mount -t sysfs sys $work_path/fin_sq/sys
sudo mount -t devtmpfs devtmpfs $work_path/fin_sq/dev
sudo mount -t devpts devpts $work_path/fin_sq/dev/pts

終了後に削除chroot:

umount "${work_path}"/fin_sq/dev/pts
umount "${work_path}"/fin_sq/dev
umount "${work_path}"/fin_sq/proc
umount "${work_path}"/fin_sq/sys

時には通過しますctrl-c。以前の実行の残りの部分が存在するフォルダでスクリプトが実行されている場合は、古いタスクを削除して削除するようにスクリプトがコーディングされます。

今日、私は少なくとも1つのターミナルウィンドウでrootが失敗したシステム上のすべてのフォルダを削除するスクリプトをtarget is busy持っているのを見ました。今後は、削除のいずれかが失敗した場合は、追加の削除と削除をキャンセルすることをお勧めします。chrootumount

しかし、これがどのようにつながると思いますか?調べる方法?システムを動作状態にする方法は? Linuxをより深く学ぶために、当分システムを再起動しません。ティア

PS:スクリプト全体は興味のある人のための参考用です。スクリプトは chroot を介して別のスクリプトを実行します。、検索結果/dev/ptsコードに2行(マウント/マウント解除)が見つかりました。

「Natural」は空のlsof出力を表示するので、追加しても--force何の違いもないようです。試みた結果mount -t devpts devpts /devは、「devtmpfsがone_of_chrooted_pa​​ths / devにインストールされました」です。

私は読んだumount:ターゲットが使用中です。ところで、問題は-o rbindそれなしでインストールしたということです。今回もchrooted 2個を使っていましたが、3~4個に増やしたところ何か壊れましたね…

ベストアンサー1

メモ:この答えは私がこの問題を解決した方法です。問題がどのように発生するかについての技術的な詳細を含む回答を歓迎します。

私はそれぞれと状態を持ついくつかのps auxプロセスがあることを発見しました。sudo chroot .../work5/TSs

翻訳: Ph.D.

また、lsof他のサブフォルダーを実行したときに検出したさまざまなプロセスがchrootまだそのフォルダーにインストールされていますfindmnt(前述のように「${work_path}」/fin_sq/dev/ptsではありません)。これが中断された後(簡単ではありませんが)別の関連質問を投稿しました。linux:kill -9プロセスは2回目の試みでのみ成功します。)、問題のあるマウントポイントをマウント解除できました。

破損しているが/dev特に/dev/null破損していない場合は、special characterGoogleで私の回答を検索して問題を解決しました。https://superuser.com/a/1767579/607929:

# mknod -m 666 /dev/null c 1 3 
# mknod -m 666 /dev/ptmx c 5 2

すべてがうまくいくようですが、INO問題が正確にどのように始まったかについての詳細を見つけるのは難しいです。chroot次の手順を実行する前に、最後にスクリプトを実行したときの端末出力を消去したようです。Ctrl-cほぼ確実に根本原因です。以前は問題なく何度も壊れていましたが、最近はこのような「混乱」を引き起こした理由は何ですか?

おすすめ記事