chroot 환경을 사용하는 데는 여러 가지 이유가 있습니다. 하나의 프로그램의 다른 버전을 유지하기 위해 사용할 수 있습니다. 특정 기능을 테스트하기 위해 특정 환경을 시뮬레이션하는 데 사용할 수 있습니다. 하나 등
테스트 및 개발 : 프로덕션 환경에 배포하기에는 너무 위험한 소프트웨어의 chroot에 테스트 환경을 설정할 수 있습니다.
의존성 제어 : 소프트웨어는 예상되는 의존성으로 만 채워진 chroot에서 개발, 빌드 및 테스트 할 수 있습니다. 이렇게하면 개발자가 다른 프로그램 라이브러리 세트가 설치된 프로젝트를 빌드 할 때 발생할 수있는 일종의 연계 왜곡을 방지 할 수 있습니다.
호환성 : 지원되는 라이브러리 또는 데이터 파일의 이름이 충돌하거나 호스트 시스템의 파일과 연결될 수 있으므로 다른 ABI를 사용하는 레거시 소프트웨어 또는 소프트웨어를 chroot에서 실행해야하는 경우가 있습니다.
복구 : 시스템을 부팅 할 수없는 상태로 만들 경우 대체 루트 파일 시스템 (예 : 설치 미디어 또는 Live CD)에서 부트 스트랩 한 후 chroot를 사용하여 손상된 환경으로 다시 이동할 수 있습니다.
권한 분리 : 프로그램은 열린 파일 디스크립터 (파일, 파이프 라인 및 네트워크 연결 용)를 chroot로 전달할 수 있으므로 chroot 디렉토리 안에 작업 파일을 남겨 둘 필요가 없어서 감옥 디자인을 단순화 할 수 있습니다. 또한 보안 위반을 사전에 방지하기 위해 권한이있는 프로그램의 취약한 부분을 샌드 박스에서 실행하는 일반적인 배열을 단순화합니다. chroot는 루트 권한이있는 프로세스를 포함하기에 충분하지는 않습니다.