Debian lennyからsqueezeにアップグレード

Debian(squeeze)が正式にリリースされたので、アップグレードしなきゃなぁと思いつつ、今日に至りました。
アップグレードでちょっと躓いたので、メモっておく。
オペレーションは、sshでリモートで行った。

バックアップ

ここに推奨しているバックアップ対象のデータを記載しているが、個人的に大したサーバを構築しているわけではないので、/etc/配下、/home/配下のみをバックアップした。

splashy パッケージを削除

バグがあるらしく、事前にsplashyパッケージを削除する

# apt-get purge splashy

splashyパッケージはインストールされてなかったようなので、問題ない。

パッケージリストの更新

アップグレードする前に、現在のパッケージリストを最新に更新しておく。

# apt-get update

パッケージの状態をチェックする

インストールが未完了のパッケージや設定に失敗したパッケージ、何らかのエラー状態にあるパッケージがあるかをチェック

# dpkg --audit

パッケージがhold状態になっていないかをチェック

# aptitude search "~ahold" 
# dpkg --get-selections | grep hold

何も出力されなかったので、問題なし。

APTの取得先 (ソース) の変更

aptの設定ファイル /etc/apt/sources.list の "lenny" の部分を "squeeze" に変更する。
ただし、volatileが書かれている行は、以下のようにコメントアウトして、追加した。

#deb http://volatile.debian.org/debian-volatile lenny/volatile main
#deb-src http://volatile.debian.org/debian-volatile lenny/volatile main
deb http://ftp.jp.debian.org/debian/ squeeze-updates main
deb-src http://ftp.jp.debian.org/debian/ squeeze-updates main

volatileリポジトリの管轄が変わったからだそう。

パッケージリストの更新

# apt-get update

システムの最小アップグレード

# apt-get upgrade

カーネルとudevのアップグレード

# apt-get install linux-image-2.6-686
# apt-get install udev

再起動

# reboot

squeezeへアップグレード

# apt-get dist-upgrade

いろいろ聞かれるけど、全部デフォルトとかYESを選択した。
キーボードモデルの選択は、 Generic 101key PC を選択した。

gdm3をインストール

squeezeは、GDMの標準がgdm3らしいので、それをインストールする

# apt-get install gdm3

旧パッケージを削除

# apt-get autoremove

再起動

# reboot


で、ここで問題が発生!!


GRUB2がちゃんと動いているかを確認するために、モニタをつけると、
GRUB2が起動し、新しいカーネルが選択され、起動中のメッセージが表示された後に、ログイン画面が出るかと思いきや、「out of range」がモニタに出て真っ暗になった。


sshでリモート接続はできるので、rebootして、今度は前のカーネルを選択すると、問題なくログイン画面からログインでき(前のデザインと違うので、gdm3もちゃんと起動してるっぽい)、システム起動できる。


で、ごちゃごちゃオペレーションをやってみたが、結果的に以下を行ったら、できた。
うちのマシンのビデオカードnVidia系(GeForce FX 5200)なので、nVidiaドライバをインストールし、xorg.confを自動生成する。

# apt-get install nvidia-kernel-2.6-686 nvidia-glx nvidia-settings nvidia-xconfig
# nvidia-xconfig --keyboard=jp106 --layout=jp
# reboot

これで最新のカーネルを選択しても、無事にGNOMEが起動した。
ふー。

GRUB2へアップグレードする

# upgrade-from-grub-legacy

カーネルを削除する

最新のカーネルで特に問題なければ、古いカーネルを削除する

# apt-get --purge remove "linux-image-2.6.26*"

これで終了!