kernel 進化の影響 (96/09/15)

kernel2.0.xx に上げるには結構手間がかかるもんだなぁ。 とふと思った。だってまだ終わらないんだもん。

でもこういう作業って好きだけどネ

ささ、続き続き。

まずは pstop 等の為の procps-1.01.tar.gz を…。 と思ったけど、これをコンパイルする為には先に ncurses-1.9.9e.bin.tar.gz をインストールしなくちゃ。

作業は簡単。

cipher:~# tar xfz ncurses-1.9.9e.bin.tar.gz -C /
cipher:~# /sbin/ldconfig -v
だけだ。ncurses-1.9.9e.bin.tar.gz を展開するときに、たくさんの エラーメッセージが出てくるが、この際無視。どうせそのほとんどがシンボリッ クリンクが既に張っているが為に新しく張れないってだけだから。

というわけで続けて procps-1.01.tar.gz をインストールしちゃお。 まずは展開から。

cipher:~# ls -l procps-1.01.tgz 
-rw-rw-rw-   1 root     bin        285150 Jun 13 09:01 procps-1.01.tgz
cipher:~# tar xfz procps-1.01.tgz -C /usr/src
cipher:~# cd /usr/src/procps-1.01/
でインストールであるが、極簡単に
bash# make distclean
bash# make
bash# make install
で良い。その後インストールした /bin/ps を動かしてみよう。
cipher:~# /bin/ps
  PID TTY STAT  TIME COMMAND
   72   1 S    0:00 /sbin/agetty 38400 tty1 linux 
   73   2 S    0:00 /sbin/agetty 38400 tty2 linux 
   74   3 S    0:00 /sbin/agetty 38400 tty3 linux 
   75   4 S    0:00 /sbin/agetty 38400 tty4 linux 
   76   5 S    0:00 /sbin/agetty 38400 tty5 linux 
   77   6 S    0:00 /sbin/agetty 38400 tty6 linux 
 1214  p3 S    0:00 bash 
 1732  p3 R    0:00 /bin/ps 
ところで、この procps-1.01.tar.gz というのは freekillall/usr/bin/ にインストールされる。けれど私の cipher では元々 /bin にインストールされていた。
cipher:~# ls -l /bin/{free,killall}
-rwxr-xr-x   1 root     bin          4849 Aug  7  1995 /bin/free
-rwxr-xr-x   1 root     bin          7317 Aug  7  1995 /bin/killall
cipher:~# ls -l /usr/bin/{free,killall}
-r-xr-xr-x   1 bin      root         5724 Sep 15 11:56 /usr/bin/free
-r-xr-xr-x   1 root     root        21382 Sep 15 11:56 /usr/bin/killall
この /bin/ にインストールされていたほうはあると邪魔なんで消去し ちゃう。だって PATH の関係で面倒を起こしたくはないもんね。

それと中には xload をコンパイル中に

/usr/X11R6/lib/libXt.so: undefined reference to `XkbLookupKeySym'
というエラーで止まる人がいるかもしれない。その場合は /usr/X11R6/lib/ にある libX11 関係を見てみよう。
cipher:~# ls -l | grep libX11
-rw-r--r--   1 root     root      1035328 May 15 06:32 libX11.a
-rw-r--r--   1 root     root       225818 May 14 19:30 libX11.sa
lrwxrwxrwx   1 root     root           13 Jul 27 06:52 libX11.so -> libX11.so.6.0
lrwxrwxrwx   1 root     root           13 Jul 26 23:40 libX11.so.6 -> libX11.so.6.1
-rwxr-xr-x   1 root     root       590068 Jul 23  1995 libX11.so.6.0
-rwxr-xr-x   1 root     root       704487 May 15 06:31 libX11.so.6.1
このように libX11.so のシンボリックリンクが間違っているかもしれ ない。その場合は
cipher:~# ln -fs libX11.so.6.1 libX11.so
というふうに張り直しておこう。

え、こんなの私だけ?

そうかもしれない…。(;_;)

本日最後に util-linux-2.5.tar.gz をインストールする。その理由は…

cipher:~# /usr/bin/cal
     (null) 1996
       
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
cipher:~# /usr/bin/cal 1996
                               1996                                

Segmentation fault
これである。さてこの util-linux-2.5.tar.gz のインストールもそれ 程難しくはない。まずは展開。
cipher:~# ls -l util-linux-2.5.tar.gz 
-r--r--r--   1 root     root       487424 Sep 15 17:40 util-linux-2.5.tar.gz
cipher:~# tar xfz util-linux-2.5.tar.gz -C /usr/src
cipher:~# cd /usr/src/util-linux-2.5/
cipher:~# ls
ANNOUNCE		  disk-utils		    sys-utils
COPYING.GPL		  example.files		    syslogd
COPYING.UCB		  games			    text-utils
LSM			  getpoe.sh		    uio.h-diff
MCONFIG			  historic		    util-linux-2.1.Announce
Makefile		  install-sh		    util-linux-2.1.bin.Notes
Notes.pre1995		  login-utils		    util-linux-2.1.lsm
README			  misc-utils
bsd			  mount
次に MCONFIG ファイルを自分の環境に合うように編集する。中に説明 がついているが、一応簡単に示す。しかぁし、こんな私の説明なんぞ信じずに 自分で読んだほうが正確なことは間違いないであろう。:-P

なおカッコの中は私の設定である。

HAVE_SHADOW(no)
HAVE_SHADOWyes に設定すると login, chfn, chsh, newgrp, passwd, vipw を作成、インストールしない。 (shadow passwd には対応していない為)
REQUIRE_PASSWORD(yes)
このパッケージの chfnchsh を使う場合、 REQUIRE_PASSWORDyes に設定すると root 以外のユーザには /etc/passwd に反映する前にパスワードを 確認する。
ONLY_LISTED_SHELLS(yes)
このパッケージの chsh を使う場合、 ONLY_LISTED_SHELLSyes を設定すると /etc/shells の中からログインシェルを選ぶことになる。
HAVE_PASSWD(no)
HAVE_PASSWDyes に設定すると passwd は 作成、インストールしない。(しかし login,chfn, chsh, newgrp, passwd, vipw は別)
HAVE_SYSVINIT(yes)
HAVE_SYSVINITyes に設定すると simpleinit shutdown は作成、インストールしない。 (SysVinit を使う人の為)
HAVE_SYSVINIT_UTILS(no)
HAVE_SYSVINIT_UTILSyes に設定すると last, mesg, wall は作成、インストールしない。 (SysVinit を使う人の為)
HAVE_GETTY(yes)
HAVE_GETTYyes に設定すると agetty は作 成、インストールしない。
USE_TTY_GROUP(no)
USE_TTY_GROUPyes に設定すると wallwrite をインストールする際、tty グループで Set GID をする。
HAVE_STRINGS(yes)
HAVE_STRINGSyes に設定すると strings を作成、インストールしない。
HAVE_CLEAR(yes)
HAVE_CLEARyes に設定すると clear を作成、インストールしない。
HAVE_SYSLOGD(yes)
HAVE_SYSLOGDyes に設定すると syslogd を作成、インストールしない。
HAVE_FDISK(no)
HAVE_FDISKyes に設定すると fdisk を作成、インストールしない。
設定はできたかなぁ。では早速コンパイル&インストールだ。
cipher:~# make
cipher:~# make install
これでインストール完了である。
cipher:~# cal
   September 1996
Su Mo Tu We Th Fr Sa 
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
とりあえずこんなものかなぁ。あと をインストールしたほうが良いそうだけど、コレは後のお楽しみってことで。 きっと何か問題が表われたときに作業することになるであろう。ってか。(^^;

今日はルンルンのスィッチオフ。

戻る