84.FreeBSD-2.2.5-RELEASEのネットワークインストール、カーネル再構築    目 次


FreeBSDをCD-ROMの付いていないPSV/DX−2/66MHzに入れるには、簡単な方法としてはLAN上にある他のUNIXからFTPでいれることだろう。

サーバ側の準備
1.FTPサーバの入り口となるディレクトリに「2.2.5-RELEASE」というディレクトリを作る。

FreeBSD-2.2.5-RELEASEの標準FTPd(FTPサーバ)の場合、入り口は、/var/ftp である。

以下は、大文字小文字はそのまま守る事(case sensitiveである)
   cd  /var/ftp
   mkdir  2.2.5-RELEASE


 註; ここではFreeBSD-2.2.5-RELEASE を使っている。98年頃買ったサーバ本の付録で、今や相当古いが、それだけに小さく軽くて軽快である。虫も結構居る^^;。家の中で使うもので、セキュリティはほとんど考えなくて良いので、新しいが独活の大木のようで鈍重な版は使いたくない。

版が変わる毎にCDへの格納の仕方が違うのでマウントポイント/FTPの入り口となるディレクトリはそれに合わせる。例えば、2.2.1では、CDの中に、このようなディレクトリが有って、OS本体はその中にあるので、サーバ側ではCDを単に /var/ftp にマウントするだけで良い。FTPクライアントは、ここにanonymousFTPしてくる

 mount -t cd9660 /dev/wcd0c /var/ftp

     ATAPI;wcd   SCSI;cd

しかし、2.2.5では、CDのルートにいきなりいろいろなディレクトリが展開していて、2.2.5-RELEASEというディレクトリがない、それにもかかわらず、インストールFDでFTPインストールを選ぶと、FTPの入り口(これは上述したようにFTPサーバが決めていてデフォールトでは/var/ftpになっている。vipwで変えられる)で2.2.5-RELEASEを探して、こけてしまうのである。上とは異なる解決法

anonymousFTPって何と思った人は、Windowsでもう少し遊んでいた方が良いでしょう^^;;。Windowsでも一応、FTP、TelnetなどのDOSプロンプトは、玩具ですが、あり、それらのサーバもGUIのFreeの物 があるので、それらの分かりやすいもので概念を知った上でないと、とてもじゃないですが、Unixは無理です。


標準FTPdとは、WU−FTPd のように自分で/stand/sysinstallかpkg_addでインストールした物ではなくて、デフォールトでOSインストール時に、有効にするかどうか聞いてくるもの(Linuxでは聞いてこない。勝手に有効になっている)。 この時、有効にしていなければ、勿論、動いていないので、以下の方法はとれない。

このFTPdの設定ファイルはなくて、vipwでftpというユーザを編集することになる。たとえば、上記のデフォールトのftpの入り口/var/ftp などはここで変更できる。

2.FTPサーバに、FreeBSD-2.2.5のCD−ROMを入れて、/vat/ftpにマウントする。

 mount -t cd9660 /dev/wcd0c /vat/ftp

/dev/wcd0cはATAPIのCD−ROMの場合。
scsiの場合は、/dev/cd0c とする。

註;
「0c」の「0」は1台目のCD−ROM。以下、1,2,3...の順に、2台目、3台目、4台目という意味。 「c」は、そのCD−ROMの全体を意味する。 FreeBSDでは、ここは、a,b,c,d,e,f,g,h,のようになっていて、a=/(ルート)、b=swap、c=そのパーテション全体、d=未使用?。。。を意味することのようになっているらしい。


クライアント側
3.インストールFDから起動

最初の選択画面が「kernel Configuration Menu」である。通常は、何もせず、c/r(Enter)を押すが、ネットワークインストールの場合、NICのIRQとI/Oポートを設定する必要があるので、2番目の「Start Kernel Configuration in Visual mode」を選ぶ。三番目の「in CLI mode」を選ぶとCLI=Command LIneモードでの操作となるので止めておいた方がよい。コマンドを知らなければ立ち往生する。そんなものは堅気の人間は知らないのだから。


4.NIC(Network Interface Card;イーサーネットアダプターの事と思っておけば良い)のI/Oポートと、IRQを設定する。

この辺はインストール本が必要。FreeBSDは本当に操作が分かり難い。と思ったらこんな丁寧なHPがあった。簡単にいえば、画面は概ね3段に別れていて、上段がenableになっている(使える)周辺機器、中段がdisable(使えない状態)になっている機器、下段が選択された機器の情報。collapseとは、大項目を小項目に展開する事。大項目にカーソルを持っていきEnterを押すと、小項目が出てくる。ここでは、Networkの所にカーソルを持っていって、Enterを押せば、collapseし、いろいろなメーカのNICが表示されるから、その中から自分のものを選ぶと、下の方に、I/Oport、IRQが表示されるので、カーソルを持っていって、BackSpaceで現在の値を消して、NICの正しい値を入れる。何度か操作すれば、骨がつかめるだろう。

居候は、以前、Acer ALN−101という、NE2000フルコンパティブルのISA/PnPのNICを使ったが、偶々であろうが、こんな事はせずに動いてしまった。今回、そこいらに転がっていた板を使ったら、動かなかった。PnPはこの頃のUnixでは扱いが難しい。NE2000のデフォールトでは、I/O=0x300、IRQ=3である。FreeBSDのデフォールト設定では、ed0もed1もこうはなっていないので動かない。ALN−101もこうはなっていなのになぜか動いた。

ところで、良く、Win9xをデュアルで入れておいて、デバイスマネージャでそのIRQなどを調べて、その値を使えば良い、という話があるが、これはPnPの場合、だめである。うまくいくかいかないかは、まあ、偶然である。このあたり、PnP-OSとPnP-BIOSとPnP機器の間でどんなネゴをしているかによる。PnP−OSとPnP-BIOSの間ではESCDという情報を共有しているが、必ずしもOSがこれを使うとは限らない。PnPデバイスの資源もそれで固定されフラッシュメモリなどに書き込まれてそれを毎回使うことになっていればBSDに移っても、それらの値が固定されているので使えるだろうが、そうはなっていないNICがある。上記のそこいらに転がっていたNICがそうで、Win95で見た値をBSDに設定してもだめであった。D−Link200である。これもISAのPnP、NE2000互換。そこで、付属のコンフィギュレーションソフトを使って、PnPを切り、jumperlessモード(jumperではなく、ソフトでIRQなどを設定できるという意味)にして、IRQ、I/Oポートを固定して動いた。

5.これで、起動して、ed0がI/Oポートの0x280で見つかったなどの起動メッセージが出たらひとまずOK

見逃してしまったら。dmesgコマンドで不完全ではあるが起動メッセージを再現できる。ただ、IRQが正しくなくてもこのメッセージは出る。IRQが間違っていると、この後、ed0 device timeoutになる。今度は、正しいIRQを探そう。

動いていることの確認は、他のPCからpingを打ってみるのが一番確かである。ループバック(127.0.0.1)や、自分自身のIPアドレスにpingしても、TCP/IPスタックが動いている、つまりソフトが動いているということが分かるだけで、必ずしも、NICが動いていることにはならない。NICが動いていなければ、応答がないが、応答があったからといって、まともに動いているわけでもない。このあたりはNICの作り方によるのか様々であり、グレーな領域である。

6.上記で、NICが動いたら、このIRQ、I/Oポートでカーネルを再構築しておく

cd  /usr/src/sys/i386/conf
cp  GENERIC mykernel
vi  mykernel

ident  GENERICを  ident  mykernel

このとき、インストール本にあるようにernelなんて面倒なことは止めた方がいい。また、数字が入ると、config時にエラーが出る。この時は、ident  "mykernel01"のようにquoteしておく。

ここの意味は、同じdirectoryにあるLINTを読めば分かる。化石のようなMitsumi、Sony、Matsushitaの独自方式CD−ROMや、fd1(2台目のフロッピー)、あらゆるSCSI、NICなどがカーネルを肥大させているので、このコンフィギュレーションファイルから徹底的にコメントアウトしておくと、整理が出来ていい。居候のmykernel

このmykernelの多少の注意事項;
・routerなので、NICは2枚、ed0とed1が刺さっている。1枚なら、ed1はコメントアウトする。
・このFMV100は、周知のようにIDEに虫がいて、Secondaryが使えない。PrimaryのMasterにHDD、SlaveにCD−ROMが付いていたのには驚いた。それで、wdc1をコメントアウトしているが、普通の真っ当なPCではこのコメントアウトは必要ない。というより、CD−ROMはこちらに付けてHDDと隔離するのが普通だから、コメントアウトしてはいけない。

尚、この欠陥は、BSDではソフト的に回避しているとのこと、下記のoptionがそうである。
  options  "CMD640"  # work around CMD640 chip deficiency

・scsiは使っていないので、scsi関係は全てコメントアウトしてある。
・MATH_EMULATEはFPUのエミュレーション;486以上ではMPU機能があるのでコメントアウト

FreeBSDでは、NICの導入はこれだけで、非常に楽である。


カーネルの再構築も簡単で、上記のmykernelというコンフィギュレーションファイルを作ったら、

/usr/src/sys/i386/conf内で、
config mykernel
次に、
cd ../../compile/mykernel
make depend;make

これでエラーが出ていなかったら、

make install

結局;

1.config mykernel
2.cd ../../compile/mykernel (configがこのように言ってくれる)
3.make depend;make
4.make install

の4段階で良い。(3.make depend;make;make installという手もあるが、これは恐い)

しかも、make depend;make 時間は、DX4/100(Pentium/75MHz程度)で17分。DX2/66MHzで、40分程度である。Celeron/450MHzなら、きっと1分かからないだろう。cacheの大きいのが効くだろうから。ところで、2000年頃のLinux2.2.16では、MMX−Pentium/200MHzでも45分位かかった。





もう一つの方法;

FTPサーバにWin9x/NTを用いる。

この場合、TinyFTPd が良いだろう。   使い方

FTPサーバの設定(FTPとしての常識的なものは省く)

 ・ユーザとして「anonymous」を作り、パスワードは「要求しない」とする。

TinyFTPdの「ユーザ編集」のページの右端にある「項目の制限」の「汎用性重視」と「簡単な設定」 の両方からチェックをはずしておかないと、パスワードは「要求しない」とできない。

 ・anonymousのホームディレクトリは、CD−ROMのドライブとする;

 例; E:¥

上述したように、FTPクライアントは、2.2.5-RELEASEを探すのだが、Unixの場合と違って、mount機能がないので、この2.2.5-RELEASEディレクトリをE:¥の下に作ることができない(CD−ROMには、MDできないですよね)。HDDのD:¥にE:¥のショートカットを作り、この名前を2.2.5-RELEASEとし、anonymousのホームディレクトリをD:¥にしたが、だめであった。

ところで、2.2.5-RELEASEを探すかどうかは、実は、FTPクライアント側で設定できるので、そちらで解決する。よって、サーバの設定は以上で終わりである。

FTPクライアント(インストール側)の設定
 ・/stand/sysinstall  としてメニューを出す
 ・オプションという項目を選ぶ
   メニューの中で、「オプションエディタで編集せよ」、とあるのはこれのこと。
   もっと、分かり易く書けないのかねえ。
   この中で、FTPusername がftpとなっているので、ftpの所ににカーソルを持っていき
   スペースを叩くと、書き換えられるモードになるので、「anonymous」とする。続いて、パスワードの設定となるので、Enterだけを入れて、設定しない。本来、anonymousFTPでは、ユーザ名「ftp」と「anonymous」は同等であるが、tFTPdではftpは拒否されてしまった。

   この何行か下に、「2.2.5-RELEASE」という文字が見える。これが、FTPクライアントが探すディレクトリ名なので、ここにカーソルを持っていき、スペースを叩き、「none」と書き換える。

FTPクライアントがどういうユーザ名で、FTPサーバにアクセスしているのかわからなかった。上の囲み記事ではanonymousでアクセスすると、書いた。FTPからのインストールを選択すると、そういうメッセージがでるからであり、UnixのFTPサーバ側で、特になにかユーザを設定しなくても、インストールできたからである。

ところが、UnixとWindowsは誠に相性が悪い。なぜか、FTPでアクセスできないことがある。エラーで終了する。tFTPdには、アクセスされたが、パスワードが不正であったと出ている。tFTPdのanonymousの設定ではパスワードは要求しないとしているのにである。では、一体、どういうユーザ名でアクセスしているのだろうか?それがこのオプションをみると、ftpであるということになる。気をつけて見ていると、アクセス時に、「ftp@相手のドメイン名(またはIPアドレス)」でアクセスしますと、表示される。UnixのFTPでは、自動的にftp=anonymousとなるが、tFTPdでは、ユーザ登録もユーザの仕事であるので、自分でftpをユーザとして登録しないと、anonymousFTPできない!! 上のようにオプションで、ftpをanonymousに書き換えるか、tFTPdに、ftpをパスワードを要求しないユーザとして登録しなければならない。

これでも、必ずしも、アクセス出来るわけではない。FTPとしては入れるのであるが、
PlamoLinuxの項 でも述べたように、ファイルにアクセスできない事がある。そんなファイルは無いと出る。caseの問題だろうか。





85.TurboLinux日本語版6.0 Kernel2.2.16でのカーネル再構築の方法    目 次


Linuxのカーネル再構築は、段階は多いは、バージョンで方法が違うはで、とても面倒。

0.カーネルコンパイルの前に、すべき事;

TurboLinuxのこのバージョンにはいきなり虫が居る;

  /usr/src/linux/Makefile

をviで開き、
        2個所ある「egcs」を「gcc」に変更しておく

でないと、           egcs not found error 127

が出る。Distribution によるらしい。バージョンナンバー不一致の為らしい。
         egcs : 実験的なGNUの強力・最新コンパイラ

カーネルのコンパイル

Linuxでは、バージョンにより、いろいろ方法が異なり、コマンド名まで異なるので、ややこしくてかなわない。インターネットで探すと、実にいろいろあって、しかも、コマンドの機能が異なるようなので、何がなんだか分かり難い。そんなこんなでLinuxは嫌いであったのだが、夏休みの暇潰しに調べてみた。

 古いカーネルの保存

  cp  /boot/vmlinuz-xx.xx    /boot/vmlinuz.old
    # vmlinuzはリンクなので
    # 必ず、-xx.xxというバ−ジョンナンバが付いている実体をCPの事

  cp  -r  /lib/modules/2.2.16.xx/    /lib/modules/2.2.16.xx.old/
   #モジュールをバックアップ

コンパイル
cd /usr/src/linux/ ここへ移る
(make mrproper ) 古い作業ファイルの削除。xconfig(menuconfig,config)で折角作ったconfiguration fileまでデフォールトに戻されてしまうので、意味が分からなければは、やらない方が良い
Xウィンドウにして、

make xconfig
FreeBSDのmykernel作りに相当。カーネルにどんな周辺機器のドライバを組み込むかを設定する。設定ソフトは3つある。Xウィンドウでのxconfigが分かりやすくて良い。x-windowで使う。
menuconfigは、コンソールでxconfigのようなGUIにしたもの。x-windowを使っていない時に使う。
configは捨てるべし。 adduserみたいに一行ずつ聞いてくるので、質問が何のことかわからないと焦る。そんな時は、黙ってc/r。色々な機器があるものだ。さすがにLinux。

このファイルは/usr/src/linux/.config
make dep;make clean make dep;make clean; 左記はこのように1行です。
clean は不要ファイルの削除。BSDでは、configが勝手にやる。
下記3方法の内どれか一つを実行;

1.make bzImage
  (コンパイルのみ)

2.make bzlilo
  (コンパイルしてインストール)

3.make bzdisk
  (コンパイルしてカーネルをFDにインストール)
カーネルコンパイル
 make bzImage;BSD-2.2.5のmake相当。カーネルがコンパイルされ、/usr/src/linux/arch/i386/boot/bzImage におかれる。

 make bzlilo もカーネルコンパイルだが、インストールまで一気に行う。BSDのmake;make installに相当。古いカーネルと入れ替えられるので、コンパイルが誤って、起動しない時の処置 をこのコマンド実行に先立って講じておかないと(古いカーネルを保存して、Boot時に指定できるようにしておく)、恐い。

 make bzdiskは、make  bzImageをして、さらにFDにカーネルを書き出してLILOで起動できるようにしてくれる。下記では、make bzdiskをmake bzImageで作ったカーネルをFDへの書き出しに使い(再コンパイルには行かない。どうも決まったディレクトリにカーネルがあれば、コンパイルせずにそれを使うようだ)、make bzliloをmake installの役割に使っているが、本来、これらもコンパイル能力があるらしい。
make modules;make modules_install make modules;make modules_install; 左記はこのように1行です。
モジュールコンパイルと、インストール
rm -rf /lib/modules/`uname -r` rm -rf /lib/modules/`uname -r` ; 左記はこのように1行です。
「`」 は、「shift+@」です。「shift+7」ではありません。これで以前のmodulesを消して置かないと、rebootにエラーメッセージの嵐に見舞われる
depmod -a modules.depの書きかえ;単に確認用。起動時にLnuxが自動でやるので必要ないが、早い時点でミスが分かる。
make bzdisk liloで起動するBootFD 作成
reboot BootFD で今作ったkernelの起動を確認。これで起動したら、HDDにもinstallする
make bzlilo BSD のmake installに相当。HDDにカーネルをinstall。圧縮installする
reboot やっと新カーネルが起動


分かり難いのは、2.2系のzlilo、zImageの代わりに、2.0系にはzliloやzImageがある事。バージョンによって異なる。カーネルが512KB以上の大きさのバージョンでは、(ig)が頭につく。わからなければ、やってみれば、エラーが出るだけだろう。致命的なことにはならない。
又、=Zip圧縮。

その他

bzliloをコンパイルに使う場合の前準備

bzliloをコンパイルに使う場合、前もって、以下のようにして、旧カーネルを保存しておき、こちらからもbootできるようにしておく。

cp  /boot/vmlinuz  /boot/vmlinuz.old
cp /boot/System.map /boot/System.map.old

以下の設定を /etc/lilo.conf へ書き加える。

image=/boot/vmlinuz.old
label=old
root=/dev/hda2
read-only

書き加えた結果
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=win
other=/dev/hda1
label=win
table=/dev/hda
image=/boot/vmlinuz
label=linux
root=/dev/hda2
initrd=/boot/initrd
read-only
image=/boot/vmlinuz.old
label=old
root=/dev/hda2
read-only



/dev/hda2の赤字の数字はパーテションなので、必ず一致している必要がある。

 /sbin/lilo -v  を実行する。(忘れないように)

尚、上記は、Windowsもデュアルで入っているLILOである。



bzImageでコンパイルした後、installを手で行う場合;こんな面倒な事しないと思うが

(make bzImage/bzdiskをした場合、bzImageをbzliloを使わず、手でinstallする場合、以下の2つのCPコマンド;

cp /usr/src/linux/arch/i386/boot/bzImage   /boot/vmlinuz.new
cp /usr/src/linux/System.map         /boot/System.map.new

vmlinuz.newが起動できなかった時の為の準備; (BSDでは Boot: /kernel.old)


以下の設定を /etc/lilo.conf へ書き加える。

image=/boot/vmlinuz.new
label=new
root=/dev/hda2
read-only

書き加えた結果
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=win
other=/dev/hda1
label=win
table=/dev/hda
image=/boot/vmlinuz
label=linux
root=/dev/hda2
initrd=/boot/initrd
read-only
image=/boot/vmlinuz.new
label=new
root=/dev/hda2
read-only


/dev/hda2の赤字の数字はパーテションなので、必ず一致している必要がある。

 /sbin/lilo -v  を実行する。(忘れないように)

Linuxでは、(多分FreeBSDでも)hda1〜4は、BIOSがMBR内に持つ4つのパーテションを示す。基本と拡張パーテションは、この値になる。5以上は、拡張パーテション内に作った論理パーテションである。したがって、Linuxを拡張パーテション、例えば、hda2にインストールすると、/などは、hda5になり、何故、急に番号が飛ぶのか不思議であろうが、こういう理由による。

尚、上記は、Windowsもデュアルで入っているLILOである。

こうしておけば、Linuxの起動時の「LILO Boot:」プロンプトで、新しいカーネル、古いカーネルを選択できるので、もし新しいカーネルで起動できなければ、再度起動し、古いカーネルで起動して直す事ができる。





86.TurboLinux日本語版6.0 kernel2.2.16にイーサネットアダプタを認識させる    目 次

準備
Brezzaに付けたNICは

 Acer; PnP−ISA 10Base−T  NE2000互換

但し、 IRQ=4 I/O=0x280

に非PnP化してjumperless固定(ソフトで固定的に設定という意味)してある。

Linuxで稼動させるために、このNIC用のドライバFDの中にある「acerset.exe」を使ってPnPは無効にしてある。acerset.exeは、DOSのUSモードでしか動かない。JPモードだとハングアップする!!

USモードへの移りかた
Windowsを起動、Starting OS...が出たら、すかさずF8でDOSに入り
   C:\>US

モジュール関係のLinuxコマンド

lsmod: 現在組み込まれているローダブルモジュールを表示
modprobe   module名 : moduleのロード。

    例;  /sbin/modprobe ne io=0x280
       neがモジュール(ne.o)。ne2000互換NICドライバー

modprobe -r  module名: moduleをとり除く。


NICのインストール

NICに限らずデバイス・ドライバは、
/etc/modules.confファイルに以下の様に記述すると自動的に起動。
  ne.oはNE2000互換ドライバ(ne2k-pciはPCI専用)

alias eth0 ne2k-pci       #for PCI、 NE2000互換NIC
alias eth0 ne           #for ISA、NE2000互換NIC、   .oは省略
 options ne io=0x280 irq=4   # ISAでは、aliasに続いて、この記述が必要

    ------------------------------------

options を option と間違えたりすると、起動時あるいは、
modprobe ne io=0x280 時に、
conf:6: unknown keyword "option"
というようなメッセージが出る。


modules.confでなく、ktermからNICを起動させる時;こんな事はしないだろうが、本格的に組み込む前の確認用。
   modprobe ne2k-pci      # for PCI
   modprobe ne io=0x280     # for ISA

    # 拡張子の「.o」は省略


Network設定

これはTurboCentroから可能;

以下でも良い;
/etc/sysconfig/network-scripts/ifcfg-eth0ファイルを作成。viなどで、以下を書き込む。

IPADDR=192.168.0.1
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
BOOTPROTO=none

以上で終了。再起動。


その他

IPアドレスを割り当てる他の方法;

ifconfig  eth0  192.168.0.1

  eth0はNICのデバイス名で、
  1枚目のNICはeth0(2枚目はeth1)。

/etc/hostsファイルにIPアドレスとドメインネームの対応設定
192.168.0.1  brezza

ネットワークインターフェイスの無効化/有効化
無効にする; ifconfig  eth0  down
有効にする; ifconfig  eth0  up

ネットワークインターフェイスの起動/停止
ネットワークインターフェイス停止; ifdown  eth0
ネットワークインターフェイス起動; ifup  eth0

NE2000互換品のデフォルトIRQ、I/Oポート設定
IO=0x300、 IRQ=3、 10BASE-T

Linux 機についているオプション類の IO ポート、IRQ等を知る
I/Oポート;  cat /proc/ioports
IRQ;     cat /proc/interrupts

NIC用ドライバの組み込み
NIC用のドライバの格納場所;
/lib/modules/”カーネルのバージョン番号”/net
(拡張子は.o)。






87.PC110へのLinuxのNFSインストール     目 次

PC110。知る人ぞ知る95年のIBMの初代PalmTopPCである。i486SX/33MHz、主記憶8MB、4MBのフラッシュ内蔵で、ここにPC−DOS7.0のサブセットが入っている。PCMCIA2.1(と思うIDEカードHDDが動くので)スロット2基。なかなか面白いが40万円位したので、うれたのかなぁ。。。99年頃、秋葉原で1.7万円で叩き売られていた。

PC110にオリジナルでついているHDDはtype3だからイーサカードが入らないので別途、type2の250MBのPCカードHDDを付け、(今なら東芝の4GBがもっと安く買えるのに。。。(;_;))FreeBSD-2.2.5をFTPインストールしようとしたが、HDDを認識できず(かどうか、とにかく、HDDアクセスのところでフリーズしてしまう)失敗。TurboLinuxは、まともにいれると、800MB位は要るし、モジュールを個々に選択できないので、必要なものだけをインストールしてHDDを節約するということができない。個々に選択できないとは、6〜7のグループレベルでしか選択できないということである。例えば、Xのドライバは、自分のチップのドライバ1つと、XF86Setup用の16色VGAがあるだけで良いのに、Xのセット一式すべてインストールさせられる。LaserLinuxはもっとひどく一切選択できない。

それで、PlamoLinuxをインストールすることにした。ところで、Plamo1.3と1.4はFTPインストールできない。NFSとSambaがあるが、Sambaは実験的に入れてみただけというだけあって、まるで駄目。残される方法はNFS。

NFSサーバとして、下記88項のWarNFSdというWindows上で動くNFSサーバを用いたが、これが、結論から言うと、1.3では、全然、だめであった

CDのマウントまではできているのだが、ファイルを認識できない。DOS/Windowsで読めるCDは、Unixでは鬼門である。DOS/Windows9x、NT、2k系の大文字小文字扱いのいい加減さはUnixのcase-sensitive性と誠に相性が悪い。DOS/Windows9x、NT、2k系では表示されているcaseと、実際のファイルシステム内のコードとしてのcaseは何の関係もないので、Unixからは見えないのである。例えば、vmlinuzがVmlinuzとなっているのかもしれない。PlamoLinux1.4では出来た。00Trans.datという大文字−小文字を調整する仕掛けがついているからである。ただこれも、vmlinuz=VMLINUZとするだけのようだから、vmlinuzと表示されていて、内部が、Vmlinuzのように1字違うだけの場合には無力のようである。相当のファイルが読めなかった。catなどもインストールされなかった。

又、NFSサーバでの通常のNFS設定のほかに、PC110側でnetworksの設定をしないとこれも「ファイルがありません」と言われた。通常、networksの設定は不要といわれているのだが、Plamo1.4のbootdskでは駄目のようである。


networksの設定 bootdskで起動して、rootでloginした後、

cd /etc
echo "loopback   127.0.0.0"  >  networks
echo "private  192.168.0.0"  >> networks


cat networks で確認。

この後、fdiskをすると、fdiskを確実にする為には再起動して下さい、とメッセージが出る。これに従い再起動するならば、この設定はresetされるので、この再起動後に行ったほうが無駄がない。

NFS サーバー設定

TurboLinux6.0をサーバとして使うものとする。FreeBSD-2.2.5で異なるところは、その都度書いておく。

1.portmapperの確認
NFSはポートが決まっておらず、portmapperによって動的に割り付けられるので、これが起動していなければならない。

 ps ax | grep portmap で確認

portmap が起動していなければ、

 /etc/rc.d/init.d/portmap start

で起動。このportmapはプログラムのランチャ;起動設定ファイルである。実体は、/usr/sbin/portmap

2./etc/hosts.allowの設定

PortMapperはTCPwrapperでアクセス制御されているので、

/etc/hosts.allow  に  サービス名:許可するホスト  を書いておく

例;
portmap: 192.168.0.0    #これでプライベートネットの全てのPCを受け付ける

面倒なら以下で、全てのサービスをすべてのホストに許可;

ALL : ALL

FreeBSD-2.2.5は、デフォールトではTCPwrapperをつかっていないので、この設定は必要ない(勿論、自分でインストールした場合には必要)。 というより、しようにも/etc/hosts.allowが存在しない。

3./etc/exports の設定

NFSサーバー上の公開するディレクトリ名とアクセスを許可するホスト名を NFS サーバーの/etc/exportsに記述。

/cdrom  pc110(ro)  192.168.0.1(rw) 

pc110は/etc/hostsか、DNSに登録しておく必要がある。でなければ、その後ろのようにIPアドレスで直接に指定。(ro)はread−only、(rw)は読み書き許可。CD−ROMに(wr)しても、無駄なだけで、mountできないなどの悪さはしない。

4.NFSサーバ起動

起動を確認。

 ps ax | grep nfs

起動していなければ、

  /etc/rc.d/init.d/nfs start
  (このnfsもランチャである。実体は/usr/sbinにある)

5.再起動

/etc/exportsなど設定ファイルを書換えたあとなら、再起動。
  reboot

あるいは、

  /etc/rc.d/init.d/nfs stop
  /etc/rc.d/init.d/nfs start

でnfsは外したり、入れたりできる。

 kill −HUP PIDという手もある。

6.CD-ROMのマウント

mount  /mnt/cdrom

/mnt/cdromは、/etc/fstab に記述してあるCD−ROMのマウントポイント。自分のバージョンに合わせる。他のデストリビューションでは、/cdrom もある。

FreeBSD-2.2.5では、/etc/fstabにCD-ROM が登録されていないので自分でmountする;

   mount -t cd9660 /dev/wcd0c /mnt  #ATAPI

因みにLinuxでは、大抵は/etc/fstab に書いてあるので上記だけで良いが、自分でやるなら、少し違い、

   mount -t iso9660 /dev/cdrom /mnt/cdrom


PC110側の設定
冒頭に書いたnetworksの設定を忘れないようにして、進める。

起動時のメッセージに

  eth0 found at xx...

となることを確認。流れるように速いので目を凝らして。
dmesgがきけば、後で調べても言いが、できたかどうか。。。
もし、

  eth0 not found

なら下記
ifconfigで確認。PCカードはPnPだから、もし、認識できていなければ、手の施しようがない。Plamoのカーネルに対応ドライバがないということだから諦める。NE2000にしておけば安心である。

いよいよ、NFSを選択

IPアドレスは、NFSサーバの物を
192.168.0.2  のように入れる。

CD−ROMのあるディレクトリはNFSサーバの上でマウントしたCD−ROMのマウントポイント/plamo;

  /mnt/cdrom/plamo

ifconfigによるNICの状況チェック

   ifconfig  -a

lo だけで、eth0が現れなければ、イーサカードが認識されていない。 居候は、IBMのクレジットカードEtherxxIIとかいうNE2000互換を使ったので、簡単であった。

ところで、Plamo1.4では、XF86Setupは動かない。下記のHPにも同じことが書いてあるが、Unixとは思えないことにフリーズする。さすがにLinux、Windowsっぽい。

  1.どこかからXF86Configの原型を持ってきて手で編集する。
 2.キーボードを101指定すれば動く、106は指定してはいけない。
 3.xf86configでボチボチやる

という手段があるらしい。1.でやってみたところ、軽いtwmで起動しても、3、4分待たないとXが立ち上がってこない。8MBのDRAM、i486/33MHzではまるで使い物にならない。Win95では、まあ、何とか使えたが、Xは重過ぎるようである。

ここにもっと詳しい話がある;
Plamo Linux 2.0 NFS Install





88.Windows95/NTで動くNFSサーバ・フリーソフト    目 次

まだUnixPCが無い場合、これでWindowsPCをNFSサーバにできる:
Windows95,NT4.0上のNFSd(サーバ)のフリーソフト
http://www.jgaa.com/

winfsd.JPG このサイトで、jgaa's Internetバナーのすぐ下にある横長メニューからDownloadをクリックすると、FTPdaemonなどのダウンロードアイコンが出る。その下の方にNFSdがある。75KB位だから1分もかからずすぐ落ちる。間違えてFTPdを落とすと、1.5MBで、ノルウェーからだから、どんな高速モデム/TA/ルータを使っても16kbpsしかでないから20分位かかる。なぜそんなことを知っている?何事も経験ですね。

これの良いところは寡黙のUnixと異なり、NFS mount状況が良くわかることである。

WarNfsD.JPG
これが起動画面である。自分自身でCD-ROMがマウントできたかどうかをチェックしている。そもそもサーバ側で、普通のCD-ROM mountできていなければ何も始まらない。




WarNfsD2.JPG
PC110からnfs-mountに成功すると、白い窓にアクセスしてきたホスト(PC)のIPアドレスが表示される。次の画像がその拡大図。

少なくとも、これがでなければ、nfs-mountさえできていない。Plamo1.3ではここまでは行ったが、その後のファイルアクセスにfailedしてしまった。



WarNfsD3.JPG

使い方
非常に簡単である。
 ・DLしたファイルを解凍したら、どこでも良いからそのフォルダのまま、
  おけば良い。c:\Program Files\wnfsd100が普通であろう。

 ・exports.confファイルをメモ帳で開いて、
    export D:\plamo  as /cdrom
    domain * read
  を付け足す。これで誰にでも*、読取り専用readで D:\plamoが/cdromとして公開される。勿論、PlamoLinux1.4のCD-ROMにはplamoというdirectoryがある。

87項で、PC110にPlamoLinuxをNFSインストールする場合、これで、PC110側は、マウントポイントを/cdromにしておけば良い。

;WarNFSd.exeは終了時に、InodeCache.datファイルを生成する。exports.confファイルの内容を変えた場合、InodeCache.datを削除しないと有効にならないので、InodeCache.datは見つけたら消す癖を付けた方が良い





89.LinuxとFreeBSDの随筆的差違論    目 次


FreeBDSといっても、2.2.5以降は知らないし、それ以前は忘れたので、2.2.5とする。まあ、ここで言う差は概要なので、最近のものであれば、あまり変りはない。

BSDの良い点は、
 1.デストリビューション1箇所で混乱がない
 2.コンパクトに収まっている

 悪い所は、
 1.UNIX本来の機能は完璧であるが、PCの世界の速さについていけないので、
   周辺機器のドライバが少ない。
   あれも動かない、これも動かない!

Linuxの良い点は、
 1.開発が野心的
  -新しいデバイスへの対応が速い
  -対応デバイスが圧倒的に多い
 2.サポータが圧倒的に多いし、専門雑誌もいくつか出ているので、
  分からないことも何とか成る

悪い所
 1.PC世界に順応してドライバや新アプリ開発が速い分、バグが多い。
  どれもこれもどこかにバグがあるので、いくつかのデストリビューションを
  インストールして使い分けている。とはいえ、BSDではこんなことは
  できない。あきらめるしかない。
 2.デストリビューション乱立で何がなんだかわからない。
   この設定はどこでやるんだ!ディレクトリが定位置にないぞ!
     ->定位置とは自分が慣れ親しんだ位置 ^^;
   ユーザの登録はどうするんだ!UserConfiguratorがないぞ!
   おまけに、Adduserのインターフェイスが普通と違うぞ!
     ->TurboLinux6.0J。このadduserはあんまりだと思う。
      adduser userName
      passwd userName

としなければならない。passwdは必須なのだから、こんな風に別に入れなければならないのでは、初心者は途惑うばかりだろう。

普通のadduserみたいに対話的に設定ができるわけではない。これだけである。グループは?、ホームディレクトリは?シェルは?フルネームは?...不要ならそれは結構な事だが、ホームディレクトリは必須なのに、これでは初心者は、そういうものがある事にも気が付かないだろう。酷いものだ。

Linuxにはデストリビューションという言ってみれば販売会社が複数あり、これが為にディレクトリ構成がバージョンだけではなく、ディストリビューションにも依存する。初心者には混乱するばかりであるし、経験者だって、ある特定の設定ファイルを探し出すのは面倒なことであり、勘違いしたりもする。どれかデストリビューショを固定してしまえば、BSDと同じ状況にはなるが。

Linuxは更に、販売会社がある事からわかるように商業主義にのせられてしまっているきらいがある。リヌスやFSFのストールマンには苦々しい事であろう。フリーのソフトに何故、販売会社か?簡単に言えば、Linuxとは本来1MB前後(組み込みで700KB,NotePC用で1MB,フル機能で1.7MB程度)のカーネルの事である。これだけでは何もできない。速い話し、インストールもできない。それで、GNUのフリーソフトをしこたま詰め込み(で、ストールマンは、Linuxではなく、LiGnuxと呼べ、だめならGNU−Linux(だったかな)と呼べと主張しているわけである)、1GBにして、更にインストーラをつけたものがいわゆる、Slackware、RedHat Linux、TurboLinux、VineLinux、PlamoLinux....である。

もちろん、GNUのフリーソフトも、Linuxカーネルも、GPLというGNUのライセンス方式をとっている。CopyLeftというもので、CopyRight=著作権のパロディである。ついでながらFreeBSDはGPLではない。ほとんど拘束がない。とはいえ、パブリックドメインのように、著作権を放棄したものではない。

CopyLeftとは、GPLフリーソフトは無料であるだけでなく、ソースも公開しなければならないというものである。GPL方式のフリーソフトを使ったソフトはそれ自身GPLに拘束される。従って、ディストリビューション物も、ソース公開し、無料でなければならない。1万円、2万円という価格は包装代やら、CD-ROM作成実費ということに表向きはなっている。もちろん、GPLに縛られているのでインターネットから落とす分には無料であり、近ごろはこれがFTP版として雑誌の付録についていたりする。

1.x万円もするとは、MSのWindowsと変わらないではないかと思ってはいけない。MSはM$と言われるように金の亡者であり、ライセンス方式をとっている。企業などでは、利用者の数だけの金がかかる。CD−ROMは1枚でもである。一方、フリーソフトであるLinuxはCD−ROM代であるので、何台にインストールしようが、お金はかからない。社員1000人の会社なら一人当たり10円か20円である。ここが大きなちがいである。どうせ、ワープロとメールしか使わないのなら、Linuxで十二分だと思う。表計算も、プレゼンテーションソフトもある。と思っていたら、VINE Linuxをみると、1CPUに限ると書いてある。これではMSと変わらない。どうも、フォントなどをフリーでないものにして、それをネタに全体を1CPUライセンスとしているらしい。やっぱり、FreeBSDの方がフリーの精神をきちんと守っているのかな。

とっかかりは悪いなんてものじゃない(2001.8.20KDEの最新版は素晴らしいという米国評論家の意見がある。本当なら嬉しいのだがUnix心酔者のいうことは、頭から信じるわけにはいかないのでそのうち試してみよう)が、定常業務をいくつかするだけならどうせ、慣れるという意味では同じである。居候は未だにWordもExcelもPowerPointも使えない。あんなヒューマンインタフェースではとても使えたものじゃない。

UNIXのインターフェイスはもっとひどいが、大抵の人は、デスクトップにショートカットをいろいろ作ったり、スタートアップに何かをいれたりなどしないで、ワープロ/メール専用機として使うのだからそんなことが難しいのは問題ではない。ここでは経費の方が問題である。それにUNIXはとにかく堅牢である。文書を80%作り終えてホットした途端ブルーパニックに襲われ、データが無くなったということで、マーフィの法則の正しさを実感した人はWindows利用者の100%に登るだろう。UNIXにはそれがほぼ無い。極めて安心して使える。

話を戻して、FreeBSDのインストール本の付録CD-ROMに付いているソフトには一式全てが入っている。しかし、Linuxはディストリビューションの利益の為に、Liteと称したお試し版しかないことがかっては有った。少なくとも、TurboLinuxはそうだった。カーネルを再構築しようにもソースがCDにないなど不便が起きた。97年頃のことである。2000年前後になって、雑誌の付録のTurboLinuxにもやっとフルパックがはいるようにはなった。LaserLinuxは2000年でさえ、未だしである。ソースが入っていなかった。inetd.も入っていないので、ftpdもtelnetdもない。

出身がDOS/Windowsの方に少し解説を付け加えるとUNIXは大きく分類すると、
 ・カーネル(kernel)
 ・シェル(shell)
 ・X-window system(X)
 ・Window Manager(WM)
 ・デスクトップ
から成りたっている。MS-Windows(1.0〜XP)はこれが混ぜん一体となっているのでユーザは気にする必要はないが、UNIXでは常に気にしなければ、何が何だか分からず、下手をすると動きもしない。

OSとは何をするものかといえば、一言で言えば、計算機の資源を管理するものである。資源には色々ある;コントロールパネルの中身がそれである。あれがOSの主要な機能である。その他、こっちの方が重要であるが、時間管理がある。時間以外の典型的な資源には、メモリー、CPU、バス、周辺装置がある−−この辺りはデバイスマネージャをみれば分かるだろう。時間管理は、マルチタスクOSの基本的役割である。スケジュール管理とも言われる。どのタスク(ネスケ、一太郎、B'zGold、など貴方が立ち上げた普通のアプリケーションと思っておけば良い)にどれ位CPU時間を割り当てるかということである。類似のものにメモリー管理がある。これは時間管理に対して空間管理と言える。NTや2000では、ユーザ管理があるがこれもOSのユーザ空間という資源管理である。

さてこの内カーネルはどこを担当しているかといえば、厳密にはOSの実装そのものだからなかなか言うのは難しいが、おおざっぱにいえば、CPU管理とメモリ管理、それにデバイス管理である。どのタスクをメモリのどこにロードして、どの程度CPUタイムを割り当てるか、ついでにそのタスクが周辺機器を要求すれば、それに応えてあげる、程度と思っておけば良い。BSDやLinuxのカーネル再構築を行うと、BSDなら、 /usr/src/sys/i386/conf/GENERIC、Linuxなら、/usr/src/linux/.confで、menuconfig,xconfig,configなどのエディタで編集するコンフィグレーションファイルであるが、あれがおおよそカーネルのハード資源である。モジュールといって、カーネルから切り離されているものがあるが、実装の違いでカーネルが管理することには変りはない。

カーネルとは文字通り、OSの中核部分である。所で、LinuxとかFreeBSDとか言った時、本当はどの部分を差しているかはかなり曖昧である。厳密に言えば、カーネルしかさしていない。この部分は、500KB〜2MB程度しかない(昔は8KBとか16KBだったはずだ)。デスクトップのLinuxで1.7MB程度。組み込み用途のLinuxで700KB程度である。X-window systemはOSではないし、その一部でさえない。単なるアプリである

Windows3.1までは、DOSの上にWindowsが被さっていた。UNIXでは今も昔もそうである。というより、被さってさえいない。その上、Xにはwindow managerなどと言うものまである。Xをインストールしただけでは、MS-Windowsで期待するような見栄えと使い方にはならない。ただ、ウィンドウができるだけである。動かすことも、大きさを変えることもできない。タイトルバーも色々なボタンもデスクトップの背景も何もない。画面がテキストモードからグラフィックモードになり、ウィンドウに対応するビットマップが用意されるだけなのだろう。いわゆるウィンドウにする為には、WMを起動しなければならない。WMは好きなものを選択できる。WindowsではWMは一種類しかなく、作り込みだから、そんな概念はなく、したがって、選択の余地もない。せいぜい壁紙を変えたり、スクロールバーを細くしたりの程度しか変わらない。

WMはそんな物ではなく、がらりとウィンドウの見栄えと使い方を変える。FVWM95にすれば、Windows9x風になるし、Afterstepにすれば、今は亡きNextstep風になる。その他、独自デザインの実にきれいなWMがたくさんある。デスクトップは、スクリーンセーバのように動く事さえできる、xearth、xfishtank、xsnowなどは有名である(Windowsでもフリーソフトがあるが、只でさえ不安定なところへ、そんなものを入れる気にはならない)。xearthで地球(IEのアイコンではない。大きく奇麗な地球儀だ)をゆっくりと回転させ、その上にxsnowでトナカイやサンタクロースを走らせて吹雪を起こさせると、DX/66MHzのMPUではチョット辛い。

そういえば、昔、テキストモードのウィンドウがあった。今ならEmacs風にCtrl-?(忘れた)を押すと、画面が上下に2分割されるのである。ここへ2つのファイルを表示して比較するには便利であった。グラフィックモードなどではない。そんなものは未だ無い時代である。もう一度おせば、現在アクティブのウィンドウが2分割される。ウィンドウとはそれだけの意味しかない。KDEやGNOMEの奇麗なウィンドウ表示は、あれはだからデスクトップと呼ばれる機能である。

シェルとは--Bash,Zch,Tcsh,Csh,そして原初のそのままの名前のSh(ell)など--カーネルに対してユーザが命令をだしたり、あるいはカーネルが稼動する状態を設定したりする人とカーネルの間に入るメッセンジャボーイみたいなものである。UNIXではOSをクルミのような構造にたとえている。中身のおいしいところがカーネル、つまり核である。その回りを厚くて固いシェル(殻;ついでながらshellは貝ではない。貝殻である。貝はshell fish。更に余談ながらfishは魚ではない。fish⊃魚である)が囲んでいる。カーネルはとにかく資源管理しかしない。計算機外部世界--つまりオペレータ、人間である--と交渉をする機能はもっていない。このプログラムをこれこれの条件で実行して欲しいということを、シェルを使わずにするのは、なかなか厄介なことである。シェルを使えば、xterm を開いて、xclock -g 100x100-1+1 & とでもタイプすれば良い。

これをシェルを使わずに自分がシェルになったつもりでやるとなると主記憶のどこか決められた番地に上の情報をバイナリで書き込む必要がある。どうやって?デバッガーを使えばよい、という解答もあるだろう。その場合はデバッガがシェルの役割をしているのである。PCにはこんな機能はないが、古めのSF映画を見ていると、コンソールにといっても、2m位あるが、ランプ--さすがにあの大きさはLEDではないだろう--がピカピカする場面がある。あれは、実行中の主記憶の番地やら、内容やらを表示しているのであるが、普通そのランプに対応するスイッチがあって、主記憶に直接内容を書き込んだりできる。70年代のマイコンもそうであった。

しかし、これも正しい解答にはならない。いかなる方法でも、カーネルにアクセスする方法はシェル機能なのである。つまりシェルの機能はUNIXのものではなく、どこにでもある機能であるが、それを構造論的にシェルと名前をつけ、そのような位置付けにしたのがUNIXなのである。

OSの研究者でさえ趣味でやっている人は別として、まあたいていはLINUXなど使えない。丁度、理学部生物学科で免疫の原理を研究している医学博士に盲腸の手術ができないようなものである。OSの研究というと80年代に跳んだ概念まで出払ってしまい、90年代には研究することがないと、研究者は嘆いていたものである。80年代の優れた概念のOSさえ実現できていないので、そこで何が問題か実験もできず、アイデアが湧いてこないのだろう。なにしろ、UNIXは60年代のOSであり、今頃、そんな化石を喜んでいじりまわしているのだから、この世界は保守的である。UNIXの概念の難しさは、優れている為にそうなっているのではなく、当時のハードウェアの制限によってそうなっているところが多い。主記憶16KB、クロック200KHz--70年代初期ではそんなものであった。ニ、三十億円もする大学の大型計算機センターの最新鋭機FACOM 230/60とかNEAC2200/900?などに1MWordが積まれたのがこの頃である--のミニコンといえば、化石であると誰しもわかるが、そのころの概念のOSといっても化石とは思われないのが不思議である。

そんなことを言えば、ハードだってエッカートとモークリのプログラム内蔵方式 から基本アーキは変わっていない、実装が変わっただけだと反論ができそうだが...まあそうかもしれない。ところで、Xerox PARC--PaloAltoReserchCenter--のKayの唱えたDynaBook構想は優れたマンマシンインタフェースを提供し、それが、AppleのMacやMSのWindowsとして結実している。KDEやGNOMEが似たような事をしているが、所詮UNIXの枠内に縛られているから似ても似つかない物にしかなっていない。フロッピーひとつまともにつかえない。例えば、mount/umountの概念をユーザから完全に遮蔽しなければならない事に気が付かない間はだめだろう。パーソナルユースでのリムーバルメディアに遅延書き込みなどが必要と考える方がおかしい。と思っていたら、さすがにディストリビュータは商売だから、これも少しずつかわりつつある。FDのマウントはGUIになっている。でも、umountがだめだ!

それに、以前の版では、GUIからLogoutしかできなくて、結局ユーザに、shutdown -h now とコンソールやtermから打たせるようにしかなっておらず、アホメとおもっていたが、ちょっと前からは電源断できるようになっている。

シェルから延々、話しがそれたが、とにかくシェルとはそういうもの、人間とOSの仲人とだと思えば良い。

デスクトップはウィンドウ更に進んで、ウィンドウの画面に各種アプリのランチャを色々な形で置いただけで、これはWMがやていることなので、概念上はWMと変りないだろう。





90.面白いフリーソフト(ネットワークを中心に)の場所(URL)    目 次

# Win9xを複数インストールするツール 99KB
詳細;73項

http://www.microsoft.com/globaldev/gbl-gen/intlboot.asp;
Winboot

ただし、結構面倒。途中で止めたりすると、現在のWindowsも起動しなくなる。c:\msdos.sysが書き換えられているのが原因。修復するには、同じバージョンのWindowsのmsdos.sysをコピーする。つまり、PCが2台ないと、困ることになる。

# BVのRuntime
http://www.vector.co.jp/soft/win95/util/se040499.html
MFC42.DLL & MSVCRT.DLL
Microsoft Visual C++ 4.2〜6.0 で作成した、ランタイムライブラリ分離型のプログラムの実行に必要な 共有DLL です。 付属の HelloMFC.exe を実行すると、コピー先フォルダの指示と、同名DLLが存在する場合のバージョンチェックを行います。
   ---  上記サイトより引用


# パスワード暗号化; 約450KB、Win95用(Win98以降は不要)
http://www.microsoft.com/japan/win95/security/
secupd/OSR1以前、secupd2/OSR2.0以後
Win95でパスワードを通信回線上に流す時、暗号化する。Unixの最近のSambaを使う場合など、入れておいた方が良い。

# TCPupdate(Win95、98)
詳細;75項
http://support.microsoft.com/support/kb/articles/Q236/9/26.ASP

# Winsockのupdate; 986KB  Win95用(Win98以降は不要)
詳細;75項
WinSock2   

下記、MSDUN3.1を入れれば、Winsock2は不要(MSDUNに含まれている)

# ダイアルアップネットワークのupdate; MSDUN3.1  2.33MB(Win98以降は不要)
詳細;75項
http://www.microsoft.com/japan/windows/dun1_3/

# GUIのFTPサーバ
日本語版; TinyFTPd 2.91MB
http://hp.vector.co.jp/authors/VA002682/tftpd_frame.htm

  使い方

英語版; WarFTPd  1.5MB
jgaa's

# GUIのFTPクライアント

FFFTP 536KB
http://www.vector.co.jp/soft/win95/net/se061839.html


MatuFTP  323KB
http://plaza20.mbn.or.jp/~matuhome/

FFFTPとMatuFTPはほとんど同じ感じ。

# 色々なネットワークサーバ
http://center.ed.kanazawa-u.ac.jp/~wtnabe/BookMark/server.html

# DHCPサーバなど
http://www.t3.rim.or.jp/~temple/software.html#W95NET


FTPクライアントは、Windows9xにはDOS版が入っている。
DOS窓開いて
ダウンロードするファイルを入れる自分のPCのフォルダにcdする。
cd c:\download
FTP 192.168.xx.xx (相手のIPアドレス。DNS,hostsが有効ならばドメイン名でも良い)

ユーザ名(大抵はanonymous)、パスワード(anonymousの時は、何でもよい。昔は、メールアドレスだったが、今それをやると、スパムメールに狙われるかもしれない)を入れる
--------------------------------------
ここからは相手のPCに入っている。

cd xxx で相手の目的フォルダに移る。
ascii (これから落とす/上げるファイルがテキストの時)、又は
binary(バイナリーの時)
get ファイル名    (ダウンロード); カレントディレクトリ(xxx)から
                         カレントディレクトリ(c:\download)へコピー
put ファイル名    (アップロード); カレントディレクトリ(c:\download)から
                         カレントディレクトリ(xxx)へコピー
quit  (終了)


# Telnetd(サーバ) 20〜40KB
詳細;71項
http://users.otenet.gr/~sveine/programs

超低機能telnetd。使い方は簡単で、解凍後フォルダーごと、たとえばc:¥に置き、その中のtelnetd.com(exe)のショートカットを

  c:¥windows¥スタートメニュー¥プログラム¥スタートアップ

に入れておけば良い。
login名はguest、passwordもguestの決め打ちである

このtelnetdはls(dir)、cdくらいしか能がない。リモートのプログラムを起動できない。ただ、shutdownコマンドというものがあり、リモートのPCをシャットダウンできる。

http://www.vector.co.jp/vpack/browse/software/win95/net/sn049402.html

こちらは、簡単なコマンドが使え、プログラムの起動もできる。
 c:\telnetd.bat を作り、

 set tdpass=xxxx
 d:\program\telnetd\tenetd.exe

 と書いて、環境関数tdpassでパスワードを設定して、起動するだけである。


Telnetクライアントは、Windows9xにはDOS版が入っている。
DOS窓開いて
telnet 192.168.xx.xx (相手のIPアドレス。ドメイン名でも良い)

ユーザ名パスワードをいれる。rootは拒否されるので一般ユーザで入り、su(Substitute User?)する

quit  (終了)



# VNC; 978KB  GUIでtelnet
詳細;71項
http://www.uk.research.att.com/vnc/download.html

これは、他のPCのデスクトップがそのまま自分のモニターにウィンドウとして現れるものである。言わばTelnetd/telnetのGUI版である。


# NFSd(75KB)、FTPd(1.5MB); Windows95,NT4.0用
詳細;88項

http://www.jgaa.com/

winfsd.JPG このサイトで、jgaa's Internetバナーのすぐ下にある横長メニューからDownloadをクリックすると、FTPdaemonなどのダウンロードアイコンが出る。その下の方にNFSdがある。75KB位だから1分もかからずすぐ落ちる。






# Proxyサーバ;BlackJumboDog(旧名WinProxy) 約1.2MB
WinProxy

WebのProxyだけではなく、メールのProxyにもなるとのこと。


# メール転送/MailingListサーバ;218KB
simalis

会社へきたメールをISPのメールアドレスへ転送。
転送機能だから、ML(複数に転送)としても使える。






91.TurboLinux6.0のNFSが起動しない原因    目 次

TurboLinux日本語版6.0 kernel2.2.16で、NFSが起動しない

TurboCentroのTurboServiceで見てみると、起動していない。起動させて、もう一度、確認すると、やはり起動していない。つまり、どうやっても起動しないのである。

結論から言うと。/etc/exports の書き方が甘く、セキュリティの為に起動しないのだ。だったら、そう言ってくれれば良いが、何も言わずに起動しない。/var/logに何か言っているだろうが、どうせヨタゴトだろう。

/etc/rc.d/init.d/nfsがnfsランチャなので(./nfs start/stop)、lessで開いて見てみると、色々起動時チェックをしていて、例えば、ネットワークの設定ができていないと、何もしないで、即、exit である。そのなかに、4行、/etc/exportsの中で「/」をexportしていると、終了してしまうらしい条件が書いてあった。実は、面倒なので、やってあったので、これが原因であった;

NSFを試す時には、まず、生真面目に/etc/exportsを書いた方が良い;

例えば、192.168.0.1がnfsサーバで、192.168.0.2からマウントする時、 192.168.0.1の/etc/exportsには、次のように書いておく;

/usr 192.168.0.2(RW)

これで動けば、後で動かなくなった時に、原因が分かり易い。FreeBSD-2.2.5では、動いている記述で、このLinuxでは動かない。

/usr 192.168.0.0(rw)    ネットワークアドレスで許可
/usr (rw)             全員RWで許可
/                  全員無条件許可

は全て駄目であった。BSDは記憶が定かでないが、上の幾つかか、全てokであったと思う。





92.TurboLinux6.0、PlamoLinux1.4(Slackware系)、FreeBSD2.2.5のネットワーク設定、daemon起動の場所の違い    目 次


TurboLinuxでは、

 # ネットワーク設定;

  /etc/sysconfig/network-scripts に個々のアダプタ用ファイルがあって(無ければ、作る)、そこに書き込む。例えば

   ifcfg-eth0というファイルは、イーサカードの記述である。

/etc/sysconfig/network-scripts/ifcfg-eth0ファイルを作成。viなどで、以下を書き込む。

IPADDR=192.168.0.1
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
BOOTPROTO=none

  # daemon(サーバ)の起動

  /etc/rc.d/init.d/各daemonの起動用ファイル(nfs、named、等)

TurboLinuxでは、/etc/rc.d/init.d に個々のファイルがあって、それがランチャになっている。namedの場合、

   /etc/rc.d/init.d/named


Slackware系(plamo1.4)では、

 1ファイルに各種設定が書き込んである;

 /etc/rc.d/rc.inet1 でネットワーク設定
 /etc/rc.d/rc.inet2 でdaemon起動

である。

PCカードを使っている時には、すこし違い、

  /etc/rc.d/rc.inet1 ではなく(コメント化されている)、
 /etc/pcmcia/networks.opts

にインストール時にしたネットワーク設定が書き込まれる。
 
 
 /etc/NETWORKING には、「yes」 としか書いていないが、多分、これがネットワーク設定がなされているマーキングで、ランチャーの中から参照しているのだろう。


FreeBSDでは、

 /etc/rc.conf の中に、ネットワーク関連の記述;ドライバ名、Host名、domain名、IPアドレス、サブネットマスク、...NFSを有効/無効などなどがある。





93. .tcshrc書換え、有効にする方    目 次


 .tcshrc書換え、有効にする方

  source .tcshrc

.tcshrc(一般に、シェル設定ファイル)を書換え後、有効にするには、logoutして、loginし直さなければならない。kill −HUP PIDは駄目である。これをすると、logoutしてしまうので、却って手間がかかる。そんな時、上記の方法が良い。 csh系だけでなく、sh系(bash等)でも出来るらしいが、Turbo6.0ではエラーが出て、結局logout。





94.DNSを使う為の設定    目 次


 /etc/resolv.conf に、

domain    mydomain.jp      # domain
nameserver  192.168.0.1      # namedのhostのIPアドレス

/etc/host.conf に/etc/hostsとDNSの優先順を書いておく。





95.LinuxのHDDの表現方    目 次


IDEで説明する。Linuxでは、IDEハードディスクは、hdxyという書式で表す。

hdxy
 hd:ard iskの頭文字
 : 物理的なHDDの台数の順を示し
 : 1台のHDDの中のパーテションを示す。

x=a/b/c/d
a:1台目:Primary/Master
b:2台目:Primary/Slave
c:3台目:Secondary/Master
d:4台目:Secondary/Slave

上記のように、IDEインタフェースは、物理的に4台までのHDDを付けられる。

但し、1台目をPrimary/Master(ここは必須)に付け、Primary/Slaveは空きにして、Secondary/Masterに2台目を付けた場合、当然ながら、これが2台目である。上記の表は、順につけていった場合を示したものである。

中には、下のような付け方をする人もまれではあるが、あるかもしれない;

 a:1台目:Primary/Master
 b:2台目:Secondary/Slave

必須は、Primary/Master(C:)だけである。BIOSは決め打ちでここにbootを投げて寄越す。

y=1/2/3/4/5/6/7....

IBM PC/AT互換機のHDDのMBRには、4つのエントリを持つパーテション用の表(4つの項目には、それぞれ、そのパーテションの範囲;HDDの第何セクタから第何セクタまでというような情報を書く)が予約されている。


________


未使用時は、この表は、こんな風に真っ白で、何もかかれていない。この4つのエントリは、x=a/b/c/dの4つのディスクと偶然、4と同じ数字だが、関係は何もない。この4つのエントリを持つ表は上の4つのハードディスクのそれぞれのMBR(ハードディスクの先頭セクタ)の中にあるのである。xが物理的なハードディスク、yは、その中を間仕切りして作るパーテションである。DOS/Windowsでは, パーテションは、c:、d:などのドライブとして見える。メーカ製PCでは、1つの物理的ハードディスクの中に、1つのパーテションしか作らないことが多いので、物理的ハードディスク=ドライブと思ってしまうが、実は異なる概念であり、物理的ハードディスク=(1以上の)ドライブである。

この表に、基本パーテションあるいは、拡張パーテションが登録される。最低1個の基本パーテションが必要で、後は、任意の数、最大4つまで作れる。基本を1つ、拡張を3つ、あるいは、その逆、あるいは、2つづつ、全部基本でも良い。

基本を1つ、拡張を1つだけという制約は、DOS/Windowsのものであり、PC/ATの制約ではない。論理パーテションは、拡張パーテションの中に、 物理的に許す限り、任意の数だけ作れる。拡張パーテションは、そのままでは使えず、必ず中に最低1個の論理パーテションが必要である。ファイルシステムはこの論理パーテションの中に作る。

y=1/2/3/4はこの基本/拡張パーテションのことである。
論理パーテションは、従って、y=5から始まる


Linuxは、一つの拡張パーテションを使い、その中に、論理パーテションを複数作る。それで、/vmlinuzがhdaのような大きな数字のパーテションに有ったりする訳である。hda3を拡張パーテションとした場合、それは論理パーテションの入れ物で、hda3の中に直接、何かファイルやディレクトリが入ることはない。


hda1hda2hda3hda4

     例; hda3の中
 ----------------------------------
| --------   ---------   -------- |
| | hda5|  | hda6  |  | hda7  | |
| --------   ---------   -------- |
 ----------------------------------


Windowsなどとデュアルブートすると、hda1にWindows9xが入り、Linuxは、hda2とか3とかに拡張パーテションをを作って、その中に、hda5,6,7...というように必要に応じて、論理パーテションをとり、hda5をswapに使い、hda6をに、hda7を/usrになどというように使う事になる。ただ、最初にインストールしたOSがhda1になり、次は、hda2という風に順に使っていくかというと、なぜか、そうでもない。DOSを最初にいれたら、いきなりhda3に入り、その後に入れたLinuxがhda2当たりに入ったこともある。

Linuxは必ず、拡張パーテションの中に、swap、Linux Native Filesystem(Ext2 fs)をいれる。これでは、Linuxを単独でinstallした時、「必ず、基本パーテションが1つは要る」というPC/ATの(ソフト的にはBIOSの)要請に反する。それで、Linuxは、無駄な基本パーテションを1シリンダ分(数MB〜数十MB)作り、この要請を満足させる。この基本パーテションは多分、使われない。一応、Ext2 filesystemになっている。

この場合、hda1がLinuxとなっているのに、なぜか、hda6あたりに/があったりして不思議におもえるが、以上を理解すれば、swapがhda2に、/がhda1にと言うようには入らない事がわかるだろう。

この場合、下記のようになる。

hda1hda2hda3hda4


      hda2の中
 ----------------------------------
| --------   ---------   -------- |
| | hda5|  | hda6  |  | hda7  | |
| --------   ---------   -------- |
 ----------------------------------


余談ながら、

hda1hda2hda3hda4


は、各HDDのMBRの中にあるが、

      hda2の中
 ----------------------------------
| --------   ---------   -------- |
| | hda5| | hda6  |   | hda7  | |
| --------   ---------   -------- |
 ----------------------------------


これはMBRの中にはない。MBRの中の1エントリを分割して、その中に領域定義を書くスペースはないので、hda2で定義されるパーテションの先頭領域に書かれる。


hda1hda2:hda5,hda6,hda7...hda3hda4


というようには、書かれない。



このページの先頭    目 次