[1] インストール
基本的には福井さんのおかげでほとんど問題なく済んだ。有り難いことである。MkLinux にインストールするために必要なファイルは
Installer-Mklinux-G7R5.tar.gz
hdlist
で
http://home7.highway.ne.jp/~k_fukui
から入手した。その他
SysVinit-2.76-2.ppc.rpm
m4-1.4-GFK2.ppc.rpm
nfs-server-2.2beta40-1a.ppc.rpm
nfs-server-clients-2.2beta40-1a.ppc.rpm
も頂いてきた。特に nfsd は、MkLinux ではカーネルサポートがないので、当分はユーザーランドの nfsd を使わざるをえない。遅いがないよりははるかにましである。
ファイルが手には入ったら、後は DR3 とほぼ同じ手順で進む。ただし、福井さんのインストーラーに入っていた bootstrap.conf はなぜか、vmlinux+installer ではなく vmlinux を探しに行ってしまったので編集した。いったんインストーラーが起動するようになったら後はスムーズであった。インストール用の RedHat は長田さんの所
ftp.ccex.miyazaki-u.ac.jp/pub/ftp.linuxppc.org/linuxppc-dev-rel/1.0
をネットワークインストール指定で使わせていただいた。これまた有り難いことである。約50分ほどでインストールが完了した。
福井さんのページの教えに従い、
# ln -sf tty0 /dev/console
は、この時点で別のバーチャルコンソール(VC)に入ってやっておく。
[2] 試運転
取り合えず、リブートする。ここで、run level 5 にはいり、xdm が立ち上がろうとする際にXが固まった(OS
は生きている)。VC1 に行って見るとフォントパスの問題(100dpi が見つからない)。入れていないので見つかるわけはない。
また長田さんの所から
XFree86-100dpi-fonts-3.3.3.1-49a.ppc.rpm
を頂いてきて入れる。今度は無事 gnome が立ち上がるが、PM8115/110 では荷が重い。
# vi /etc/inittab
....
id:3:initdefault:
....
として、有無を言わさず gnome という設定をはずす。ここは、R4 では level
3 でも xdm となっていたが、普通の設定に戻されたようである。
startx では依然として enlightenment + gnome であるが、これはその内変更することにし、作業はコンソールで続行する。
福井さんの指摘のように /etc/fstab より /dev/pts のエントリーを、また
/etc/rc.d/rc.sysinit で nonfs を mount するファイルタイプから削除する。
また、
# ln -sf ../mach_server/System.map
/boot
として、カーネルバージョンが違うとうるさく文句を言ってくるのを黙らせる。
ここで、次にネットワークの設定をしようとしたとき eth0 が立ち上がっていないことに気づく。ま、これは結果的には好ましいことであったが、本来立ち上がるべきなので追求すべき問題である。取り合えず、まわりの世界から隔離された状態で、/etc/inetd.conf でいらないサービスを止める(実際、ssh を使うつもりなら全て止めてしまっても大した問題はない)。また、hosts.deny、hosts.allow をそれぞれ設定する。これも基本的に全面拒否の設定とする。
さーて、なぜ network が立ち上がらなかったのか?再起動して、/etc/rc.d/init.d/network が eth0 を立ち上げようとする様子を見ていると、xargs がないと怒っている。スクリプトを見てみると PATH は正しく通っているように見える(functions をソースしたときに設定されるはず)。また、ちなみにこのスクリプトを手動で起動する(# ./network start) とちゃんと eth0 が立ち上がる。症状的には、あたかもこのスクリプトが実行される時点で /usr がマウントされていないかのようである。これは合点が行かないが、
# vi /etc/rc.d/init.d/network
......
#interfaces_boot=`ls
ifcfg* | egrep -v '(ifcfg-lo|:)' | egrep 'ifcfg-[a-z0-9]+$' | \
#
xargs egrep -l "ONBOOT=[^n][^o]" | sed 's/^ifcfg-//g'`
interfaces_boot=`for
i in $interfaces; do egrep -l "ONBOOT=[^n][^o]" ifcfg-$i | sed 's/^ifcfg-//g';
done`
として /bin のコマンドだけでしのぐことにした。だが気持ちは悪い。とにかくこれで、eth0
は起動時に立ち上がるようになった。
[3] 諸々のインストール
[3-1] ssh-2.0.13-1b
これは、基本的には、DR3 用のものを再コンパイルしただけだが、chkconfig
対応にし、また、run level 2-5 で起動するようにシムリンクの張り方を変えた。鍵箱(.ssh2
など)は DR3 のものを "cp -rp" した。これはネットワーク越しにやらないこと。取り合えずこれで安心して通信できるようになった。ついでに、sftp
の際のプログレスバーが画面を埋め尽くす問題(仕様?)も直した。
[3-2] Xaw3d-1.3-21a
kterm とかアテナウイジェットを使ったアプリケーションを入れる前に、いつものようにこれを置き換える。デフォールトのものは、スクロールバーにアローが
ないし、また、16bpp ではシャドーがとても醜い。SRPM の SPEC を
make EXTRA_DEFINES='-DARROW_SCROLLBAR -DUSEGRAY'
として再コンパイル。インストール後は
# cd /usr/X11R6/lib
# mkdir libXaw.ORIG
# mv libXaw.so.6.1 libXaw.ORIG
# ln -s libXaw3d.so.6.1
libXaw.so.6.1
# ldconfig
などとしておく。libXaw.so は libXaw.ORIG/libXaw.so.6.1 にシンボリックリンクしておいた方がよかもしれない。何かパッケージを作ったときに
Xaw3d を要求するのはユーザーには不親切かも。
[3-3] ミニマム日本語環境
これまた長田さんの所
ftp.ccex.miyazaki-u.ac.jp/pub/pre-R5.ja
および、noarch については JRPM より、以下のものを頂いてきていれる。
ただし、TeX については後述。
何はともあれ、まず ja locale つき glibc(これが、glibc2.1 に移行したい最大の理由の一つ)。
glibc-2.1.1.j01-2c_rh.ppc.rpm
glibc-devel-2.1.1.j01-2c_rh.ppc.rpm
glibc-profile-2.1.1.j01-2c_rh.ppc.rpm
かな漢字サーバーは Canna と Wnn の両方のユーザーがいるので両方。
Canna-3.5b2-3rh.ppc.rpm
Canna-devel-3.5b2-3rh.ppc.rpm
Wnn-4.2-7_rh.ppc.rpm
Wnn-devel-4.2-7_rh.ppc.rpm
ただし、このパッケージは /usr/local に入れる古い仕様だが、気にせずに、あるものは有り難く使わせていただく。
TrueType を使えないと gs で文書を読むのもつらい。
VFlib2-2.24.2-4jrpm_rh.ppc.rpm
VFlib2-VFjfm-2.24.2-4jrpm_rh.ppc.rpm
VFlib2-devel-2.24.2-4jrpm_rh.ppc.rpm
xtt-fonts-0.19990222-1.noarch.rpm
そして、VFlib2 が入ったならば
ghostscript-5.50jp-1rh.ppc.rpm
ghostscript-fonts-5.50jp-1rh.noarch.rpm
端末上で、日本語の man も読めないと困るので
groff-1.11ajp-3rh.ppc.rpm
groff-gxditview-1.11ajp-3rh.ppc.rpm
groff-tools-1.11ajp-3rh.ppc.rpm
man-1.5g-2_rh.ppc.rpm
順番が逆のような気もするが、これがなければの必携の武器:
nkf-1.70p1-1_rh.ppc.rpm
kterm-6.2.0-8_rh.ppc.rpm
less-332jp-5jrpm_rh.ppc.rpm
a2ps.pl-1.44-1.noarch.rpm
ここで忘れずに $HOME/.inputrc を
$ cat > ~/.inputrc
set convert-meta off
set meta-flag on
set output-meta on
^D
のように作って 2-byte 文字が通るようにしておく。
[3-4] kinput2
このさいだから、kinput2 も新しくすることに。ただし、古いレイアウトの Canna と Wnn を使っているので、いずれはそのアップデートに合わせて修正が必要だが、PM8115/110 で Canna/Wnn の再コンパイルの元気は出てこない。
kinput2-v3-1a.src.rpm
kinput2-canna-v3-1a.ppc.rpm
kinput2-canna-wnn-v3-1a.ppc.rpm
kinput2-wnn-v3-1a.ppc.rpm
ただし、今までと違って、インストールは一つのパッケージを入れるだけで済むユーザーに優しい
JRPM スタイル。
[3-4] TeX
まず、以下のファイルを長田さんの所
ftp.ccex.miyazaki-u.ac.jp/pub/pre-R5.ja
および、noarch については JRPM より頂いてきて "rpm -Uvh" する。この順番でやれば良い。
kpathsea-3.2-5jrpm_rh.ppc.rpm
kpathsea-devel-3.2-5jrpm_rh.ppc.rpm
pTeX-2.1.8-5jrpm_rh.ppc.rpm
pTeX-MetaFont-2.1.8-5jrpm_rh.ppc.rpm
pTeX-MetaPost-2.1.8-5jrpm_rh.ppc.rpm
pTeX-jtfms-2.1.8-5jrpm_rh.ppc.rpm
pTeX-tfms-2.1.8-5jrpm_rh.ppc.rpm
asiya24-1.0-1.noarch.rpm
watanabe-vf-1.0-1.noarch.rpm
vftool-1.2-1.noarch.rpm
vf-1.0-9.noarch.rpm
pLaTeX2e-19980901-1jrpm.noarch.rpm
pLaTeX2e-MFsrc-19980901-1jrpm.noarch.rpm
pLaTeX2e-pLaTeX209-19980901-1jrpm.noarch.rpm
pLaTeX2e-tfms-19980901-1jrpm.noarch.rpm
LaTeX2e-amslatex-1.0-0.noarch.rpm
LaTeX2e-graphics-1.0-0.noarch.rpm
LaTeX2e-tools-1.0-0.noarch.rpm
dvipsk-5.78ajp-5jrpm_rh.ppc.rpm
xdvik-20cjp-6jrpm_rh.ppc.rpm
と、思っていたのだが、ところがどっこい、ls-R ができそこないだと怒られまくる。そして、文句を言われるだけなら知らんぷりもできるが、xdvi も dvipsもフォントを生成してくれない。何が変わったのかといろいろ思いあぐねた結果 ls -LAR ./ で、頭に ./ がつかなくなってしまったことに思い至る。これは、新しい、fileutils の仕様のようである。というわけで mktexlsr を変更して逃げることにした(99/06/17 パッチ更新)。
--- pTeX-2.1.8/web2c-7.2/kpathsea/mktexlsr.orig Thu Jun 17 22:30:52
1999
+++ pTeX-2.1.8/web2c-7.2/kpathsea/mktexlsr
Thu Jun 17 22:32:42 1999
@@ -107,7 +107,10 @@
until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
chmod $PERMS "$db_file_tmp"
rm -f "$db_file"
- mv "$db_file_tmp" "$db_file"
+# mv "$db_file_tmp" "$db_file"
+ sed -e 's%^\.:$%\./:%' -e 's%^\([^.].*:\)%\./\1%' \
+ "$db_file_tmp" > "$db_file"
+ rm -f $db_file_tmp
done
tty -s && echo "$progname: Done."
exit 0
てな感じのダーティーパッチ。取り合えずこれで ls-R が復活した。この問題は、pk をいっぱいため込んでいると気づかなかったかもしれない。
さて、xdvi も動くようになったので、後は選択プリントができるように SeeTeX を入れましょうと "rpm --rebuild" を試みるも敗退。理由は、"varargs.h" でなく "stdarg.h" 仕様だと思ってしまうこと。そこで、CFLAGS から POSIX 指定をはずしてやる必要がある。
STD_DEFINES = -Dlinux -D__powerpc_ -D_BSD_SOURCE -D_SVIO_SOURCE
くらいにするように SPEC を変更した。
SeeTeX-2.19J-3.src.rpm
dviconcat-2.19J-3.ppc.rpm
dviselect-2.19J-3.ppc.rpm
ができたので ppc.rpm を、"rpm -ivh" する。そこで、xdvi の中から選択プリントを試みるも敗退。だが、dviselect を単独で使うとページが選べるので xdvi の設定の問題と思われる。悩むのは面倒なので、デフォールトで出るように xdvi を作りなおそうか?というわけで結局作り直すことに。といってもただ "rpm --rebuild" しただけ。
xdvik-20cjp-4.0a.ppc.rpm
とちょっと古いが、元の大きさに戻れるようにパッチを当てた奴なので我慢する。
JRPMのは、一旦シュリンクするとボタンではもとの大きさに戻れない。
[3-5] Perl-5.005_03jp990503-1a
さて、ここで、latex2html が動かしたくなるので日本語 perl と欲が出てくる。これは、基本的には JRPM の再コンパイルだが、pthread ははずしてある。また、要注意なのは、db1 を使うようにパッチをあてる必要があること。これは英語版の SRPM から抜き出してあてる。と、テストに全てパスするようになる。
perl-5.005_03jp990503-1a.src.rpm
perl-5.005_03jp990503-1a.ppc.rpm
ができたので ppc.rpm の方を "rpm -Uvh --oldpackage" する。latex2html-97.1-4
との組み合わせでかなり大きな日本語 TeX の文書が html に化けてくれる。
[3-6] Old Tcl/Tk Applications
取り合えず、古い Tcl/Tk でしか動かない TkDesk を使うために古い Tcl/Tk を入れる。pre-R5.ja の jp-tcltk と jp-TkDesk の組み合わせは私の環境ではコアを吐いてしまった。仕方なく再コンパイルで
jp-tcltk-7.6p2_4.2p2-2b.ppc.rpm
jp-TkDesk-1.1-2b.ppc.rpm
を作って "rpm -ivh" した。tcltk は以前のようにいくつかテストに落ちるが、segfault することはない。ただし、tcl7.6 は、ENOTSUPP マクロが case 文に2回現れる(Linux では ENOTSUPP = EOPNOTSUPP なので)と怒られる。ならば消してしまう。ついでに
jp-blt-2.4h-1a.ppc.rpm
jp-tkmail-4.0beta9-2e.ppc.rpm
jp-ical-2.2-1c.ppc.rpm
も "rpm --rebuild" して入れておく。
[4] X 関連のカスタマイズ
[4-1] やっぱり、enlightenment + gnome は PM8115/110 には無理
かっこいいので残念であるが、我がマシンでは AfterStep ですら重すぎるのだ。もう少しましなマシンであれば、/etc/sysconfig/desktop に AnotherLevel と書き、$HOME/.wm_style に AfterStep と書けばよいのだが、それもままならない。仕方なく .Xclients を
#!/bin/bash
#--
# Set mouse acceleration paramaters
#--
xset m 4 2
#--
# Set the background color
#--
xsetroot -solid "#185f6a"
#--
# Start some nice programs
#--
# ical -iconic &
kinput2 -wnn &
tkdesk -fvwm &
#--
# Start the window manager and wait for it to finish
#--
exec fvwm2
などという情けないものに代える。ファイルマネージャーとしては、使い勝手を言うならば TkDesk がまだまだ一番だと思う。KDE も GNOME もかっこいいファイ ルマネージャーをもっているが、作者自身が実際に使い倒しているという意味において、TkDesk はかゆいところに手が届く。Tcl/Tk なので新機能の追加も容易。 Solaris や HP-UX の CDE もスクリプティングの設計は単純でありつつもオブジェクト指向にできていてカスタマイズしやすいが、デフォールトの設定を見る限り、開発者が自ら使っているとはとうてい思えない。おそらく開発者は、端末と vi あるいは emacs だけで生活している人たちであろう。ただし、設計は良いので、その気になればほとんどのことがマウスだけでできるまでにカスタマイズできる。GNOME や KDE に関しては調査していないが、どうなのだろうか?
ちなみに .fvwm2rc は 2.0.47 で使えていたものがうまく動かない部分(ページャーをボタンに張り付ける部分)があった。
*FvwmButtons(3x1) - whatever Swallow "FvwmPager" Module FvwmPager 0 2
を
*FvwmButtons(3x1) - whatever Swallow "FvwmPager" "Module FvwmPager 0 2"
にしなければダメだった。これは、古いバージョンと共立しない。ま、とにかくこれで、X
が耐えられるスピードで動くようになった。
[4-2] Delete を BackSpace にしておこう
ついでに .Xmodmap もアップル英語版拡張キーボードに合わせて
keycode 59 = BackSpace Delete
keycode 125 = Delete BackSpace
などとしておく。keycode は xev で調べる。このマシンでは必要ないが、PB
などのコンソールでは showkey で調べ、/usr/lib/kbd/keymaps/mac/ 以下のマップファイルを変更する。
[5] 仕事関係のインストール
[5-1] tdr-1.7-1
"rpm --rebuild" で終わり。
[5-2] 大仕事 cernlib
まずは cern よりソースを取ってこなくては。CERNLIB-99 より、昨年 CERN
に送った、MkLinux 用のパッチが統合されたので今回の移植は楽なはずである。ただし、glibc2.1
になったことが少し気にかかる(glibc-1.99 はバージョンナンバーからも推察されるように、libc5
よりはずーっと glibc2 に近い。ほとんど 2 というのが 1.99 の気持ちだと推察するが、少し違っていても驚かない)。ま、試さなければ分からない。
今回は、アーカイブを作るときにも PIC FLAG をつけてコンパイルすることを忘れないでおこう。