「事前パッチ付き」RHEL画像を生成する簡単な方法はありますか?

「事前パッチ付き」RHEL画像を生成する簡単な方法はありますか?

今日、ほとんどすべてのデスクトップオペレーティングシステムは、インターネット上で常に新しいセキュリティアップデートを受け取るように設計されています。これは素晴らしい、必須の機能であり、Web会社や研究室環境で更新を管理するためのツールはかなり成熟しています。

しかし、外部の世界との接続が制限されているか存在しない環境にありましたが、それでもシステムのセキュリティが最優先事項でした。

ソフトウェアアップデートのための当社の標準的な手順は、利用可能な最新のRHELイメージに基づいたキックスタートを使用して、ソフトウェアの新しいバージョンごとにすべてのワークステーションをイメージとして再インストールすることです。ただし、RHELリリース間の間隔は、毎日新しいセキュリティアップデートがリリースされるため、1年に近づく可能性があります。私たちは、環境と要件を考慮して、リリース日に「現在完全にパッチを適用したRHEL」にできるだけ近いイメージをリリースする傾向があります。

(更新サイクルの間にシステムを適切にパッチすることは、一般的に信頼性と認証上の理由から最後の手段です。完全にテスト済みイメージが目標です。 )

要するに、

  • 最新バージョンだけでなく、すべてのインクリメンタルセキュリティパッチを含むRHELインストールイメージをダウンロードまたは自己パッケージ化する簡単な方法はありますか?
  • 同様のことが以前に行われたことがありますか?それとも基本的に最初から独自のソリューションを実装する必要がありますか?

答え1

次のプロセスを使用して、RHELセキュリティアップデートをカスタムブートイメージに統合できました。

  1. 記録深さ1のRHEL画像を設定します。

  2. キックスタートイメージを構築すると、ストレージデータはディスクの独自のディレクトリにコピーされます。

    ISOビルドスクリプト擬似コード:

    #!/bin/bash pseudo-code
    
    # make a copy of the RHEL system image
    mount rhel-7-server-dvd.iso /tmp/rhelbaseiso
    cp -a /tmp/rhelbaseiso /tmp/rheliso
    
    # add your own custom kickstart files
    cp myimage/ks.cfg /tmp/rheliso/.
    cp -f myimage/isolinux.bin /tmp/rheliso/isolinux/isolinux.bin
    
    # copy files from repo mirror
    mkdir /tmp/rheliso/rhelUpdatePackages
    cp -a /myrhelmirror/repos/rhel7/rhel-7-server-rpms/* rhelUpdatePackages
    
    # TODO add any custom packages to their own directory, and run createrepo on it
    
    # build the iso image
    mkisofs -rDfJV "DISK NAME" -b isolinux/isolinux.bin \
            -c isolinux/boot.cat     \
            -no-emul-boot            \
            -boot-load-size 4        \
            -boot-info-table         \
            -graft-points            \
            -eltorito-alt-boot       \
            -e images/efiboot.img    \
            -no-emul-boot            \
            -o custom_rhel.iso  /tmp/rheliso
    
    # TODO unmount and clean up
    
  3. アップデートリポジトリを追加リポジトリとして使用するようにkickstartに指示します。

    ...
    repo --name="rhel_update"  --baseurl="file:///run/install/repo/rhelUpdatePackages"
    repo --name="your_own_software"  --baseurl="file:///run/install/repo/customPackages"
    ...
    

これは、Yum / Anacondaがシステムのインストール中に適切に更新されたパッケージをインポートするのに十分なようです。インストールされると、システムはアップデートリポジトリに接続することなく、「すぐに利用可能な」最新のソフトウェアを持っています。

(起動可能なBlu-ray、USB-HD、またはLANベースのインストールに適しています。起動可能なDVDに挿入する必要がある場合は、画像サイズを縮小するためにさらに努力する必要があります。)

関連情報