CentOS는 내부에서 어떻게 설치됩니까?

CentOS는 내부에서 어떻게 설치됩니까?

Linux 배포판의 ISO 이미지 파일 내용과 설치 프로세스 작동 방식을 이해하려고 합니다. 여기서는 구체적으로 이야기하겠습니다.중앙 운영 체제6.4의 최소 버전입니다.

그래서운영 체제트리거되고 메뉴가 표시됩니다. 그런 다음 설치를 클릭합니다.

커널과 initrd 파일 시스템을 로드합니다.

내 질문은 다음과 같습니다

  1. 어떻게파이썬전화가 왔나요?

  2. Images/install.img 파일의 기능은 무엇입니까? (누가 전화하거나 마운트합니까?)

  3. Anaconda는 Packages/*.rpm을 설치합니까? 거기에 하나를 추가하고 싶으면 해도 될까요? 설치될까요?

답변1

저는 Anaconda의 작성자/유지관리자 중 한 명입니다. 난 들어갈 수 있어세부사항이 너무 많음설치 프로그램이 시작되는 방법에 대해 간략하게 설명하겠습니다.

(이것은 RHEL/CentOS 6.x 또는 Fedora 14 이하에서만 작동합니다. 설치 프로그램은거의 완전히 다시 작성됨Fedora 15, 16, 17 사이에서는 지금 상황이 매우 다릅니다. )

  1. 아나콘다는 어떻게 불려지나요?
  2. Images/install.img 파일의 기능은 무엇입니까? (누가 전화하거나 마운트합니까?)

설치 미디어에 있는 내용을 initrd.img우리가 부르는 것입니다.스테이지 1영상. 여기에는 이라는 프로그램이 포함되어 있는데 loader, 이 프로그램의 유일한 작업은 를 찾아서 로드하는 것입니다 images/install.img.

install.img~이다2단계영상. 이것은 파이썬이 들어오는 곳입니다실제로Lives - 설치 프로그램의 루트 파일 시스템이 포함된 squashfs 이미지입니다.

하나 있다 방법은 다양해요로더를 찾을 수 있지만 install.imgDVD에서 부팅하면 간단합니다. 로더가 설치 프로그램 DVD를 인식하고 이를 마운트한 다음 images/install.img루트 파일 시스템으로 설치합니다.

tty2stage2 이미지가 마운트되면 로더는 Anaconda를 시작한 다음 Xorg를 시작하고 쉘 과 모든 좋은 것들을 넣은 다음 프로그램을 설치합니다.진짜시작.

3. Anaconda는 Packages/*.rpm을 설치합니까? 거기에 하나를 추가하고 싶다면 설치할 수 있나요?

아니요, 거기에 모든 것을 설치하는 것은 아닙니다. comps.xml파일(in )을 사용하여 repodata/사용 가능한 패키지 그룹(및 해당 그룹에 포함된 패키지)을 결정합니다. 이것이 패키지 선택 UI가 채워지는 방식입니다.

디렉토리에 무엇이든 추가 하고 (예: 사용자 정의 DVD 이미지를 생성하려는 경우) 마운트 가능하도록 하려면 를 사용하여 디렉토리를 재생성 Packages/해야 합니다 . 최소한 킥스타트를 통해 패키지를 설치할 수는 있습니다.createreporepodata/

사용자 인터페이스에 표시해야 하는 경우 편집도 해야 합니다 comps.xml.

답변2

CD로 부팅하면 ISOLINUX 부트로더를 얻고 Linux 커널과 초기 램디스크를 로드합니다. 그러면 install.img와 같은 다양한 부분을 로드하는 Anaconda가 시작됩니다. Anaconda는 다양한 소프트웨어 패키지 등을 설치하는 일을 담당합니다.

Anaconda가 추가 패키지를 설치하도록 하는(또는 추가 패키지를 구성하는) 가장 쉬운 방법은 킥스타트 스크립트를 작성하는 것입니다. kickstart 스크립트는 Anaconda에게 설치할 패키지, 운영 체제 구성 방법 등을 알려줍니다. 아나콘다에게 특정 킥스타트 스크립트를 사용하도록 지시하려면 "install ks=http://example.com/my_kickstart.ks"ISOLINUX 프롬프트에서. 그런 다음 킥스타트 파일(이 경우 웹 서버에서)을 다운로드하고 이를 사용하여 설치할 패키지를 파악합니다.

킥스타트 스크립트에 대한 자세한 내용을 보려면 다음 사이트를 방문하십시오.http://fedoraproject.org/wiki/Anaconda/Kickstart

답변3

설치 CD를 부팅하면 앞서 언급한 것처럼 커널과 initrd가 로드됩니다. 이는 기본적으로 최소한의 Linux 시스템을 컴퓨터 메모리에 로드합니다. Anaconda는 시작 시 서비스로 실행되고 프로그램이 시작됩니다. 그런 다음 Anaconda는 HD를 찾아 /mnt/sysimage로 마운트합니다. Anaconda는 설치 CD에서 Packages/*.rpm을 설치합니다. RPM을 Packages 디렉터리에 추가한 다음 iso를 다시 구울 수 있지만 Anaconda는 여전히 설치해야 한다는 것을 모릅니다. 프로그램이 RPM을 찾도록 Anaconda를 해킹하는 것에 대해서는 답이 없습니다.

관련 정보