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


20

私はアプリのカスタムRPMとともに、最低限必要なRPMSをインストールするカスタムISOイメージを作成しようとしています。また、アプリやVPNの構成などのインストール後の手順を実行したい。

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

ありがとう、Ramesh


あなたもそれをより簡単に、より柔軟に選択詳しい情報ここで、このジョブのためにRedHatのキックスタートを使用することができますaccess.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. パッケージ用に変更されたKickstartスクリプトを%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の公式ドキュメントから始めることをお勧めします。


1
ステップ4を逃したか、失敗した可能性はありますか?
アーロンコプリー

3
@AaronCopleyはい、あなたはおそらく正しいでしょう。私もこれを見つけました:github.com/joyent/mi-centos-7助けてくれました。
sivann 14

1
ステップ9で、最後のパラメーターを指定する必要があると思います。(ドット)現在のディレクトリを示します。奇妙なデフォルトの動作ですが、それがなければ、mkisofsは最上位ディレクトリのファイルのみを含み、サブディレクトリ以降を含まないisoファイルを作成します。
hshib

2
また、ステップ4で問題が発生しました。「cp」コマンドを使用すると、隠しファイル.discinfoおよび.treeinfoがコピーされません。これらがないと、インストール中に作成されたisoが「CD / ROMが見つかりません」という文句を言って失敗します。
hshib

1
あなたが1つのコマンドですべてのものをコピーすることができます- "CP -rを/ tmp / bootiso /を/ tmp / bootisoks /"(これは少しトリッキーです-ノート単一の/ tmp / bootiso /後。)
hshib
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.