-t proc proc proc/를 마운트하기 위해 chroot의 절대 경로를 사용하는 방법은 무엇입니까?

-t proc proc proc/를 마운트하기 위해 chroot의 절대 경로를 사용하는 방법은 무엇입니까?

우리는 chroot가 아래와 같이 chroot 디렉토리에 일부 파일 시스템을 설치해야 한다는 것을 알고 있습니다:

chroot_dir=/some/where
cd $chroot_dir/
mount -t proc proc proc/
mount --rbind /sys sys/
mount --rbind /dev dev/

내가 원하는 것은 이러한 디렉토리를 절대 경로로 마운트하는 것입니다
이것은 시스템과 개발자에게 매우 분명합니다! 다음과 같이 보일 수 있습니다:

chroot_dir=/some/where
mount --rbind /sys $chroot_dir/sys/
mount --rbind /dev $chroot_dir/dev/

하지만 그걸로 무엇을 해야할지 모르겠습니다. proc
아니면
mount -t $chroot_dir/proc $chroot_dir/proc $chroot_dir/proc/
뭐든지!

이 문제를 해결하는 방법을 아는 사람이 있나요?

답변1

"절대 경로"는 chroot 내부에 표시된 것과 같습니다. 그러나 절대 경로 이름 설정에 대한 걱정 없이 chroot를 준비하기 위해 이러한 파일 시스템을 마운트할 수 있습니다.

이 질문은 귀하의 예와 비교하는 데 도움이 됩니다.

특히,답변두 번째 질문에서는 Arch Wiki가 인용되었습니다.루트 디렉터리 변경)은 파일 시스템 유형만 사용하기 때문에 가장 간단합니다(루트가 아닌 파일 시스템의 특수 장치 없음). 다른 답변은 --bind마운트 옵션을 사용합니다.

답변2

에서 man mount:

       -t, --types vfstype
              -t 다음의 매개변수는 다음을 나타내는 데 사용됩니다.
              파일 시스템 유형. 현재 파일 시스템 유형
              현재 지원되는 항목은 다음과 같습니다: adfs, affs, autofs, cifs,
              [. . . ]

그리고 proc무엇보다도. 따라서 -t인수는 대신 여러 파일 시스템 유형 중 하나를 사용합니다 /a/directory/name. 평소와 같이 마운트하면 마운트하려는 시스템 이름과 시스템이 마운트된 디렉터리가 이어집니다. 따라서 명령은 다음과 같습니다.

마운트 --rbind /sys $chroot_dir/sys/
마운트 --rbind /dev $chroot_dir/dev/
마운트 -t proc /proc $chroot_dir/proc/

나는 두 번째이다도마, 다음에서 이 주제에 대한 자세한 내용을 읽을 수 있습니다.아치 위키 기사그는 지적합니다(일부 실행 계획은 수행하려는 작업에 따라 시스템마다 다를 수 있음).

관련 정보