2004年1月12日月曜日

Debian GNU/Linux, woody から sarge へのアップグレード

Debian安定版からテスト版への移行とそれに伴うトラブル

安定版にしがみついてばかりいないで冒険をしようと思い立ち、Debian GNU/Linux の安定版である woody から テスト版の sarge へとアップグレードした。

アップグレードをするため、/etc/apt/sources.list の中の woody という文字をすべて sarge へ置き換えて保存。 ちょうど、こんな /etc/apt/sources.list の中身を

http://・・・(URL)・・・・・.jp/ woody main contrib nonfree
ftp://・・・(URL)・・・・・.jp/ woody main contrib nonfree
こういう風に置換しただけ。
http://・・・(URL)・・・・・.jp/ sarge main contrib nonfree
ftp://・・・(URL)・・・・・.jp/ sarge main contrib nonfree
そうしたら root 権限で
# apt-get update
# apt-get dist-upgrade
以上のコマンドでアップグレードは完了。 筆者の debian box では 396個のパッケージがアップグレードされ、405個のパッケージが新たにインストールされ、9個のパッケージが削除され、3個のパッケージが今とバージョンがわからないままとなった。
アップグレードに際し、消されるのパッケージは以下だった。
alsa-modules-2.2.17, alsautils, libpng-dev, libwings-deb, libwraster2-dev, openoffice.org, org-debian-files, openoffice.org-l10n-ja
これは # apt-get dist-upgrade のコマンドを打つと表示されるので、後々のためにもメモをとっておくべきであろう、うん。

大量のパッケージをダウンロードし、それらのインストールが終わったら晴れて sarge への移行は終了だ。
この後、いくつか再設定をしなくてはならない項目がある。

トラブル(1) 「eth0 が使えない」
さすがにカーネルを移行したわけじゃないんだから、eth0 を認識しなくなったというわけではない。 ifconfig -a を実行するとちゃんと eth0 は存在する。
とりあえず eth0 を利用できるようにしてやるなら以下のようにコマンドを打ってあげる。

# ifconfig eth0 192.168.0.4 netmask 255.255.255.0 up
そして、OSの起動時に eth0 を自動で上げたいので、
# ln -s /etc/init.d/networking /etc/rc2.d/S20networking
をしてやる。 なぜか /etc/rc2.d にあったはずの S20networking が消えていたのが原因のよう。
アップグレード時に勝手に消されてしまったのだろう。

トラブル(2) 「どうも画面がチカチカする」(Xwindow)
どうも落ち着かないので /etc/X11/XFree86Config-4 を編集した。
現在使っているグラフィックカードに合わせて以下のように編集した。
Section "Device"

Chipset    "mgag200"
を追加。
それから、Section "Monitor"
Modeline "1152x864" 92.00 1152 1208 1368 1474 864 875 895 915
のように、結構いい加減に記述。 "1152x864" より後ろの数字はなんなのか、気になるところだが、
$ man XF86Config-4
に載っている。
dot (pixel) clock (MHz), hdisp, hsyncstart, hsyncend, htotal, vdisp, vsyncstart, vsyncend, vtotal
だそうだ。 しかしまあ、改めて見るといい加減な数値にしてるな…。
書き換えたら X を上げ直してみて、様子を見る。 とりあえずこれでチカチカしなくなったので、よしとした。

トラブル(3) 「どうしても kochi(東風) や Osaka といったスケーラブルフォントの表示が出来ない」
XFree86-4.x ならば xfs や xfs-tt などのフォントサーバを上げなくても truetype フォントなどの表示が出来るのだと聞いて喜んでいたのに、これらの文字が表示されない。 具体的には先ほども出てきた /etc/X11/XFree86Config-4 の中の Section "Module" の中で

Load    "xtt"
についているコメントをとってやるのだ。 しかし筆者の debian box ではこのように xtt のモジュールを組み込んでやっても truetype のフォントの表示がされなかった。 色々悩んだが、結局 xserver-xfree86 のバージョンを 4.2.x から 4.1.0 へとダウングレードすることで乗り切ることにした。

トラブル(4) 「man の表示が変」
manでマニュアルを見ると表示が妙なことになる。 以下がその例。

$ man XF86Config-4
XF86Config-4(5x)                                              XF86Config-4(5x)



^[[1mNAME^[[0m
       XF86Config-4 - Configuration File for XFree86 4.x server

^[[1mDESCRIPTION^[[0m
       ^[[4mXFree86^[[24m  uses  a  configuration  file called ^[[1mXF86Config 
^[[22mfor its initial
       setup.  This configuration file is searched for in the following places
       when the server is started as a normal user:

           ^[[4m/etc/X11/^[[24m<cmdline>
           ^[[4m/usr/X11R6/etc/X11/^[[24m<cmdline>
           ^[[4m/etc/X11/^[[24m^[[1m$XF86CONFIG^[[0m
           ^[[4m/usr/X11R6/etc/X11/^[[24m^[[1m$XF86CONFIG^[[0m
           ^[[4m/etc/X11/XF86Config-4^[[0m
           ^[[4m/etc/X11/XF86Config^[[0m
           ^[[4m/etc/XF86Config^[[0m
           ^[[4m/usr/X11R6/etc/X11/XF86Config.^[[24m<hostname>
           ^[[4m/usr/X11R6/etc/X11/XF86Config-4^[[0m
           ^[[4m/usr/X11R6/etc/X11/XF86Config^[[0m
XF86Config-4(5x):

見にくいことこの上ない。 原因はページャ(PAGER) lv のせいのようだった。 このページャを違うものに変えたところ、表示に問題はなくなった。 man の引数 -P の後に lessなどの違うページャを指定するか、環境変数 PAGER で less を指定するかで解決気味。
$ man -P less XF86Config-4
XF86Config-4(5x)                                              XF86Config-4(5x)



NAME
       XF86Config-4 - Configuration File for XFree86 4.x server

DESCRIPTION
       XFree86  uses  a  configuration  file called XF86Config for its initial
       setup.  This configuration file is searched for in the following places
       when the server is started as a normal user:

           /etc/X11/<cmdline>
           /usr/X11R6/etc/X11/<cmdline>
           /etc/X11/$XF86CONFIG
           /usr/X11R6/etc/X11/$XF86CONFIG
           /etc/X11/XF86Config-4
           /etc/X11/XF86Config
           /etc/XF86Config
           /usr/X11R6/etc/X11/XF86Config.<hostname>
           /usr/X11R6/etc/X11/XF86Config-4
           /usr/X11R6/etc/X11/XF86Config
           /usr/X11R6/lib/X11/XF86Config.<hostname>
 Manual page XF86Config-4(5x) line 1