chroot 환경은 개발과 관련된 작업을 위하여 일반적으로 사용이 되고 기본적으로 빌드 관련된 소프트웨어의 설치 입니다. chroot 환경에서 개발 작업을 하는 것은 언제나 좋은 생각이고, 그것은 자주 개발 패키지의 설치를 요구 합니다. (주요 목적이 패키지를 만들기 위해서 입니다.) 하나의 예는, 특정 프로그램은 헤더와 라이브러리의 개발 버전을 (예를 들어, libabc-dev) 요구 합니다. 보통의 사용자는 libabc 의 개발 버전을 필요로 하지 않습니다. 그러므로 chroot 내에 그러한 개발 패키지를 설치하는 것이 좋고, 보통의 작업 환경은 깨끗하고 정돈되게 남겨 둡니다. 우선은 필요한 패키지를 설치 합니다:
sudo apt-get install dchroot debootstrap
chroot 환경을 만들기 위하여 우분투 릴리스에서 최소한 debootstrap 버전을 설치하는 것을 확인 하십시오. 그것을 packages.ubuntu.com 에서 내려받고 dpkg -i 를 사용하여 수작업으로 설치할 수 있습니다.
다음 단계는 chroot 환경을 만들고, 설정하고, 진입하는 것 입니다.
sudo mkdir /var/chroot echo "mychroot /var/chroot" | sudo tee -a /etc/dchroot.conf sudo debootstrap --variant=buildd dapper /var/chroot/ http://archive.ubuntu.com/ubuntu/
chroot 환경을 만드는 것은 debootstrap 을 내려받고 최소한의 우분투 설치를 설정하는데 약간의 시간을 취합니다.
sudo cp /etc/resolv.conf /var/chroot/etc/resolv.conf sudo cp /etc/apt/sources.list /var/chroot/etc/apt/ sudo chroot /var/chroot/
chroot에서 apt 사용을 하는 것이 가능하려면, chroot의 apt sources에 우분투 sources를 더합니다. 어떤 때, 패키지 인증에 대한 경고를 하는 것은 무시 합니다:
echo "deb http://archive.ubuntu.com/ubuntu dapper main restricted \ universe multiverse" > /etc/apt/sources.list echo "deb-src http://archive.ubuntu.com/ubuntu dapper main restricted \ universe multiverse" >> /etc/apt/sources.list apt-get update apt-get install build-essential dh-make automake pbuilder gnupg lintian \ wget debconf devscripts gnupg sudo apt-get update exit
locales 를 설정하기 위해 다음의 명령을 실행 합니다:
sudo chroot /var/chroot/ apt-get install locales dialog dpkg-reconfigure locales exit
다음은, chroot 환경을 위해 사용자와 루트의 암호를 고치는 것 입니다. 아래의 마지막 줄은 chroot 환경을 찾을 때 sudo 경고를 피하기 위해서 입니다.
sudo cp /etc/passwd /var/chroot/etc/ sudo sed 's/\([^:]*\):[^:]*:/\1:*:/' /etc/shadow | sudo tee /var/chroot/etc/shadow sudo cp /etc/group /var/chroot/etc/ sudo cp /etc/hosts /var/chroot/etc/
sudo를 사용하려면, 여러분의 root 패스워드와 관리자 그룹(chroot 환경을 위한)에 첫 번째 sudo 사용자로 만듭니다. chroot 환경에서 "<user>" 대신에 여러분의 사용자 이름을 넣고 다음 명령을 사용 합니다:
sudo cp /etc/sudoers /var/chroot/etc/ sudo chroot /var/chroot/ dpkg-reconfigure passwd passwd <user> exit
시스템 fstab은 변경될 필요가 있고 그래야 chroot 환경이 시스템 홈 디렉토리들, 임시 디렉토리 등을 사용할 수 있습니다. chroot 환경에서 실제 시스템 홈 디렉토리가 사용되는 것을 주의 하십시오.
sudo editor /etc/fstab
이 줄들을 더합니다:
/home /var/chroot/home none bind 0 0 /tmp /var/chroot/tmp none bind 0 0 proc-chroot /var/chroot/proc proc defaults 0 0 devpts-chroot /var/chroot/dev/pts devpts defaults 0 0
새로운 fstab 항목 마운트
sudo mount -a
기본 설정 bash 프로파일은 프롬프트에 chroot 정보를 포함 합니다. 이것을 보이게 만드려면:
sudo chroot /var/chroot/ echo mychroot > /etc/debian_chroot exit
이제 여러분의 chroot를 사용 합니다. (아마도 혼자이거나 /etc/dchroot.conf
내의 첫 번째 사용자가 되기를 원한다면 -c mychroot를 제외할 수 있습니다.) -d 파라미터는 여러분의 환경이 예약되었다는 의미 입니다. 이 파라미터는 chroot된 프로그램이 X 서버, 세션 관리자 등을 끊임없이 사용한다면 보통 유용 합니다.
dchroot -c mychroot -d