내가 스크립트의 일부에 있는지 알고 싶습니다. 그렇지 않은 경우 chroot
설치가 허용되지 않습니다./proc
chroot에서 실행 중인지 어떻게 알 수 있나요?). 설치 chroot
되지 않은 상태 인지 어떻게 알 수 있나요 /proc
?
루트 액세스 권한이 있습니다. 이것은 Fedora에 있습니다. 이 솔루션은 사용되는 파일 시스템에 의존해서는 안 됩니다.
답변1
데비안 chroot는 특정 파일을 에 넣지만 이를 /etc
위해서는 협력이 필요합니다.
그러나 그것이 정상적인 뿌리와 같다면 그것은 정상적인 뿌리와 같습니다. 따라서 차이점이 보이지 않으면 chroot에 있지 않다고 가정하십시오(어쨌든 동일합니다).
어려운 방법은 /
루팅된 장치를 설치할 때 얻는 것과 동일한지 확인하는 것입니다. 하지만 이를 위해서는 루팅이 필요합니다. 다른 방법에는 /proc
(또는 루트)이 필요합니다.
답변2
사용systemd-detect-virt -r
. (루트여야 함)
답변3
다른 답변과 달리 이 답변은 루트 권한이 필요하지 않습니다. 달리기 unshare -U true
. 성공하면 더 이상 chroot 상태가 아닙니다. 실패하고 이 표시되면 unshare: unshare failed: Operation not permitted
실패한 것입니다. 이것은 작동합니다.commit 3151527ee007b73a0ebd296010f1c0454a919c7d
: userns: 사용자가 chroot된 경우 생성을 허용하지 않습니다..
경고: unshare
다른 여러 가지 이유로도 실패할 수 있습니다. 성공하면 chroot에 있지 않은 것이 확실하지만, 실패하면 chroot에 있을 가능성이 높습니다.