cd /usr/lib/kbd/keytable して、とディレクトリを移ろうとすると、No such file or directoryなどと言うでわないか。あれ?
ls /usr/lib/kbd して見てみると、consolefonts、consoletrans、keymaps と3つのディレクトリがあるが、keytablesはない。RedHat 5.2からはキーマップなどの持ち方が変ってしまっているようだ。う〜む。
さらにkeymapsの下にも、amiga、atari、i386、mac、sunなどとなっていて、こりゃアーキテクチャごとに分けたのかな?たぶんi386の下に置いてあるんだろう…
cd i386
なぁんと、さらにdvorakだのqwertyだの、ディレクトリが一杯あんぞ!どこのキーマップを使うんじゃい。試しにloadkeysして見てやれ。
loadkeys jp106
などとすると、
Loading /usr/lib/kbd/keymaps/i386/qwerty/jp106.map.gz
などと白状するヤツ。なるほどね、i386のqwertyの下っすか。はいはい。
cd /usr/lib/kbd/keymaps/i386/qwerty して gunzip -dc jp106.map.gz > pingo.mapとする。
ホスト名がpingoなので、キーマップもpingoなのだ(笑) で、vi pingo.mapで開き、keycode 29をCaps_Lockに、keycode 58をControlに、さらに、controlkeycode 53をControl_underscoreに書き換えてやる。このControl_underscoreってのが、jedを使う上はキモなのだ。Undoの秘奥義と言われている(笑)
:wqで抜けて、gzip pingo.mapとして固めてやろう。vi /etc/sysconfig/keyboard すると、1行だけ、KEYTABLE=jp106 などと書いてあるので、
#KEYTABLE=jp106
KEYTABLE=pingo
と書き換えておく。これで次回ブート時からpingo.mapが有効だ。とりあえず今はloadkeys pingoとして直接手でマップしなおしちゃう。Caps LockとControlが入れ替っているのを確認して落ち着く。ふぅ。
さて、普段入るときのユーザアカウントを作るか。パスワードも入れちゃえ。
useradd -g users toru
passwd toru
これで、toru のアカウントができ、users groupに追加される。念のため、/etc/passwdと/etc/groupを見ておく。ためしにLoginしてみよう。よしよし。グ〜だぜ。
さて、コンダラ1号のパッケージ置き場から、いつも使うパッケージをブチ込もう。lsmodして見てみると、autofsはインストールしたままのkernelでも使えるようだ。nfsも使えるかな?
mkdir -p /mnt/nfs などとしてmount pointを作り、
mount 192.168.9.16:/usr/local/src/redhat /mnt/nfs
とやってみると、お〜使えるやんけ。だったらとっととjedを入れてしまおう。viも使えないこたないけど、やっぱjedの方がいいよなぁ。どうせこれから各種設定ファイルをゴソゴソ書き換えるんだし。
rpm -ivh /mnt/nfs/RPMS/i586/slang_jp-1.2.2j054-3.i586.rpm rpm -ivh /mnt/nfs/RPMS/i586/slang_jp-ldevel-1.2.2j054-3.i586.rpm rpm -ivh /mnt/nfs/RPMS/i586/jed-0.98.7j054-2.i586.rpm
実はオレ個人が使っているパッケージはほとんどが、pgcc-2.91.57の-O6 -mpentiumでコンパイルされていて、佐藤さんに教えてもらった秘技(笑)でもってi586なアーキテクチャが指定されているのだった。
cp /usr/lib/jed/lib/jed.rc ~/.jedrc
として、無事にjedが立ち上がるのを確認する。よしよし。あとはコンダラ1号のtoruのホームディレクトリからいろいろと設定ファイルなぞを持ってこなければならぬ。まっさきにauto mounterの設定をしよう。
メインなコンダラ1号では、CD-ROMドライブ、ユーザtoruのホーム、パッケージ作成用の/usr/local/src/redhatがすでにexportされているので、それらをautofsを介してマウントしてやるのだ。
/etc/auto.master には
/auto /etc/auto.removable --timeout 10
などとした。デフォルトだと/etc/auto.miscを使うようになってるんだけど、Slack時代からの習慣でauto.removableを使ってるんだよね。まぁ単にファイル名なんで実際なんでもいいんだが。で、/etc/auto.removable には
src -rw,rsize=1024,wsize=1024 pinga:/usr/src/redhat lsrc -rw,rsize=1024,wsize=1024 pinga:/usr/local/src/redhat toru -rw,rsize=1024,wsize=1024 pinga:/home/toru jaz -rw,rsize=1024,wsize=1024 pinga:/auto/jaz cdrom -rw,rsize=1024,wsize=1024 pinga:/auto/cdrom lcdrom -fstype=iso9660,ro,unhide :/dev/cdrom floppy -fstype=auto,rw,noexec :/dev/fd0
などと書いておく。pingaってのはコンダラ1号のホスト名だ。この時点で、pinga、pingoの2つは/etc/hostsに書いておいた。
さらに、auto.removableに実行ビットが立っていると、automounterがmap typeをprogramと判定してしまい、auto.removableをshell scriptとして実行しようとしてしまうので注意だ。オレもハマッたことがある(笑) なんだかワケワカだけどマウントできないっつ〜状態になるんだよね。
さて、
/etc/rc.d/init.d/autofs stop
/etc/rc.d/init.d/autofs start
して見る。この時のオプションは restart でもいいのだろうが、オレ的には習慣として、設定ファイルなどを大きく変えた、ないしはデフォルトで入ってたのを捨てる、などのときには、もう明示的に止めちゃうことにしている。なんだかよくわからない状態になったらイヤだからねぇ。
automounterが立ち上がったのを確認したら、おもむろに
ls /auto/lsrc
などとして、確かにpingaの/usr/local/src/redhatがアクセスできるのを確認する。さて、パッケージをボコボコ入れちゃうぜ。
まずは、ncurses だ。これがなくっちゃ make menuconfig ができぬ。kernelの再構築をmake configでやるのはいささかかったるい。かといって、まだXは動かすまでは遠いもんな。だからせめてmenuconfigを使いたいじゃん。
インストール時に実はncursesだけは入れてあるのだが、これは単なる依存性のツジツマ合わせのためで、ncurses-develは入れてない。だけどncurses-develに含まれているヘッダファイル等がないと、make menuconfigは動かないのだ。
だが、オレが普段使っているncursesってば、pgcc 2.91.57でコンパイルしちゃってたりするから、ncursesそのものは大丈夫だが、ncurses-develの方がlibstdc++ 2.9.0に依存しちゃってたりする。というワケで、真っ先に入れ替えなければならないのは、libstdc++なのだった。マニアックっつ〜か、コンダラだよなぁ(笑)
libstdc++を2.9.0に置き換えようとすると、昨日入れたパッケージ構成だと
groff-1.11a-6 xosview-1.6.1a-4 xpdf-0.7a-1
がlibstdc++ 2.8.0に依存しているので、--nodeps などで強引に入れ替えると、これらはみな動かなくなってしまう。だが実は、秘かにlibstdc++ 2.9.0の下でrebuildしたパッケージがあるのでいつでも差し替えreadyなのだった(笑)
てなわけで、
rpm -e --nodeps groff rpm -e xosview rpm -e xpdf
としてとっとと削除してしまい、この場は一時黙らせておく。groffは普通に rpm -e すると当然ながらman が依存しとるわボケなどと言われるので、--nodeps で強引にブッ飛ばす。さて、これで下準備はオッケー。
rpm -Uvh /auto/lsrc/RPMS/i586/libstdc++-2.9.0-3.i386.rpm rpm -Uvh /auto/lsrc/RPMS/i586/libstdc++-devel-2.9.0-3.i386.rpm
としてlibstdc++を2.9.0に置き換え、続けて
rpm -Uvh /auto/lsrc/RPMS/i386/groff-1.11a-6.1.i386.rpm rpm -Uvh /auto/lsrc/RPMS/i386/groff-gxditview-1.11a-6.1.i386.rpm rpm -Uvh /auto/lsrc/RPMS/i386/xosview-1.6.1.a-4.1.i386.rpm rpm -Uvh /auto/lsrc/RPMS/i386/xpdf-0.7a-1.1.i386.rpm
として一通り戻しておく。pgccでmakeした、またはlibstdc++-2.9.0に依存する、などの理由で単にrebuildはしたものの、中身はまったくほげってないパッケージは、判別のためにすべてリビジョン番号に .1 を追加してある。rpm -U で突っ込めるようにという配慮もある。
さて、懸案のncursesを入れ替えよう。
rpm -Uvh /auto/lsrc/RPMS/i386/ncurses-4.2-10.1.i386.rpm rpm -Uvh /auto/lsrc/RPMS/i386/ncursesl-devel-4.2-10.1.i386.rpm
で、次はjpegなどの画像モノをpgccでmakeしたヤツに差し替えてしまうことにする。
rpm -Uvh /auto/lsrc/RPMS/i586/libgr-2.0.13-13.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/libgr-devel-2.0.13-13.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/libgr-progs-2.0.13-13.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/libjpeg-6b-7.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/libjpeg-devel-6b-7.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/libpng-1.0.2-1.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/libpng-devel-1.0.2-1.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/libtiff-3.4-4.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/libtiff-devel-3.4-4.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/libungif-3.0-4.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/libungif-devel-3.0-4.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/libungif-progs-3.0-4.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/zlib-1.1.3-2.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/zlib-devel-1.1.3-2.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/imlib-1.8-5.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/imlib-cfgeditor-1.8-5.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/imlib-devel-1.8-5.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/xpm-3.4j-3.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/xpm-devel-3.4j-3.1.i586.rpm
これで、普通なら ImageMagick を入れる準備は整っているはずなのだが、オレが使っているものは FreeType 付きでmakeしてしまっているので、FreeTypeのパッケージを入れてやらねばならない。今日作ったばかりのfreetype-1.2のパッケージを入れてやろう。
rpm -ivh /auto/lsrc/RPMS/i586/freetype-1.2-1.i586.rpm rpm -ivh /auto/lsrc/RPMS/i586/freetype-devel-1.2-1.i586.rpm rpm -ivh /auto/lsrc/RPMS/i586/freetype-tools-1.2-1.i586.rpm
としてまとめて入れてやる。まぁ実際にはdevelもtoolsも要らないんだけどね。で、
rpm -Uvh /auto/lsrc/RPMS/i586/ImageMagick-4.1.0-1.1.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/ImageMagick-devel-4.1.0-1.1.i586.rpm
としてImageMagickも差し替えてやった。FreeTypeも入ったので、VFlib2も入れる。
rpm -ivh /auto/lsrc/RPMS/i586/VFlib2-2.24.0-0.5.i586.rpm rpm -ivh /auto/lsrc/RPMS/i586/VFlib2-devel-2.24.0-0.5.i586.rpm
VFlib2-VFjfm-2.24.0-0.5.i586.rpmってのは、TeXを使えないオレ的にはワケワカなので入れてない(笑) 次にTcl/Tk関係を差し替えよう。こいつらは今日パッチをあてて作ったばっかりなんで、どうなるかわからんけど(笑) 一応コンダラ1号では差し替えて動いているので大丈夫だろう。
rpm -Uvh /auto/lsrc/RPMS/i586/tcl-8.0.3jp-20.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/tk-8.0.3-20jp.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/tclx-8.0.3jp-20.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/tix-4.1.0.6jp-20.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/expect-5.26jp-20.i586.rpm
として全部無事に入るのを確かめる。とりあえずこうしておいて、printtoolとかその手のが動くかどうかは後で様子を見ることにしよう。さて、次はGTK+関係を入れよう。
rpm -Uvh /auto/lsrc/RPMS/i586/glib-1.0.6jp-4.i586.rpm
だが入らぬ。
failed dependencies: glib = 1.0.6 is needed by gtk+-1.0.6-3
だとぅ? 1.0.6よりも1.0.6jpの方が大きいとは判定してくれないのか? GTK+-1.0.4なんかをアップデートするときはサクサク入ったのに。数字の部分しか見てないのだろうか…謎だ。まぁいいわい。
rpm -e --nodeps glib
としてglibだけ消してしまえ。それからおもむろに
rpm -ivh /auto/lsrc/RPMS/i586/glib-1.0.6jp-4.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/gtk+-1.0.6jp-4.i586.rpm rpm -Uvh /auto/lsrc/RPMS/i586/gtk+-devel-1.0.6jp-4.i586.rpm
としておとなしく入った。これでライブラリ関係はだいたいいいかなぁ。はぁ。さて、今日はこの辺にしとこう。
メール | 戻る |