GNU/Linux
루트 변경 (chroot)
수색…
소개
Change root (chroot)는 현재 실행중인 프로세스와 그 자식에 대한 명백한 루트 디렉토리를 변경하는 작업입니다. 이러한 수정 된 환경에서 실행되는 프로그램은 해당 환경 디렉터리 트리 외부의 파일과 명령에 액세스 할 수 없습니다.
통사론
- chroot [대상 경로] [쉘 또는 명령]
디렉토리의 루트를 수동으로 변경
요구 사항에 따라 모든 요구 사항을 충족하는지 확인하십시오.
임시 API 파일 시스템을 마운트하십시오.
cd /location/of/new/root mount -t proc proc proc/ mount --rbind /sys sys/ mount --rbind /dev dev/ mount --rbind /run run/ (optionally)
chroot 환경에서 인터넷 연결을 사용해야하는 경우 DNS 세부 정보를 복사하십시오.
cp /etc/resolv.conf etc/resolv.conf
root를 / location / of / new / root로 변경하고 쉘을 지정하십시오 (이 예제에서는
/bin/bash
).chroot /location/of/new/root /bin/bash
chroot 한 후 로컬 bash 구성을로드해야 할 수도 있습니다.
source /etc/profile source ~/.bashrc
선택적으로 chroot 환경을 구별 할 수있는 고유 프롬프트를 작성하십시오.
export PS1="(chroot) $PS1"
chroot를 마치면 다음을 통해 종료 할 수 있습니다.
exit
임시 파일 시스템을 마운트 해제하십시오.
cd / umount --recursive /location/of/new/root
요구 사항
- 루트 권한
- Live CD 부팅 또는 기존 배포와 같은 다른 Linux 환경
-
chroot
소스 및 대상의 환경 아키텍처와 일치 (uname -m
하여 현재 환경 아키텍처 확인) -
chroot
환경에서 필요할 수있는 커널 모듈을로드해야합니다 (예 :modprobe
)
chroot를 사용하는 이유
루트 변경은 일반적으로 부팅 및 / 또는 로그인이 더 이상 가능하지 않은 시스템에서 시스템 유지 관리를 수행하기 위해 수행됩니다.
일반적인 예는 다음과 같습니다.
- 부트 로더 재설치
- initramfs 이미지 재구성
- 패키지 업그레이드 또는 다운 그레이드
- 잊어 버린 비밀번호 재설정하기
- 깨끗한 루트 환경에서 소프트웨어 구축
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow