CentOS에서 사용자 정의 ISO 이미지를 생성하는 방법


20

앱의 사용자 지정 작성 RPM과 함께 필요한 최소 RPM을 설치하는 사용자 지정 ISO 이미지를 만들려고합니다. 또한 내 앱 구성 및 VPN 구성 등과 같은 설치 후 단계를 수행하려고합니다.

Google에서 링크 중 일부를 보았지만 마운트 된 디스크 또는 ISO 이미지에서 저장소 및 ISO를 만드는 것을 가리키고 있습니다.

감사합니다 Ramesh


이 작업을 위해 redhat kickstart를 사용하는 것이 더 쉽고 유연합니다. 추가 정보 here.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…
fyarci

답변:


45
  1. 소스를 마운트 할 디렉토리를 작성하십시오.

    mkdir /tmp/bootiso
    
  2. 수정하려는 소스 ISO를 루프 마운트하십시오. (Red Hat / CentOS에서 다운로드하십시오.)

    mount -o loop /path/to/some.iso /tmp/bootiso
    
  3. 사용자 정의 된 매체의 작업 디렉토리를 작성하십시오.

    mkdir /tmp/bootisoks
    
  4. 소스 매체를 작업 디렉토리에 복사하십시오.

    cp -r /tmp/bootiso/* /tmp/bootisoks/
    
  5. 소스 ISO를 마운트 해제하고 디렉토리를 제거하십시오.

    umount /tmp/bootiso && rmdir /tmp/bootiso
    
  6. 작업 디렉토리에 대한 권한을 변경하십시오.

    chmod -R u+w /tmp/bootisoks
    
  7. 패키지 및 %post작업 디렉토리에 대해 수정 된 킥 스타트 스크립트를 복사하십시오 .

    cp /path/to/someks.cfg /tmp/bootisoks/isolinux/ks.cfg
    
  8. 추가 RPM을 디렉토리 구조에 복사하고 메타 데이터를 업데이트하십시오.

    cp /path/to/*.rpm /tmp/bootisoks/Packages/.
    cd /tmp/bootisoks/Packages && createrepo -dpo .. .
    
  9. 부팅 옵션을 추가하려면 킥 스타트를 추가하십시오.

    sed -i 's/append\ initrd\=initrd.img/append initrd=initrd.img\ ks\=cdrom:\/ks.cfg/' /tmp/bootisoks/isolinux/isolinux.cfg
    
  10. 새 ISO 파일을 작성하십시오.

    cd /tmp/bootisoks && \ 
    mkisofs -o /tmp/boot.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "CentOS 7 x86_64" -R -J -v -T isolinux/. .
    
  11. (선택 사항)을 사용하면 isohybrid당신이 원하는 경우 dd부팅 가능한 USB 키에 ISO 파일.

    isohybrid /tmp/boot.iso
    
  12. 매체를 테스트 할 수 있도록 MD5 체크섬을 추가하십시오.

    implantisomd5 /tmp/boot.iso
    

킥 스타트 스크립트 작성에 도움이 더 필요한 경우 공식 Red Hat 문서부터 시작하는 것이 좋습니다.


1
그렇다면 4 단계를 놓치거나 망칠 수 있습니까?
Aaron Copley

3
@AaronCopley 네, 아마 옳습니다. 나는 또한 이것을 발견했다 : github.com/joyent/mi-centos-7 나에게 도움이되었다.
Sivann December

1
9 단계에서 마지막 매개 변수를 제공해야한다고 생각합니다. 현재 디렉토리를 나타내는 (점). 이상한 기본 동작이지만 그렇게하지 않으면 mkisofs는 최상위 디렉토리의 파일 만 포함하고 하위 디렉토리를 포함하지 않는 iso 파일을 만듭니다.
hshib

2
4 단계에서도 문제가있었습니다. "cp"명령을 사용하면 숨겨진 파일 .discinfo 및 .treeinfo가 복사되지 않습니다. 이러한 파일이 없으면 "CD / ROM을 찾을 수 없음"이라는 불평을하는 설치 중에 iso가 생성되지 않습니다.
hshib February

1
"cp -r / tmp / bootiso /. / tmp / bootisoks /"를 사용하여 단일 명령으로 모든 것을 복사 할 수 있습니다. (/ tmp / bootiso / 다음에 약간 까다 롭습니다-single. note. / tmp / bootiso /)
hshib
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.