web-dev-qa-db-ja.com

CentOSでカスタムISOイメージを作成する方法

アプリのカスタム書き込みRPMと一緒に必要な最小限のRPMをインストールするカスタムISOイメージを作成しようとしています。また、アプリやVPNの構成など、インストール後の手順も実行したいと考えています。

グーグルでいくつかのリンクを見ましたが、それらはマウントされたディスクまたはISOイメージからレポとISOを作成することを指しています。

ありがとうラメッシュ

20
Ramesh Kumar
  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. (オプション)ISOファイルを起動可能なUSBキーにisohybridしたい場合は、ddを使用します。

    isohybrid /tmp/boot.iso
    
  12. MD5チェックサムを追加します(メディアのテストを可能にするため)。

    implantisomd5 /tmp/boot.iso
    

さらにヘルプが必要な場合は、 Kickstartの作成 スクリプトを作成する場合、Red Hatの公式ドキュメントから始めることをお勧めします。

46
Aaron Copley