수색…


소개

Change root (chroot)는 현재 실행중인 프로세스와 그 자식에 대한 명백한 루트 디렉토리를 변경하는 작업입니다. 이러한 수정 된 환경에서 실행되는 프로그램은 해당 환경 디렉터리 트리 외부의 파일과 명령에 액세스 할 수 없습니다.

통사론

  • chroot [대상 경로] [쉘 또는 명령]

디렉토리의 루트를 수동으로 변경

  1. 요구 사항에 따라 모든 요구 사항을 충족하는지 확인하십시오.

  2. 임시 API 파일 시스템을 마운트하십시오.

    cd /location/of/new/root
    mount -t proc proc proc/
    mount --rbind /sys sys/
    mount --rbind /dev dev/
    mount --rbind /run run/ (optionally)
    
  1. chroot 환경에서 인터넷 연결을 사용해야하는 경우 DNS 세부 정보를 복사하십시오.

    cp /etc/resolv.conf etc/resolv.conf
    
  2. root를 / location / of / new / root로 변경하고 쉘을 지정하십시오 (이 예제에서는 /bin/bash ).

    chroot /location/of/new/root /bin/bash
    
  3. chroot 한 후 로컬 bash 구성을로드해야 할 수도 있습니다.

    source /etc/profile
    source ~/.bashrc
    
  4. 선택적으로 chroot 환경을 구별 할 수있는 고유 프롬프트를 작성하십시오.

    export PS1="(chroot) $PS1"
    
  5. chroot를 마치면 다음을 통해 종료 할 수 있습니다.

    exit
    
  6. 임시 파일 시스템을 마운트 해제하십시오.

    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