저는 몇 년 동안 워크스테이션을 사용했는데 점차 개발 및 테스트 작업에서 다양한 역할을 수행하는 복잡한 괴물로 변했습니다. 나는 몇 가지 연구를 수행했으며 사물(웹/응용 프로그램 서버, 32/64비트 개발 환경 등)을 제어하는 데 도움이 되는 일부 chroot 환경 설정을 고려하고 있습니다.
마이그레이션하기 전에 모든 것이 제대로 작동하는지 확인할 수 있도록 이를 구성하고 현재 설정에서 마이그레이션하고 싶습니다. 그런 다음 호스트 OS를 다시 설치하고 싶습니다. (이전 LTS 버전을 사용하고 있기 때문에 최신 버전의 Ubuntu를 사용합니다. 상황이 복잡해지면 동일한 버전을 다시 설치할 수 있으며 시간이 지남에 따라 상황이 엉망이 되기 때문에 깨끗한 호스트를 원합니다.)
마운트된 파일 시스템에 chroot를 생성하면 호스트 OS를 다시 설치하고, chroot를 재구성하고, chroot 디렉토리를 마운트하고 모든 것이 작동하도록 할 수 있습니까? 내가 너무 단순화하고 있는 걸까?
모든 정보나 링크를 주시면 감사하겠습니다.
답변1
기존 파일 시스템 내의 chroot 디렉토리에 운영 체제를 설치하면 성공적으로 부팅할 수 없습니다. 열심히 노력하면 가능하지만 새로 설치하는 것은 좋은 방법이 아닙니다.
자신의 시스템 파티션에 새로 설치를 시작하는 것이 좋습니다. 기존 파티션 중 하나를 축소하여 공간을 확보합니다. 설치된 운영 체제 외부에서 이 작업을 수행해야 하는 경우시스템 복구 디스크또는GParted 라이브.
초기 설치를 완료한 후 chroot에서 새 설치 실행을 시작할 수 있습니다. 원하는 대로 작동한다고 확신하면 새 설치 실행으로 전환하세요. 필요한 경우 이전 설치를 어딘가에 설치하고 chroot에서 이전 프로그램을 실행하십시오. 새 설치 아래에 데이터 파티션을 마운트합니다. 마지막으로 이전 설치를 삭제합니다.
대부분의 서비스의 경우 chroot 또는 기본 설치에서 서비스를 실행할지 선택해야 합니다. chroot에서 서비스를 실행하기 위한 준비는 더 복잡합니다. Ubuntu는 다음 명령을 사용하여 서비스를 설치할 때 dpkg
또는 APT가 서비스를 설치할 때 서비스를 시작하므로 chroot에서 패키지 설치를 수행하는 경우 서비스를 비활성화해야 합니다.이 답변의 "chroot 서비스"어떻게 해야 하나요?
새로 설치하는 경우 다음 권장 사항을 따라 깨끗하게 유지하십시오.
/bin
공정한 게임이 아닌 이상 , 또는 아래의 파일을 수동으로 수정하지 마십시오 ./sbin
/lib
/usr
/var
/usr/local
etckeeper
패키지를 설치합니다 . 모든 변경 사항은/etc
버전 관리(기본적으로 Bazaar)에 따라 추적됩니다. 기본적으로 변경 사항은 매일 밤 및 APT가 실행될 때마다 자동으로 커밋되지만 의미 있는 메시지와 함께 변경 사항을 수동으로 커밋해 보세요.- 홈 디렉토리에(
/etc
. - 64비트 환경과 32비트 환경이 모두 필요한 경우이 가이드도움이 될 것입니다.