2011年2月15日火曜日

サーバのDebianをSqueezeに上げるのだ

2月6日にめでたくDebian 6.0、コードネームsqueezeがリリースされましたね。
特に大きな不具合の話も聞かないので、VPSじゃない方のサーバのアップグレードをしちゃいましょう。

VPSな方はdtiのserverman@vpsでDebianを運用しているんですが、dtiのvpsは完全仮想化じゃないから
ちょっと気持ち悪いので、しばらくはlennyのまま放っておく事にします。

ということで、早速アップデートを始めますが、まずはリリースノートにしっかりと目を通しておきます。
http://www.debian.org/releases/squeeze/releasenotes

4章、5章あたりがアップグレードをするのにとても重要ですね。

このサーバでは新しめのKVMを使いたかったので、backportsからKVMをインストールしていました。
KVMとかvirt-managerに依存しているパッケージだけなので、ここが壊れてもインストールし直せばいいだけなので
安心ですね。

ということで4章を読みながらアップグレード!

まずはソースリストを編集します。
# vi /etc/apt/sources.list
コードネームで指定しているので、lennyな所をsqueezeに書き換えます。

あと、これまでnon-freeなパッケージは使っていないのでaptラインにも含めていなかったのですが、squeezeからは
ファームウェアがnon-freeに入るようになるらしいので、aptラインにnon-freeも追加しておきます。

最終的な/etc/apt/sources.listはこんな感じになりました。
deb http://ftp.jp.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ squeeze main contrib non-free

deb http://ftp.jp.debian.org/debian/ squeeze-updates main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ squeeze-updates main contrib non-free

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

で、1発目のアップグレード。
# apt-get upgrade

4.4.5の記載に則って、カーネルとudevを手動でアップグレードします。
# apt-get install linux-image-amd64
# apt-get install udev


あとはdist-upgradeで畳み掛けます!
# apt-get dist-upgrade

dist-upgradeも特に問題なく完了しましたが、
insserv: warning: script 'K19libvirt-suspendonreboot' missing LSB tags and overrides
って怒られちゃいました。このスクリプトは、サーバのシャットダウン時に起動中のKVM仮想マシンをサスペンドさせる
ために作ったやつで、LSBタグがないよっていわれています。

リリースノートにも書かれているようにsqueezeではinsservによる依存関係ベースの起動シーケンスに変更されているとのことなので対応しておく。
ひとまずLSBタグに以下を設定。
### BEGIN INIT INFO
# Provides: libvirtd-suspendonreboot
# Required-Start: libvirtd
# Required-Stop: $remote_fs $syslog libvirtd
# Should-Start: hal avahi
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: libvirt suspend on reboot
### END INIT INFO
依存関係はかなり適当にしているから、これで大丈夫かは・・・。
依存関係ベースの起動に移行させる為に
dpkg-reconfigure sysv-rc
を実行します。

とりあえず怒られないようになりました。

ここで緊張の再起動。
# reboot

grub1からチェインロードでgrub2が起動して、無事squeezeが起動しました。
grub2から起動できることが確認できたので、とっととgrub2に移行しちゃいます。
# upgrade-from-grub-legacy

で、またまた再起動!
grub2からちゃんと起動することができました。

これでひとまずsqueezeへのアップグレードは大丈夫かな。

0 コメント: