たぶん2007年ごろのメモ。sarge のときは xinetd を使っていたんだなぁ。サーバ名には okojo と付けていた。
以下、延々と長いメモ。
Debian GNU/Linux 4.0 ("etch") リリースノート (Intel x86 用) - 以前のリリースからアップグレードする
http://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.ja.html
Debian GNU/Linux 4.0 ("etch") リリースノート (Intel x86 用) - Debian GNU/Linux 4.0 の最新情報
http://www.debian.org/releases/etch/i386/release-notes/ch-whats-new.ja.html
aptitude がこわいから apt-get でアップグレードしていく
aptitude を一度でも使ったら、その後 apt-get は使わないこと
データや設定情報をバックアップ(/home, /usr/local)
Apache 2.0
/etc.apache2
/ パッケージ情報をバックアップ
# dpkg --get-selections > dpkglist.txt
すべてのデータベースのバックアップ(200MBぐらいで2分ぐらい?)
$ mysqldump --default-character-set=utf8 -u root -p -x --all-databases > dump.sql
mysql は一応バックアップするけど、自動アップグレードにまかせてみたい
mysqldump --default-character-set utf8 -u hogeuser -p hogedatabase hoge_table > ./hoge_table_backup_file.txt
## mysql ファイルサイズの大きさも考慮すべき
mysqldump --default-character-set=utf8 -u root -p hogedb | bzip2 -9c > mysqldump-2007-hogedb.bz2
# MySQLシステムDB
mysqldump --default-character-set=utf8 -u root -p mysql | bzip2 -9c > mysqldump-2007-mysql-user-db.bz2
$ mysqldump --default-character-set=utf8 -u root データベース名 > dump.sql
$ mysql -O default-character-set utf8 -u root -p < ./hoge_table_backup_file.txt
Tomcat 4.1
xinetd
sarge 最新状態へ
apt-get update
apt-get upgrade
カーネルを2.6へ上げる
apt-get install kernel-image-2.6-686
shutdown -r now
okojo:~# uname -srvmo
Linux 2.6.8-4-686 #1 Mon Apr 30 07:01:37 UTC 2007 i686 GNU/Linux
# COLUMNS=200 dpkg -l | grep kernel-image
ii kernel-image-2.4-686 101sarge1 Linux kernel image for version 2.4 on PPro/Celeron/PII/PIII/P4
ii kernel-image-2.4.27-2-386 2.4.27-10sarge1 Linux kernel image for version 2.4.27 on 386
ii kernel-image-2.4.27-3-686 2.4.27-10sarge5 Linux kernel image for version 2.4.27 on PPro/Celeron/PII/PIII/P4
ii kernel-image-2.6-686 101sarge2 Linux kernel image for version 2.6 on PPro/Celeron/PII/PIII/P4.
ii kernel-image-2.6.8-4-686 2.6.8-16sarge7 Linux kernel image for version 2.6.8 on PPro/Celeron/PII/PIII/P4.
パッケージの状態をチェック
何らかのエラー状態にあるパッケージを表示
# dpkg --audit
パッケージの取得先変更(aptlineをetch向けに)
sarge を etch へ変更
# vi /etc/apt/sources.list
deb http://cdn.debian.or.jp/debian/ etch main contrib non-free
deb-src http://cdn.debian.or.jp/debian/ etch main contrib non-free
deb http://security.debian.org/ etch/updates main contrib non-free
アップグレード作業の記録を取る
script -t 2>~/upgrade-etch2.time -a ~/upgrade-etch2.script
パッケージリストの更新
apt-get update
不要なパッケージキャッシュの削除
apt-get clean
ハードディスクの容量が足りるか確認
df -h
//apt-get -s dist-upgrade
システムの最小アップグレード
apt-get upgrade
apt-get install initrd-tools
デスクトップシステムのアップグレード
libfam0c102 の存在チェック
dpkg -l libfam0c102 | grep ^ii
xlibmesa-glu の存在チェック
dpkg -l xlibmesa-glu | grep ^ii
xfree86-common の存在チェック
dpkg -l xfree86-common | grep ^ii
libfam0c102 が存在していたら libfam0 をインストールする
apt-get install libfam0
xlibmesa-glu が存在していたら xlibmesa-glu をインストールする
apt-get install xlibmesa-glu
xfree86-common が存在していたら x11-common をインストールする
apt-get install x11-common
カーネルを更新(2.6.8->2.6.18ぐらいに上がる, あと付随する必要なパッケージのインストール)
apt-get install linux-image-2.6-686
etch へアップグレード
apt-get dist-upgrade
アップグレードできたか確認
# apt-get --purge remove xinetd
# vi /etc/inetd.conf
# /etc/init.d/inetd restart
telnet localhost して "Debian GNU/Linux 4.0" って出るか確認。
パッケージ情報を更新
apt-get update
(存在するのならば)hotplug パッケージを削除
# dpkg -l | grep udev
ii udev 0.105-4 /dev/ and hotplug management daemon
apt-get remove hotplug
一応、再起動
shutdown -r now
# uname -srvmo
# COLUMNS=200 dpkg -l | grep kernel-image
okojo:~# uname -srvmo
Linux 2.6.18-4-686 #1 SMP Wed May 9 23:03:12 UTC 2007 i686 GNU/Linux
okojo:~# COLUMNS=200 dpkg -l | grep kernel-image
ii kernel-image-2.4-686 101sarge1 Linux kernel image for version 2.4 on PPro/Celeron/PII/PIII/P4
ii kernel-image-2.4.27-2-386 2.4.27-10sarge1 Linux kernel image for version 2.4.27 on 386
ii kernel-image-2.4.27-3-686 2.4.27-10sarge5 Linux kernel image for version 2.4.27 on PPro/Celeron/PII/PIII/P4
ii kernel-image-2.6-686 2.6.18+6 Linux 2.6 image on PPro/Celeron/PII/PIII/P4 - transition package
ii kernel-image-2.6.8-4-686 2.6.8-16sarge7 Linux kernel image for version 2.6.8 on PPro/Celeron/PII/PIII/P4.
Java のアップグレード: ref. http://www.nilab.info/zurazure2/000599.html
# apt-get install sun-java5-jdk
# apt-get install sun-java5-fonts
# apt-get install sun-java5-plugin
# apt-get --purge remove sun-j2sdk1.5
# apt-get install sun-java5-jdk
# apt-get install sun-java5-fonts
# apt-get install sun-java5-plugin
gij-4.1の削除
okojo:/etc/default# /usr/bin/java -version
java version "1.4.2"
gij (GNU libgcj) version 4.1.2 20061115 (prerelease) (Debian 4.1.1-20)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
okojo:/etc/default# dpkg -l | grep gij
ii gij-4.1 4.1.1-20 The GNU Java bytecode interpreter
okojo:/etc/default# apt-get remove gij
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
パッケージ gij はインストールされていないため、削除はできません
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
okojo:/etc/default# apt-get remove gij-4.1
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
以下のパッケージは「削除」されます:
gij-4.1 java-gcj-compat
アップグレード: 0 個、新規インストール: 0 個、削除: 2 個、保留: 0 個。
0B のアーカイブを取得する必要があります。
展開後に 242kB のディスク容量が解放されます。
続行しますか [Y/n]? y
(データベースを読み込んでいます ... 現在 55150 個のファイルとディレクトリがインストールされています。)
java-gcj-compat を削除しています ...
gij-4.1 を削除しています ...
okojo:/etc/default# java -version
java version "1.5.0_10"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_10-b03)
Java HotSpot(TM) Client VM (build 1.5.0_10-b03, mixed mode, sharing)
Apache 2.0 -> 2.2
自動アップグレード。設定見直し。
Apache 1.3.37
再コンパイル&再インストール
MySQL 4.1 -> 5.0
// 自動で5.0になるっぽい
apt-get remove mysql-server-4.1
MySQLのアップグレード手順
参考
MySQL AB :: MySQL 5.0 Reference Manual :: 2.4.17.2 Upgrading from MySQL 4.1 to 5.0
http://dev.mysql.com/doc/refman/5.0/en/upgrading-from-4-1.html
mysql_upgrade を実行
# mysql_upgrade で以下のコマンドが実行される。
mysqlcheck --check-upgrade --all-databases --auto-repair -p
mysql_fix_privilege_tables
(あるいは mysql プロンプトで mysql_upgrade を実行する?)
MySQLサーバを再起動
全文検索(FULLTEXT index)を使っているテーブル
CHECK TABLE
エラーが出たらインデックスを再作成)(optimize table か repair tableをする)
mysql> optimize table t_hoge;
Tomcat 4.1 -> 5.0 or 5.5
// tomcat5をインストールするとtomcat4が削除される
apt-get install tomcat5
CATALINA_OPTS, TOMCAT5_SECURITY=no, LOGFILE_DAYS=365, unset LANG
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
CATALINA_OPTS="-Djava.awt.headless=true -Xms256M -Xmx256M -server -Xloggc:/var/lib/tomcat5/logs/gc.log -Dsun.net.client.defaultConnectTimeout=10000 -Dsun.net.client.defaultReadTimeout=15000 -Dinfo.nilab.lib.log.LoggerFactory=info.nilab.lib.log.nilab.Log4jLoggerFactory -Djavax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl"
CATALINA_OPTS="-Djava.awt.headless=true -Xms256M -Xmx256M -server -Xloggc:/var/lib/logs/nilabwebapps/gc.log -Dsun.net.client.defaultConnectTimeout=10000 -Dsun.net.client.defaultReadTimeout=15000 -Dinfo.nilab.lib.log.LoggerFactory=info.nilab.lib.log.nilab.Log4jLoggerFactory"
起動パラメータに -Djavax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl を追加
vi /etc/default/tomcat5
vi /etc/tomcat5/server.xml
java5文法がtomcat5のjspでは使えない
/var/lib/tomcat5/work/Catalina/localhost/nilab/org/apache/jsp/poisonmaps/location_jsp.java:403: for-each ループは -source 1.3 でサポートされていません
(for-each ループを使用可能にするには、-source 1.5 を試してください)
java.lang.NoSuchMethodError: org.w3c.dom.Document.getXmlEncoding()Ljava/lang/String;
at info.nilab.lib.xml.dom.Documentz.toString(Documentz.java:36)
at info.nilab.lib.net.ws.CachedRest.get(CachedRest.java:59)
アップグレード作業の記録を停止
script を停止: プロンプトから exit と入力
-
ref.
- Debian GNU/Linux 4.0 etch へのアップグレード (DebianEtchUpgrade - MemoWiki)
- [ヅ] VMware で動かしていた Debian sarge -> を etch アップグレードしたときのメモ(Twitter メッセージログ) (2007-05-04)
tags: debian
Posted by NI-Lab. (@nilab)