Fedora Core5による自宅サーバー構築とその備忘録 〜第6章〜 dazukoのインストールとプリンタに悪戦苦闘

はじめに
 アンチウィルスの所には書き忘れましたが、linuxにおいてリアルタイムスキャンを行うためにはdazukoというものをインストールする必要があります。これはファイルのアクセス管理をするものらしいのですが、どうやらkernelのモジュールとして動かす必要があるみたいです。この時点でかなり敷居が高いと思います。よく読んでみるとkernelを再ビルドしてその上で設定をかえてコンパイルする作業がいります。正直「勘弁してくれ」と思いましたが、確認もせずに40$もAvgに払ってしまったため引くに引けなくなりました。色々検索をかけて気がつきましたが難しいと思っている人は私以外にも多いのかトラブルの事例は国内外問わず多いようです。「コンパイルできない」「インストールしたのにモジュールが起動しない」といった悲鳴が・・・試行錯誤の末何とかインストールには成功しましたが不完全なものです。おそらく無駄だらけの手順なのでしょうがそれでも再インストールのときにまたあちこち探し回るのはいやなのでここに書いておきます。この項目に関してはあえてどこを参考にしたかのポインタは書きません。(しいて言えばdazukoのサイトとavgのマニュアルを参考にしました)今までの項目は曲がりなりにも設定の意味とかを最低限理解したうえで書いていましたが今回は違います。「なんとかかんとか動かしている」だけに過ぎず、不完全もいいところです。

準備
 まずは、カーネルの再ビルドに必要なソースを落としてきます。

% wget http://download.fedora.redhat.com/pub/fedora/linux/core/updates/5/SRPMS/kernel-2.6.16-1.2122_FC5.src.rpm

次に、ソースをインストール

rpm -ivh kernel-2.6.16-1.2122_FC5.src.rpm

/usr/src/redhat/SOURCES/の中にあるi686のコンフィグファイルをいじる

CONFIG_SECURITY_CAPABILITIES=y

CONFIG_SECURITY_CAPABILITIES=m

kernelの再構築

rpmbuild -bb --target=i686 /usr/src/redhat/SPECS/kernel-2.6.spec

ここはCPUの速度やメモリ容量にもよるのでなんともいえないところですがかなりの時間がかかります。私のノート(P3-866)では文字通り丸一日かかりました。

kernelのrpmファイルは/usr/src/redhat/RPMS/i686/の中にできます。その中からスタンダードなものをインストールします。(後で同じような作業をもう一度しますのでこの作業は不要かも。このあたりからだんだん怪しくなっていきます。)

rpm -ihv /usr/src/redhat/RPMS/i686/kernel-2.6.16-1.2122_FC5.root.rpm

ここからは丸ごとdazukoのサイトから引き写しです。ただし、kernel source directoryは/usr/src/redhat/BUILD/kernel****/linux***/という感じのディレクトリになったと思います。詳細をメモに書くのを忘れてsrc内のものをごっそり消してしまったためここからはかなり自分でも怪しいです。ここの部分をどのような順序でやったかがはっきりしません。dazuko-2.2.1-pre2.tar.gzを使用しました

(change to kernel source directory)
# cd /usr/src/linux-`uname -r`

(copy in the current kernel configuration)
# cp /boot/config-`uname -r` .config

(configure the kernel, change capabilities to be a module)
# make menuconfig
Security options -> Default Linux Capabilities
exit, saving changes

(build the kernel)
# make

(install kernel modules)
# make modules_install

(install kernel)
# make install

(build dazuko)
# cd
# ./configure --kernelsrcdir=/usr/src/linux-`uname -r`
# make

(install dazuko kernel module)
# cp dazuko.ko /lib/modules/`uname -r`custom/kernel/security
# depmod -ae `uname -r`custom

(reboot)
# reboot

After the machine reboots you can load Dazuko with:

# modprobe dazuko

Fedora Core 2 doesn't use devfs so you will need to create the dazuko device:

# mknod -m 600 /dev/dazuko c 254 0

この後、/etc/rc.localに
modprobe dazuko
といれることで起動時に自動で動くようになります・・・が、問題はここです。avgの方が起動時に先に読み込まれるために、起動時にはdazukoなしの状態でavgが動いています(insmodを行えという警告メッセージが出ます)。/etc/init.d/avgd restartとすることでdazukoを読み込んでリアルタイムスキャンが有効になりますが、ここは明らかにおかしいですね。avgのマニュアルにはalias char-major-254 dazukoという設定を/etc/modules.confに書き込むように書いてありますがfedora core5にはそういうファイルが存在しません。ここまでが、現在の私のLinuxにおける限界なんでしょう。これ以上調べに時間をかけられないのと、avgdさえ再起動すればいいという事実に甘えてここまででストップしています。ちなみに、同じやり方でAntiVirvmwareの方に入れてみましたがAntiVirの方は特に目立つエラーも無くリアルタイムスキャンが有効になっているようです。

プリンタについて
 id:masayangさんの指摘(CUPSで対応できるのではないか)もあり、今日は1日プリンタと格闘。問題のAPIは覚悟を決めてrpm -Uvh --nodeps --forceで強制インストールしてすぐにyum -y update。Canonのサイトから以前とってきておいたたCAPTドライバと共通モジュールをインストール。まずはネットワークプリンタの状態のままでCanonのサイトの指示通りにインストール。インストール自体は問題なく終了するがいざ印刷しても反応なし。ならばということでCUPSのほうから設定を試みるもののあえなく撃沈。いずれも、追加自体はうまくいくのに印刷ができない・・・USBに直接つないでもうまくいかない・・・Canonのドライバが悪いのかghostscriptが悪いのか自分の設定が悪いのか・・・通常の場合だったら自分の設定を疑うところですが、今回は文字通りコピペでコマンドを入れているので間違いは無いはずです。CanonのメールにはFedora Core4までの対応となっていますという情報だけで希望が持てそうな情報が何も無かったし・・・こういうときに色々いじっていると何が原因になるのかはっきりしない場合があるので困ります。本音を言えば何とかしたいところなんですが、これまたお手上げです。悔しいな・・・id:masayangさん、本当にありがとうございました。