====== OSのバージョンが上がった時のビルド環境更新手順 ====== CentOS6.3->6.4になったので、kickstart環境もバージョン上げないとと思いページ作成。このページの内容のベースは[[centos:kickstart:start|CentOS6でKickstartを使って自動インストールする]]をご覧ください。 当然パッケージのバージョンが上がってるのでかなり大変。 ===== 6.3のkickstart環境をtar ball化しておく ===== # cd /root/ # tar czvf kickstart_build_6-3.tar.gz kickstart_build kickstart_build_6-3.tar.gzはFTPでローカルにおいておく。 ===== 6.4をインストールする ===== 6.3のビルド環境を作ったときと同様の手順でインストール。 ===== kickstart_build_6-3.tar.gzをアップロードして展開する ===== rootのホームディレクトリにFTPで転送しておく。 # cd /root/ # tar xzvf kickstart_build_6-3.tar.gz ===== 作りなおすものを消す ===== rm -f /root/kickstart_build/all_rpms/* rm -f /root/kickstart_build/isolinux/* rm -f /root/kickstart_build/isolinux/.discinfo rm -f /root/kickstart_build/isolinux/Packages/* rm -f /root/kickstart_build/isolinux/repodata/* rm -Rf /root/kickstart_build/isolinux/images/* 消すものが多いので必要なものだけバックアップ取って いちから作りなおしたほうが転送速度の分だけ早いかもしれない。 /root/kickstart_build/utils/* /root/kickstart_build/isolinux/isolinux.cfg /root/kickstart_build/isolinux/ks/* /root/kickstart_build/isolinux/postinstall/* ===== DVDから必要なファイルをコピー ===== cp /media/CentOS_6.4_Final/Packages/* /root/kickstart_build/all_rpms/ cp /media/CentOS_6.4_Final/isolinux/* /root/kickstart_build/isolinux/ cp /media/CentOS_6.4_Final/.discinfo /root/kickstart_build/isolinux/ cp -r /media/CentOS_6.4_Final/images/* /root/kickstart_build/isolinux/images/ ===== repodataからcomps.xmlファイルを取得 ===== cp /media/CentOS_6.4_Final/repodata/cb96727ddc89e5e1786456c6f2c08a81418296f949470311ee9c2ebb1a6ccc7d-c6-x86_64-comps.xml.gz . gunzip cb96727ddc89e5e1786456c6f2c08a81418296f949470311ee9c2ebb1a6ccc7d-c6-x86_64-comps.xml.gz mv -f cb96727ddc89e5e1786456c6f2c08a81418296f949470311ee9c2ebb1a6ccc7d-c6-x86_64-comps.xml comps.xml ===== all_rpmsからインストールに使うパッケージのみコピーする ===== /root/install.log 上記ログに出力されている全てのRPMを/root/kickstart_build/all_rpms/から/root/kickstart_build/isolinux/Packagesにコピーします。 #!/bin/bash cp -r ../all_rpms/*.rpm ../isolinux/Packages/ : 上記のようなコードを書いて/root/kickstart_build/utilsに置いて実行します。(*.rpmはinstall.logに載っているrpmに置き換えます) ===== 依存関係の解決 ===== cd ~/kickstart_build/isolinux/Packages ~/kickstart_build/utils/follow_deps.pl ~/kickstart_build/all_rpms x86_64 ===== 依存関係のテスト ===== mkdir /tmp/testdb rpm --initdb --dbpath /tmp/testdb rpm --test --dbpath /tmp/testdb -Uvh *.rpm ===== repodata作成 ===== cd ~/kickstart_build/all_rpms rpm -Uvh createrepo*rpm deltarpm*rpm python-deltarpm*rpm cd ~/kickstart_build/isolinux declare -x discinfo=`head -1 .discinfo` createrepo -u "media://$discinfo" -g ~/kickstart_build/comps.xml . ===== muninに必要なパッケージをダウンロード ===== wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm vi /etc/yum.repos.d/epel-testing.repo 以下のenabled=0をenabled=1に編集 [epel-testing] name=Extra Packages for Enterprise Linux 6 - Testing - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/testing/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=testing-epel6&arch=$basearch failovermethod=priority enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 cd /root/kickstart_build/isolinux/postinstall/munin/rpms/ rm -f /root/kickstart_build/isolinux/postinstall/munin/rpms/* yumdownloader --resolve munin ===== webminに必要なパッケージをダウンロード ===== vi /etc/yum.repos.d/webmin.repo リポジトリ(/etc/yum.repos.d/webmin.repo)を追加する。 [Webmin] name=Webmin Distribution Neutral #baseurl=http://download.webmin.com/download/yum mirrorlist=http://download.webmin.com/download/yum/mirrorlist enabled=1 rpm --import http://www.webmin.com/jcameron-key.asc yumdownloader --resolve webmin ===== isoファイルの作成 ===== yum -y install anaconda-runtime cd ~/kickstart_build mkisofs -o custom.iso -b isolinux.bin -c boot.cat -no-emul-boot \ -boot-load-size 4 -boot-info-table -R -J -v -T isolinux/ implantisomd5 custom.iso /root/kickstart_build/custom.isoによってより良いCentOSライフを!