【Project peko】2ch特化型サーバ・ロケーション構築作戦 Part15
5.2.1R → 5.3R へのバージョンアップ手順
0) Apacheの停止(外からのアクセスを止める)
1) rm -rf /usr/obj /usr/ports
2) mv /usr/src /usr/src521 # 安全のため/usr/srcは一時的に残す
3) live8 から持ってきた作成済みの /usr/src /usr/ports /usr/obj を展開
これにより /usr/src/standard-supfile も置き換わる
4) make buildkernel KERNCONF=携帯サーバ用カーネル
5) make installkernel KERNCONF=携帯サーバ用カーネル
※4) 5)は通常マシンの場合、通常用カーネルを指定
6) /etc/sysctl.conf /boot/loader.conf を 5.3R 用に調整
(基本的にlive8のを持ってくればよいが、携帯用サーバではccdを使っているのでその設定を直す)
7) リブート
8) ブートアップ確認後、dmesg をチェック、保存
9) cd /usr/src/usr.sbin/mergemaster; make -m /usr/src/share/mk all install
10) mergemaster -p
11) make installworld
12) mv /etc/rc.d /etc/rc.d.521; mkdir /etc/rc.d
13) mergemaster -i
/etc/passwd /etc/group /etc/aliases 等をはじめとするいくつかのファイルはmergemasterで
対話的に調整する必要あり
14) リブート
15) ブートアップ確認後 rm -rf /etc/rc.d.521 /usr/src521
16) libm 等がバージョンアップしたことによる、ports の更新
# これがめんどくさい
portsの消し方
c-docomo4では以下の手順が必要であった
pkg_delete analog-5.32_1,1
pkg_delete cvsup-without-gui-16.1h
pkg_delete gd-2.0.15_1,1
pkg_delete help2man-1.33.1
pkg_delete p5-gettext-1.01_4
pkg_delete gmake-3.80_2
pkg_delete bison-1.75_2
pkg_delete wget-devel-1.9.1_1
pkg_delete php4-extensions-1.0
pkg_delete php4-gettext-4.3.8_2
pkg_delete gettext-0.13.1_1
pkg_delete pear-APC-2.0.4 pear-PEAR-1.3.1 pear-XML_RPC-1.1.0 pear-Console_Getopt-1.2 pear-Archive_Tar-1.2 php4-pear-4.3.8_2 php4-zlib-4.3.8_2 pecl-zip-1.0 php4-xml-4.3.8_2 php4-tokenizer-4.3.8_2 php4-sysvshm-4.3.8_2 php4-sysvsem-4.3.8_2 php4-sysvmsg-4.3.8_2 php4-shmop-4.3.8_2 php4-session-4.3.8_2 php4-readline-4.3.8_2 php4-posix-4.3.8_2 php4-pcre-4.3.8_2 php4-overload-4.3.8_2 php4-openssl-4.3.8_2 php4-mysql-4.3.8_2 php4-mbstring-4.3.8_2 php4-iconv-4.3.8_2 php4-gd-4.3.8_2 php4-ftp-4.3.8_2 pecl-fileinfo-0.2 php4-dba-4.3.8_2 php4-curl-4.3.8_2 php4-ctype-4.3.8_2 php4-bz2-4.3.8_2 php4-bcmath-4.3.8_2 php4-4.3.8_2
pkg_delete apache-2.0.50_3
pkg_delete mysql-client-4.0.18_1
pkg_delete net-snmp-5.1.1_1
pkg_delete png-1.2.5_2
pkg_delete squid-2.5.6_6
pkg_delete t1lib-5.0.1,1
pkg_delete automake-1.5_2,1
pkg_delete autoconf-2.53_3
pkg_delete autoconf-2.59_1
pkg_delete autoconf-2.13.000227_5
pkg_delete autoconf-2.53_1
pkg_delete autoconf-2.57_1
pkg_delete p5-Net-DNS-0.42
pkg_delete p5-Digest-HMAC-1.01
pkg_delete p5-Digest-SHA1-2.06
pkg_delete p5-libwww-5.75
pkg_delete p5-Net-1.17,1
pkg_delete p5-HTML-Parser-3.34
pkg_delete p5-HTML-Tagset-3.03
pkg_delete p5-URI-1.27
pkg_delete p5-Authen-SASL-2.06
pkg_delete p5-MIME-Base64-2.21
pkg_delete p5-Digest-1.02
pkg_delete p5-Digest-MD5-2.30
pkg_delete perl-5.6.1_15
pkg_delete jpeg-6b_1
pkg_delete freetype2-2.1.5_1
pkg_delete libiconv-1.9.1_3
pkg_delete expat-1.95.7
○ports の再導入
pkg_add -r perl
ここで /etc/make.conf を修正 (Perl のバージョンが上がったため)
pkg_add -r cvsup-without-gui
pkg_add -r p5-Digest-MD5
pkg_add -r p5-libwww
pkg_add -r p5-Net-DNS
pkg_add -r analog
pkg_add -r wget-devel
○大物パッケージをportsから入れ直し
net-snmp入れ直し
apache入れ直し
php4入れ直し
php4-extensions入れ直し
pear-APC入れ直し
17) 以上終了後、最終リブートテスト
18) ブートアップ確認後、Apache の自動起動を復活(/etc/rc.conf)