私がスクリプトの一部にあるかどうかを知りたいです。それ以外の場合、chroot
インストールは許可されません。/proc
chrootで実行されているかどうかはどうすればわかりますか?)。インストールされchroot
ていないかどうかはどうすればわかりますか/proc
?
ルートアクセス権があります。これはFedoraにあります。このソリューションは、使用されるファイルシステムに依存してはいけません。
答え1
Debian chroot は特定のファイルを に入れますが、これには/etc
協力が必要です。
しかし、それが通常の根のような場合、それは通常の根のようです。したがって、違いが見えない場合はchrootにないとします(とにかく同じです)。
難しい方法は、/
ルーティングされたデバイスをインストールしたときに得られるものと同じであることを確認することです。しかし、これにはルーティングが必要です。他の方法には/proc
(またはルート)が必要です。
答え2
使用systemd-detect-virt -r
。 (ルートでなければならない)
答え3
他の答えとは異なり、この答えはroot権限を必要としません。ランニングunshare -U true
。成功すれば、もはやchroot状態ではありません。失敗し、これが表示された場合はunshare: unshare failed: Operation not permitted
失敗しました。これはうまくいきます。commit 3151527ee007b73a0ebd296010f1c0454a919c7d
: userns: ユーザーが chroot の場合、生成を許可しません。。
警告:unshare
他のさまざまな理由で失敗する可能性があります。成功すれば chroot にいないことは確かですが、失敗すると chroot にいる可能性が高いです。