디렉터리에 운영 체제를 설치합니다.

디렉터리에 운영 체제를 설치합니다.

우리는 디렉토리에 모든 운영 체제의 완전한 파일 시스템 구조를 가질 수 있습니다. 이를 chroot기본 로그인과 마찬가지로 작동하도록 만들 수 있습니다 .

chroot를 사용하여 파티션에 운영 체제를 설치할 수 있는 방법이 있습니까?

예를 들어, 내 디렉터리 /home/SHW/Ubuntu-14.04에 Ubuntu-14.04를 설치하고 싶습니다. 일단 설치되면 chroot를 수행하고 일부 사용자 공간 작업을 수행할 수 있습니다.

(OS를 파티션에 설치하고 /home/SHW/Ubuntu-14.04에 설치하는 것은 내가 원하는 것이 아닙니다)

편집하다:

원래 질문에서 Ubuntu를 언급했지만 대상 운영 체제는 제3자가 처음부터 개발했습니다. @mattdm에 따르면 debootstrap우분투에 유용합니다. 하지만 운영 체제를 설치하려면 거의 유사한 솔루션이 필요합니다.

답변1

예! 이게 뭐야?프로그램 시작예 - 적어도 Ubuntu와 같은 Debian 파생 배포판에서는 그렇습니다. Ubuntu 위키에는 원하는 것을 거의 정확하게 수행하는 훌륭하고 간단한 지침이 있습니다.https://wiki.ubuntu.com/DebootstrapChroot. 바인드 마운트에는 몇 가지 중요한 단계가 있으며 /proc/chroot 부분 /dev/에 필요합니다./sys/

불행히도 Fedora/RPM 기반 배포판 세계에는 비슷한 것이 없습니다. a) anaconda(Fedora 설치 프로그램)가 실제로 이를 수행할 수 있다고 생각하지만 프로세스에 대한 좋은 문서가 없습니다. b)할 수 있는chroot로 패키징 하면 yum install작동하지만 실제 시스템을 설치하는 것과는 다릅니다. 이것웃음이 도구는 패키지 구축을 위한 깔끔한 환경을 제공하고 바인드 설치 및 모든 작업을 수행하기 위해 "b"를 수행하며 실제로 mock shell긴급 상황에서 다른 용도로 사용할 수 있습니다.

운영 체제 루트 지정은 기본 설치와 동일하게 작동하지 않기 때문에 "당신이 찾고 있는 것과 거의 정확히 일치합니다"라고 말합니다. 더 가까이 다가가고 싶다면컨테이너, 이는 기본적으로 Linux 커널의 기능을 사용하여 chroot가 실행되는 응용 프로그램에 대한 완전한 기본 운영 체제처럼 보이도록 만드는 시스템입니다. 지금 이 분야의 화두는루스트어바웃, 다양한 컨테이너를 관리하고 실행하기 위한 간단한 도구입니다. 자신만의 기본 이미지를 만들거나( debootstrap예: chroot에서 사용 시작) 레지스트리에서 기존 이미지를 부팅할 수 있습니다. 노력하다:

$ sudo docker run -i -t fedora /bin/bash

우분투 시스템에서도, 다운로드하여 Fedora 기반 컨테이너 내부의 쉘 프롬프트로 이동합니다. 또는 ubuntuFedora 또는 다른 곳에서 기본을 사용할 수 있습니다. 유일한 요구 사항은 호스트 커널이 오래되지 않았다는 것입니다(또는 물론 컨테이너에서 호스트 OS와 동일한 OS를 실행할 수 있습니다).

관련 정보