私のメモです。参考になればいいですが、間違っていたらごめんなさい。
インストールが面倒と言われるDebianだが、やってみると意外と楽である。 そしてなにより強力なパッケージ管理コマンド「apt-get」のおかげでセキュリティーのための アップデートも楽チンである。 そして僕のpotatoは非常に安定している。。。 しかーし、それじゃぁ面白くない。 というより世の中カーネルは2.4系だしXFRee86も4.x系である。 それなのになぜ今時カーネル2.2.18なんじゃ!という訳で、アップグレードに挑戦だ。
UNIX USERの「Debian通信」によると、ディストリビューションのアップデートは
apt-lineにwoodyを加えてから、apt-get -f dist-upgradeを実行するらしい。
apt-lineとは、apt-getの際にどこを検索するかを示したファイル/etc/apt/source.listに書かれているurlのことである。
apt-lineでpopatoが入った行をpotato→woodyに置き換えることでできあがりである。
init 3でコンソールに戻ってから上記のコマンドを実行する。
でも、ダウンロードする容量が大きいのでさすがにisdnでは辛い。
幸いフレッツISDNなので、放っておいて寝ることにした
(ちなみに、jgroffパッケージを削除しておかないと依存関係でアップグレードできない)。
朝起きて設定を聞かれているところを答えて再起動したら、見事にX windowが立ち上がらない。(笑
理由は簡単で、XFree86関係がアップグレードされたため、Xの設定の書式が変わったためである。
ここでXの設定をしてもいいが、せっかくだからカーネルのアップグレードを済ませて、2.4系のagpgart.oを使うことにした。
(パッケージの依存関係を考えると、XFree86またはkernel2.4のどちらかをアップデートすると、
もう片方もアップデートするはめになる)
カーネルの設定にはLINUX WORLDの巻末にある「Linuxカーネルコンパイル」を参考にした。
基本的なカーネルのコンパイル方法は、make config(or xconfigなど)でカーネルの項目を設定した後、
make dep clean bzImageなのだが、これをやるとDebianのパッケージ管理から外れてしまう。
そのため、Debianではkernelイメージ構築用ツールが用意されている。make xconfigでカーネルの項目を選択したら、
make-kpkg clean、make-kpkg --with-revision xxxxxxxx kernel-imageで一つ上のディレクトリに
カーネルイメージが作成される。
あとはdpkg -i kernel-image-xxxxxxxx.debをインストールすればよい。
ただし、このカーネルイメージをインストールすると、モジュールも新たにインストールされるため、
先に/lib/module以下にある元々のモジュールをmvしておいた方が良い。
(ようするに、Debianのmake-kpkgでパッケージを作成すると言うことは、make dep clean bzImageでイメージを作成し、
さらにmake modulesで出来たモジュールと併せてパッケージにしていると推測される)
さて、ようやく本題のXの設定である。実を言うと、 上記のapt-get -f dist-updateだけではパッケージが足りなかった。 そのため、apt-lineにsidも追加してもう一度必要なパッケージをゲットandアップデートをした。 とはいえ、今度はカーネルにデフォルトで付属のagpgart.oが使えるので楽勝だろうとXF86Setupを実行するが、、、 あれれ???フォントが無いとか言ってるぞ。apt-cache show XFree86-commonとか何とかして、 パッケージの依存関係(Depend)を調べると、必要なものは全て入っているようである。 やっぱり非安定版のwoodyだからだろうか。。。 さすがにpotatoにしか対応していない徹底本に は書いてないし。。。そう、こんなときこそ検索である。 早速Debianのウェブページで検索してみると、次のことが分かった。
kernelのサウンドも使えるが、ここはALSA を入れてみることにした。言うまでもなく、Debian GNU/Linux徹底入門 を参考にやってみた。
インストールの手順は次の通り。
amixerが無いのでミキサーの設定には失敗する。しかし、gnomeやkde付属のミキサー で設定可能である。また、音楽CDを聞くには、/dev/cdromがcdromグループに、/dev/mixerが audioグループに入っているため、 /etc/groupのcdromグループとaudioグループにユーザーを入れる必要がある。 さらに、/dev/cdromデバイスがシンボリックリンクされているデバイスのグループをcdromに 変える必要がある。
# chgrp cdrom /dev/hdc (cdromがセカンダリのマスタの場合)
ちなみに/dev/hdcはdiskグループに入っているので、ユーザーをdiskグループ に加えることも考えられるが、これではgtcdでCDを再生できなかった。
やっぱりデフォルトで動くのはいいことだ。前のカーネルではi815のグラフィックチップだけでは
なく、Planexの
FNW-9802-Tがサポートされていなかった
(Planexからドライバが添付されていたのを使うとOKであった)。
今回、ハードウェア的な問題は取り立てて見つからない。
怪しげなtapもtunに置き換えられ、動作が不安定だったppxpも11月リリースの最新版をsidから取ってきたのでかなり
安定している。あるところでは
「Debianは安定版で使うべきディストリビューションじゃない」というのもある意味で分かる気がする。
Debianのメーリングリストの過去ログを漁っていると、popatoの前バージョン(skin?)→popatoへは
apt-get -f dist-updateで楽勝だったようだが、woodyのリリースが遅れていることから分かるように、
potato→woodyはカーネルの関係でXやglibなど重要なパッケージが軒並みアップデートする。
おかげでいろいろな依存関係の整合が取れていないように思われる。
さて、今回、一番はまったのは日本語環境である。
Debianには日本語環境を整えるシェルスクリプトがある(potatoではuser-ja-conf、woodyではlocale.gen)が、
それで設定してもgdmではロケールがCに設定されてしまいeuc-jpにならない。
これはpotatoの時も同じだったのでwdmを使ってみると、今度はなぜかgnome-sessionが2つ立ち上がってしまう。
いろいろ調べたところ、gdmとwdmでは読み込む設定ファイルが異なるらしい
(LINUX MAGAZINE 2001年1月号にxdm、gdm、wdmの違いが載っている)。
結局、これから分かることは、Debianのlocale.genで設定するファイル(.bashrc、.Xresource、.xsession)は
gdmでセッションを開始した場合は読み込まれない。
じゃぁ、wdmでは何を読み込んでいるのかというと、Debianで設定したファイルは読み込まれている。
逆に考えれば、「Debianではwdmを使うことを考えているorそれしか考えてない」のである。
私自身もwdmが好みなのでこれは嬉しいのだが、
wdmでセッションの開始時にgnome-sessionを読み込むファイルがよく分からない!
で、結局・・・・・gdmの設定ファイル”gdm.comf”のロケールの設定をするところ(.xsessionを読み込むところ)で
locale=jp_JP.eucJPを指定してしまった。ま、これでとりあえずは安定して使えているので良しとするか。(^^;;
具体的には、/etc/gdm/Sessions/Gnomeで.gnomercを読み込む部分をコメントアウトし、直後に
LANG=ja_JP.eucJP
export LANG
PATH=$HOME/bin:$PATH
kinput2 -canna &
XMODIFIERS=@im=kinput2
export XMODIFIERS
こっちに書いたとおり、 USBキーボードを買ってきた。そのため、USBを使えるようにカーネルをコンパイルしようとするが、 make-kpkgの途中でモジュール依存関係のエラーが多発してコンパイル出来ない。 オリジナルカーネルを作ったことのあるコンフィグファイルにUSB関係を追加しただけなのに。。。 また、そのコンフィグファイル(/usr/src/linux/.config)をkondaraの同じバージョン(2.4.18) のカーネルでコンパイルするときちんとコンパイルできるしモジュールもインストールできる。 やはり素人がtesting/unstableに手を出したが良くなかったらしい。結局、重要な/home以下を # cp -rp /home コピー先でバックアップ した後、woodyを再インストールすることにした。
以前woodyをインストールした時はISDNだったが今はADSLになっている。
そのため、Network Installの
CDイメージ
をダウンロードしてインストールしてインストールした。
デフォルトはkernel-2.2.20であるが、最小インストール後にkernel-2.4.18もインストールした。
ここで、上でコンパイルできなかった.configファイルを使ってコンパイルしたところ、無事にコンパイル
でき、USBの設定もGentoo Linuxのところに書いたとおり
で問題なくXまで立ち上がった。しかし、xfceやgnomeを入れて従来通り設定して
もなぜかメニューなどが日本語にならない。
いろいろ調べると、Debianでは# locale-genでデフォルトのロケールを
設定できるのだが、デフォルトのロケールを何にするかは/etc/locale.genに書かれているようだ。
/etc/locale.genを見てみると空っぽであったので、ja_JP.EUC-JPと書き加えてlocale-genを
実行したが、「どうやって作成したらいいか分かんないよ?」と言われてしまう。locale関係の
パッケージは入れたはずだが、悩むのも面倒なので再々インストールし、最小インストールではなく
デスクトップ環境+locale関係パッケージをtaskselで選択した。
今度はUSBキーボードもマウスも使え、メニューも日本語のgnomeを立ち上げることが出来た。
今度はしばらくapt-lineにsidを加えるのはやめておこう(^^;;