Path: sran124!katsu From: katsu@sra.co.jp (WATANABE Katsuhiro) Message-ID: Date: 4 May 90 22:29:17 Organization: Software Research Associates, Inc.,Japan Newsgroups: sra.test, junk Subject: Today's junk article Distribution: sra GW特別企画 「本日のjunk記事」 この企画の趣旨: 特になし。やりたいからやってるだけ。目指す領域は日記。 やってみなければわからない事というのがあるもので、 Newsgroups: sra.test, junk Distribution: sra として sran124 から投稿した記事は、sran124 以外では Newsgroups: sra.test と直されてしまっていました。遠隔の junk に投稿するには上の方法では だめだということを学習しました。 でも内容としては junk なので、企画名は変わりません。 「admin への道」異聞 egrep -i GW /etc/hosts とやると、色々な機械が出てきます。 gwa, gwb, srawgw,...... 「srasnagw」というのも準備されているようです。 しかし、ずらずらっと沢山ならんでいるのは macgw?-?? というやつですね。 ネットワークも unix 系の機械が並ぶだけではなくて、色々な機械が 混じり合うようになっているのですね。(こういう状態を 「ヘテロジニアス(heterogeneous)」というのだそうです。) ある日のこと、NEWS OS3.2 の機械で、macgw1-16 というホスト名に macG という別名を定義しようとしました。(この機械では yp も name server も利用していません。)このため、/etc/hosts の対応する行を 133.137.12.116 macgw1-16 macG のように書き換え、mkhosts /etc/hosts しました。そして、一応確認のため、 ping macG としてみたら、これが、 ping: unknown host macG などというではありませんか!/etc/hosts.pag を Emacs で見ると、 macG は確かに登録されているようです。そこで gethostbyname("macG") を やってみると、これが HOST_NOT_FOUND という原因で失敗しています。 (ここに至って、まわりに泣きつく。) さて泣きついた結果、/etc/hosts を 133.137.12.116 macgw1-16 macG macg のように小文字の別名を追加すると gethostbyname も ping も成功することが わかりました。さらに、 133.137.12.116 macgw1-16 macg としても gethostbyname("macG") が成功することがわかりました。(もちろん このとき gethostbyname("macg") も成功します。) つまり、NEWS OS3.2(以降)の gethostbyname() は、引数の中の文字を全て 小文字に直してから対象となるホストを捜すのです。 ある先輩の意見では 「ヘテロジニアスなネットワークでは、大文字しか扱わない機械とかが 混じる可能性があるからそのような仕様になっているのであろう。」 とのことですが、それならば、 「大文字と小文字を区別しない」 ような仕様にすべきであって、 「かならず小文字のホスト名を検索する」 ような現仕様は少しおかしいと思います。 VAX 4.3BSD も NEWS OS3.2 と同じく小文字のエントリを捜すように なっているのではと勘ぐっています。 ちなみに、Sun OS3.4(EXPORT) で試してみたら、gethostbyname("macG") は、 そのまま macG のエントリを捜しにいくようです。 # name server を利用している場合は上と事情が違うかもしれません。 va, vc, vd, sve, svg などの主要な機械に置いてある /etc/hosts では、 sraCA1 とか sraMR1 のような大文字の混じったホスト名には必ず小文字に 直した sraca1, sramr1 のようなエントリも追加してあります。こうなっている 理由が、上のような失敗に遭遇してやっとわかったのでありました。 さすが考えてあるものです。 -- ----____----____ 渡邊克宏 環境開発部 今月の標語:「生意気も意気のうち」