====== 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ライフを!