metalab(旧 sunsite)や cdrom からlibc-5.4.44.bin.tar.gz を取得する。(5.4.46でないのは手元のCD-ROMに入っ てなかったから)附属の 文書を良く読むこと。基本的には以下のような操作をする。(がこれを信じてその まま実行して何が起きてもしらないよ。)
失敗した場合システムが立ち上らなくなるので慎重に作業する。FDや非常用のパー ティションから起動して復旧作業できる手段を用意しておくこと。Slackware な らrescue.gz を使えるはずである。
libcのupgradeによって make が動かなくなることがある。これはREADMEに書い てあるが本当である。私の場合は slackware の新しめのversionからバイナリを コピーして済ませた。
cd / rm -f /lib/libc.so /lib/libm.so rm -f /usr/lib/libc.so /usr/lib/libm.so rm -f /usr/include/iolibio.h /usr/include/iostdio.h rm -f /usr/include/wcstr.h /usr/include/mbstr.h rm -f /usr/include/ld_so_config.h /usr/include/localeinfo.h rm -rf /usr/include/netinet /usr/include/net /usr/include/pthread gzip -dc /cdrom/source/d/libc/libc-5.4.44.bin.tar.gz | tar xvf - |
Slackware 3.3に入っていた patch が古くて rpm をビルドするときにpatch当て に失敗することがあったので patch のバージョンを上げた。実は patch-2.5の rpm のビルド自体が失敗したので ソースから一度 コンパイル、イ ンストールした後,rpm -ba で rpm を作って rpm -i でインストールした。
info形式のドキュメントのインストールに install-info コマンドを使うパッケー ジがある。これは texinfo に含まれている。install-info は /usr/local/bin にインストールした。Redhat では /sbin に置かれている。このため後のパッケー ジでは若干修正する必要が生じている。
install-info は rpm のパッケージにはしていない。
rpm-2.5バイナリで配布されている rpm コマンドは PAM 対応なので 非PAMなシ ステムではそれを使ってビルドする時に問題が発生することがある。rpm -i な どでインストールしたりするときは大丈夫ようなのだが。
rpm をソースからビルドするのは普通にビルドするだけでよい。configureが適 切に PAM/非PAM を判断してくれる。rpm 自体をインストールするときは rpm --initdb されるので注意。
これは 2.2 が起動した後にインストールする方が良い気がするが私は最初にやっ てしまった。このバージョンを普通の kernel2.0シリーズで使うには次のパッチ が必要である。
=================================================================== RCS file: include/kerneld.h,v retrieving revision 1.1 diff -u -r1.1 include/kerneld.h --- include/kerneld.h 1999/02/03 12:39:15 1.1 +++ include/kerneld.h 1999/02/03 12:39:27 @@ -30,8 +30,6 @@ { long mtype; long id; - short version; - short pid; char text[1]; }; |
一部のプログラムではコンパイルに kernel のヘッダファイルを必要とし ている。/usr/src/linux に 2.2.x のソースを展開しさらに make menuconfig等 で config.h を作っておく。実際にコンパイルする必要は無い。
Sunsite から GCC/g++-2.7.2.8.bin.tar.gz を取得して以下のようにした。
cd / rm -rf /usr/include/g++ /usr/lib/libstdc++.so /usr/lib/libg++.so gzip -dc /cdrom/Sunsite/GCC/libg++-2.7.2.8.bin.tar.gz | tar xvvf - ldconfig /usr/lib |
install-info のパスを /usr/local/bin に変えた以外は redhat-5.2 のものを そのまま使用してビルド・インストールした。
サイズが大きいのでここには置かない。
この rpm は rpm -bbなどでパッケージをビルドする際にシステムの/bin,/usr/bin に直接変更を加えてしまうので注意。
pppd-2.3.3 のまま
5/20追記pppd-2.3.3, pppd-2.3.5 では ppp 接続を2、3度繰り返した後接続に失敗するよ うになった。最初は pcmciaのシリアル関係の不具合か,setserialの問題かと思っ たが違ったようだ。 cu -l ttyS2 では通信がちゃんと出来るのだが chat < /dev/ttyS2 > /dev/ttyS2 "" AT OK が通らない。
どうもシェルのリダイレクトで ttyS2 をオープンすることが出来なくなるらし い。たとえば正常に動作するときは true < /dev/ttyS2 に対しすぐプロンプ トが帰ってくるが、おかしくなるとプロンプトが変えらず C-c でシステムコー ルを中断したというメッセージが出る。(system call interuptedだったか?)
pppd-2.3.8 にバージョンを上げたところ解決しているようだ。(pppd のchanges はどこにあるのだろう。)
GNU bash, version 1.14.7(1) だったのでそのまま。
autofs は導入済みだったのでそのまま。 パッケージには redhat と debian のスクリプトは用意されているが,slackware 用は無い。newsの記事から貰ったスクリプトに少し手を入れて使用している。
既に autofs-3.1.3 が出ている。
認証にからむコマンドは既存のものを使用して util-linux からは使わない。
カーネルのコンパイルを参照。使っているカードは次のとおり。
ftp://ftp.mathematik.th-darmstadt.de/pub/linux/okir/nfs-server-2.2beta40.tar.gz にbeta40が無かったのでb37。
手順は 2.0 と変わらない。
cd /usr/src/linux make menuconfig make depend make zImage make modules make modules_install cd ../pcmcia-3.0.9 make config 適当に質問に答える。 make all make install cp arch/i386/boot/zImage /vmlinuz-2.2.x-x /etc/lilo.conf を書換え lilo |
私の.config
driver,lib,utilをそれぞれ ./configure && make && make install する。
/etc/conf.moduls(libretto 70用)
alias char-major-14 soundcore alias char-major-116 snd #options snd snd_major=14 snd_cards_limit=2 options snd-opl3sa snd_index=1 snd_port=0x370 snd_wss_port=0x530 \ snd_midi_port=0x330 snd_fm_port=0x388 snd_irq=5 snd_dma1=0 snd_dma2=1 \ snd_dma1_size=64 snd_dma2_size=64 alias snd-slot-0 snd-opl3sa alias sound-slot-0 snd-slot-0 alias sound-service-0-3 snd-pcm1-oss alias sound-service-0-12 snd-pcm1-oss keep path[pcmcia]=/lib/modules/`uname -r` path[pcmcia]=/lib/modules/default path[pcmcia]=/lib/modules/preferred path[pcmcia]=/lib/modules/default path[pcmcia]=/lib/modules/preferred |
redhat のものは man pages を gz圧縮していない。一方slackware3.3では圧縮 している。このため新旧のファイルが混在してしまう。man のディレクトリで gzip -f * などとして整理した。
2.2にしたからといって見た目が変わったり今迄の機能が無くなっていたりはし ないのでユーザとして使う分には全く変化を気にせず使える。
管理者的には ip周りの route 設定や halt に "-p" を追加するなどちょっとは 変えたけれど。
体感速度は確かに向上している。ktermのスクロールや、ウィンドウのレイズ等 が速くなった気がする。Windows(TM)から samba のフォルダを見たときも表示さ れるのが速くなった。
一度ネットワークeth0が不安定になった。ping が1秒近くかかる。挿抜で復 旧それからは一週間以上たつが起きていない。
3/31にも再現した。挿抜で復旧。ハブなしでクロスケーブルで継いでいるのが影 響しているのだろうか?
smbmount は samba-2.0.x 附属のものを使うように指示されている。書式も変更 されいて automount に変更が必要になっている。しかもパスワードをコマンドラ インに書かなくてはいけないのは、どうにかならないものだろうか。