これからネットワークを使ってどんどん便利になっていき ます。張りきって進めましよう。 monkey : umpc も、これで UNIX マシンとしての余 生を過ごす準備ができたわけやな。 あつぶる : 掃除したから見た目もきれいになってるしれ monkey : なんか嬉しいなあ。もう火が入ることはない と思てたもんが、こうやって立派に仕事を始めるっちゅ うのは感跖架いもんや。 あっぷる : なんだか、老体に鞭打って働かされてるみた いでかわいそうにみえるけど。 monkey : 何をおっしゃいますやら。働いてなんはやで。 性育顎勺には劣るけど、立派に UNIX カ随ってるんや。 あつぶる : 私も会社で UNIX 使いとしてしごかれてたと きを思い出すわ。そうだ、ちょっと使わせてよ。コマン ドとかまだ匱えてるし・・ monkey : 使わせてやりたいんはやまやまやが、インス トールしたはっかりで、まだ root しかログインでけへ んのや。 あつぶる : そうか。ちゃんとユーサーの設定をしてあげ ないといけないんだね。ログイン名決めて、パスワード 設定して、ホーム・ディレクトリ用意して・・ monkey : さすがに憶えてるなあ。しつかり仕込んだか らなあ。 あつぶる : 教えられる側カイ韋かったんしゃない ? monkey : そればっかりゃな。けど、それを否定でけへ んのが情けない。 UNIX のシステム管理の経験がある方なら、一度はア カウントを作成しているはすです。しかし、一イ殳ューサー としてのみ UNIX に携わってきた方は、、、アカウントの 作成 " 自体がなんのことか分からないかもしれません。そ こで、管理経験のない方にも分かるよう、ますは基本的な ところから説明します。 UNIX でのアカウント UNIX では、 1 台のコンピュータを数の人間が司時 に利用できます ( マルチューサー環境と呼びます ) 。この ような使い方をする場合、「この仕事は誰から頼まれたん ユーザーの登録 UNIX MAGAZINE 1997.6 おうちでらんランし AN 第 2 回 や ? 」ということがコンピュータ側で判別できなければな りません。そうでないと、その仕事の結果を誰に返せばい いのか分からなくなります。つまり、 UNIX システムか動 作しているコンピュータ上では、ユーサーの識別が必喫に なります。そうす川ま、あるファイルを所有者以外のユー ザーからは見えないようにしたり、特定のグループに属す るユーザーだけが見られるようにするといった操作かて、き ます。 UNIX システム中で識別されるユーサーのことを、ア カウントと呼びます。以降では、ユーザーといえば ( 生物 哮的な ! ? ) 人間自体を、アカウントといえば UNIX シス テム内のその人物を指すものとします。アカウントには、 以下に示すさまざまな情報が含まれています。 ・アカウント名 ( ログイン名 ) ログインするときの名前。人間は、アカウント名でユー ザーを区別できる。 UNIX にとってはたんなる文字列 にすぎない。 ・ / ヾスワード そのアカウントを利用するための認証用の文字列。アカ ウントをクレジットカードにたとえるなら、そのカード を使うためのサインに相当する。 ・ユーサーリ番号 (UID) UNIX システムがユーサーを識別するための数字。人 間はアカウント名で区別するが、 UNIX は UID でユー ザーを認識する。したがって、 UID とアカウント名は 1 対 1 に対応していなければならない。また、同一の システム上では、同し UID やアカウント名をもつュー サーがいてはならない。アカウントをクレジットカード にたとえるなら、 UID はクレジットカード番号。 ・グルーフリ番号 (GID) UNIX システムでユーサーが所属するグループの番号。 GID とグルーフ。名の対応表は /etc/groupo グループ には wheel 、 daemon 、 sys などがあり、たとえはあ るファイルの読み書きに関して、「 sys グループに属す るユーサーだけか読める」と指定したりできる。 ・ユーサー情報 そのアカウントをもつューサーのフルネーム、部屋番 号、オフィスの電話番号、自宅の電話番号などを登録 できる。あまり詳しく書くと、いたすら電話などの対象 13
おうちで らんランし AN 第 2 回 Samba で踊ろう !? 岡山聖彦、片山喜章 monkey : いやー、今日は会社で大変やったで。 あつぶる : お疲れさま。いつも大変そうだけど、今日はど うしたの ? monkey : NIS のマスターサーバーの機種を交換したん や。今度のサーバーは、もとのサーバーと OS が違う やつやったんや。 あつぶる : OS カ嗹うと大変なの ? monkey : 大変ゃな。もとの環境からそのままコピーし て動かしても、うまいこといカんのやな、これが。 あつぶる : 同じコマンドがあったら、そのまま動きそう なものなのにね。 monkey : ん一。 NIS サーバーゆうても、データク是供 去はまったく同しはずやから、間題はデータの生成の 部分やねんけどな。そこか違うたんや、今回は。 あつぶる : その間題に気づくまでにどれくらい時間がか かったの ? monkey : 問題自体は、サーバーを交換するなりューサー から文句の電話カ鴫り続けとったから、すぐに分かった んやけどな。テストのときはうまくいったんやで。 あつぶる : でも、だめだったんでしょ ? monkey : そや。テストしてたマシン上ではうまくいっ てたんやけど、違う不頁のマシンでうまくいカんかっ たんや。 : へえ。で、原因は ? あつぶる monkey : それか複雑でな。 3 つの要素が入り混しっと った。マスターサーバーのコマンドのイゞすこしだけ 違ってたり、ある不頁の OS の NIS の機能が、ほかの とちょっと違ってたり、データのフォーマットがちょ どれもこれも、いままでは問 っと間違ってたり・ 題なかったんやけどな。 12 あつぶる : 複数の原因か諮み合った障害って、原因をみ つけるのも大変だ monkey : そうやがな。 3 人がかりで 3 時間や。ソース コードを読む人間。スクリプトを読む人間。旧いサーバ ーのデータと新しいサーバーのデータを上交する人間。 あつぶる : で、こんなに遅くなったわけね。 monkey : そういうこと。 あつぶる : 楽しようと思って古いものをそのまま使うと 大変なことがあるという教訓ね。 monkey : それはわしの junk PC ・・・・・・もとい、 umpc 君を後生大事に使てることに対する忠告ととってもええ か ? あつぶる : とんでもない。古いものを大切にする心も大事 よれ monkey : そやけど、畳となんやらは新しいほうがええ てな。 あっぷる : はう。新婚ホヤホヤで幸せいつばいのはすの 。明日の朝起 人間の口からそんな言葉が出るとは・・ きたら、家のなかがカラッポになってることを覚唐の うえの発言とみなします。以 monkey : ちゃいまんがな。新しい嫁さんもろて、嬉し いなっちゅうことを表現したかったんやがな。 あつぶる : ははあん。ということは、古い嫁さんもおっ たゆうこと ? monkey : つ、強い。泥沼や・ 今月は前回約束したように、 FreeBSD の残りの設定を 紹介します。さらに、 UNIX と Windows でのファイ ル共有の譿定についても説明します。いよいよ、本格的な ネットワーク利用竟を構築する段階に入ってきました。 UNIX MAGAZINE 1997.6
決められたプログラムは自由度カ觝いのが欠点です。しか し、 FreeBSD の adduser コマンドは、その設疋ファイル を書き換えることでかなり自由にカスタマイズできます。 adduser の設定ファイルは /etc/adduser. conf で す。なかを見れは、何をどう設定しているのかがすぐに分 かるでしよう。ここでは、 adduser. conf ファイルの設疋 項目のいくっかを簡単に紹介しておきます。 ・ dotdir 新規作成ューザーのホーム・ディレクトリにコピーさ れる個人設定ファイルの場所を指定する。デフォルト では、 /usr/share/skel の下にある dot. cshrc 、 dot. login 、 dot. mailrc 、 dot. profile 、 dot. rhosts が、先 頭の、、 d 。 t " を除いた名前でコピーされる。これらの内 容を書き換えることによって、新規ューサーのデフォ ルト竟を指定できる。 ・ send message 新規作成ューサーに送信するメールの内容を記述し たファイルを指定する。デフォルトでは / etc / add ー user ・ messageo このファイルを書き換えると、送られ るメッセージを変更できる。 no を指定すると、メール は送信されない。 新規ューサーのホーム・ディレクトリを作成するディレ クトリを指定する。デフォルトでは / h 。 me 。この状態 、、 / h 。 me / アカウント名 " でアカウントを作成すると、 となる。 ・ path ログインシェルのある場所を指定する。 ・ shellpref 新規ューサーのログインシェル窈尺肢を列挙する。 のリストは、 /etc/shells にあるシェルから自重加勺に生 成される。新しくシェルを追加した場合には、忘れす に /etc/shells に言当主しておく。 ・ uid-start デフォルトて割り当てられる UID を何番からにするか を指定する。 これだけの設定項目があれは、かなりのことができそう ですね。こういう自重加勺に 0 つしてくれるものをあまり信 用していない人でも、数名程度のアカウントを登録する場 UNIX MAGAZINE 1997.6 おうちでらんラン LAN 第 2 回 合は、 adduser のほうか楽て便利だと思えるのではないで しようか。 もう 1 つ追加清報です。工デイタで直接 adduser. conf ー v " オプションを の内容を書き換えてもいいのですが、 付けて adduser コマンドを実行してみてください。 add- user. conf のいくつかの成疋内容を、質問に答える形式で 対話的に変更できます。ここでは具イ勺に説明しません が、百聞は一見に如かず。実際に試してみてください。 あつぶる : アカウントもできたし、さっそく UNIX を使 わせてもらおうかな。 monkey : そしたらわしは Windows を借りるで。 あつぶる : コマンド行からコマンドを実行するなんて久し ぶりって気がするわ。 X ウインドウはないけど、これ が UNIX だなって感し。 monkey : X はもうちょっとあとでな。それより、 umpc のわしのホーム・ディレクトリに sarumata. doc っちゅ うファイルがあるやろ ? それをフロッピーに落として くれへんか。 あつぶる : なんのファイル ? monkey : sarumata さんが会ネ土の Windows マシンの MS-Word で書いた文書や。石忍せなあかんことがあっ てな。 あつぶる : でも、なんで umpc に入れたの ? UNIX で Word なんか使えるはすないのに monkey : あつぶるちゃんが使うてたから、遠慮してた んや。ほんで、フロッピーはほかで使う用事があった から、とりあえず中身だけ umpc のハードディスクに 残しておいたっちゅうことや。 あつぶる : なるほど。しゃあ、フロッピーディスク貸して。 monkey : え ? 適当なの持ってへんか。 あっぷる : 私ふだんフロッピー使わないもん。 monkey : フロッピーあらへんのか。しゃあないなあ。 Windows から FTP して取るか・ あつぶる : せつかくネットワークにつながった W ⅲ d 。 ws 95 があるのに、 DOS 窓で FTP っていうのも悲しいね。 monkey : いや、こっちのほうカ明Ⅱ染みやすいっちゅう Windows とのファイル共有 ューザーもたくさんおるで。 17
をを : 信を信第物等 : 物を槲物物 3 勢 : 既す信 : を第第島第信 : 信等島等島 3 等 : 物をにを第に等をに等等を第を信をを第第にを品す ・ソフトウェアに「ハッカ—(Hacker) を犯罪者と 考えている人の利用を禁する」という利用制限を付けるこ との是否をめぐる活発な言墟侖です。 おもな意見は、この利用制限は思想の自由や用語の自 由な利用を妨げるものである、正しい言葉をつかってほ しいだけ、抱合せ商法に通じるものがある、 GNU の例を みてもフリー・ソフトウェアを利用するのになんらかの制 限があるのは当り前のことである、、、ハッカー " のなかの 悪い行為を、、クラッカー " として分けるのは自由だが、そ ノ、ツカー " は れに従わなけれは・ならない必然生はない、 、、ハッカー " と称する人 犯罪者を意味する言葉ではない、 のなかに犯罪的行為をしている人がいるのは事実であり、 「犯罪者をハッカーと呼ぶのは間違いである」というのは かならすしも正しくない、 MIT の莫型クラブの日罸に の、、ハッカー " とその行動を見ると、豸凹ド的行為をする人 の代名詞として使われていたことがあるのは事実である、 いやそうではない、といったものです。 Newsgroups: . questions. unix Subject: about mail application UNIX で、 Macintosh や Windows の Eudora のよ うな、簡単にメールを読み書きできるメール・ソフトウェ アはないのでしようか、という質間記事です。 これに対して、 UNIX でメールを読み書きするには Mew がよい、 Mew よりは pine のはうか初心者向きで はないか、 elm や mnews のほうが日本語メッセージが 出てよい、といったフォローがきました。 残念ながら、 UNIX ではマウス操作の GUI をもった メール・ソフトウェアはほとんどありません。 XEmacs と Mew という組 , が多少それに近いでしようか。 Newsgroups: fj.sys. sun Sub. 」 ect: memory used by Xsun メモリが 320MB のマシンで、プロセスの消費メモリ を top で見たところ、 Xsu Ⅱというのが 121MB もメモ リを使っていると表示されました。本当にこんなに使っ ているのでしようか、メモリの消費を抑えるにはどうし たらいいでしようか、という質問記事です。 これに対して、そのプロセスが使うアドレス空間は 121MB だが、実際に使っているメモリはその右に表示 される 12MB である、メモリの管理は OS がおこなうの で気にしなくてもよい、 xdm を使っているとメモリがか なり消費されることがある、 X ウインドウ・システムを 使い終ったら毎回 X サーバーを再起動けるようにしてお くとよい、といったフォローがきました。 X サーバーは、クライアントが多くなるとたしかにメ モリをかなり消費しますが、それにしても 121MB とい うのはすごいです Newsgroups: . comp. dev. display Subject: DispIay cleaner コンピュータを使用していると、つい指でディスプレ イを触って油膜だらけにしてしまうのですが、お薦めのク リーナーや掃除力法はあるでしようか、という質間です。 これに対して、画面を指すときは爪のはうから近づけ るとよい、窓ガラス用のスプレーを使っている、そオ・けごと 「丘のディスプレイの Ergo コートは溶けてしまう、ト レシーのような拭き取り布を使う、無水エタノールを使っ て拭いている、 Ultima OA Equipment Cleaner がよ い、といったフォローがきました。 私もよくガラス用スプレーなどを利用していましたが、 表面のコートカ豁けてしまうとは知りませんでした。 Newsgroups: fj.editor. mule Subject: Compatibility mule-2. x and xemacs-20. * ? ・広 Mule 2. x から XEmacs 20. x に乗り換える人が 多いように思うのですが、各種の Emacs Lisp パッケー ジがそのまま動くのでしようか、という質間記事です。 これに対して、いくつかのパッケージは動かない、見 栄えはよくなるかマシンへの負荷は増える、それさえ我 すれはイメージか扱えたり、多彩なフォントが使えるので よい、 FreeBSD てイ吏うとすると Pentium 120MHz 以 上、メモリは 48MB 以 - ヒないとつらい、現在のバージョ ンは日常生活の道具には使えない、といったフォローが きました。 やはりソフトウェアは、 GUI をもつ方向に進むので しようか。 Newsgroups: 巧 . mail Subject: Contents of Subject: field and RFC(?) 電子メールや NetNews 記事の Subject ( タイトル ) を日本語で記述することの是非から発展した、 Subject に書くべき内容や形式に関する言侖です。 第い信第信す第第第第信第エ等第第第第信第信第信信第信等第第麕第既 : : 信第に信第を信 : 第信 3 第 138 UNIX MAGAZINE 1997.6
「 ctrl 十 AIt 十、、十 " 」て解像度を切り替えると映る場合も ありますが、そうでなけれは強制終了が必要です。 X サーバーが正しく起動されると、図 35 のようなウィ ンドウか表示されているのが分かるはすです。仕上げとし て、おこなった設疋をどこに保存するかを訊かれます。 デフォルトの状態では、設定ファイルの保存場所が / etc /XF86Config になっています。とくに変更する理由がな けれは、このまま [Save the configuration and exit] と書かれたメニューボタンをクリックし、設疋を保存して XF86Setup を終了します。 なお、 [Run xvidtune] をクリックすると、画面の表示 位置などを徴調整するプログラム (xvidtune) カ起動され ます。しかし、大半のディスプレイには表示位置の微各 機能が付いているので、このプログラムを使って各する 必はますありません。 以上で XFree86 のセットアップは完了です。コンソー ルから xinit や startx などを実行すれば X か起動します し、次節で紹介する xdm を使えは、つねに X を動かし ておくこともできます。なお、 X を起動しておいてから XF86Setup を実行すると、現在の設定を変更することが できます 29 。「 X は起動するけど画面がちらついて見づら い」ような場合は、モニターの設定などを調整しましよう。 xdm による X サーバーの管理 あっぷる : 偉いものねえ。ちゃんと X も動くようになっ たしゃない。これでようやく一人前ってところかしら。 monkey : そうやろ。もうゾンピや junk しゃなくて、 立派な UNIX マシンやで。 あっぷる : でも、なんか画面が見づらいわよ。ちらつい てるわけしゃないんだけど、画面がばやけてるってい うか。 monkey : わしも、さっきから気になってんねん。あま りディスプレイにお金をかけられへんかったし、かなり 古くなってるからな。これしや、目か疲れてしゃあな いわ。あっふるちゃん、 applepc のディスプレイと取 換えっこせえへんか ? あっぷる : いやよ、そんな古は、けた画面て家言 1 簿つけるな 29 この際、既存の XF86Config ファイルをもとにするかどうか、れ ます。 42 図 36 xdm のログイン醯 んて。ウインドウが使えない Windows なんて、シャ レにもならないわ。 monkey: そりや、ごもっとも。せめて入力が 2 系絲充あ るディスプレイやったら、 2 つの PC で 1 つのディス そうや、ええこ プレイを共有できるんやけどな・・ と思いついた。取換えっこはやめにする代わりに、ディ スプレイを、、間借り " させてもらうで。 あつぶる UNIX マシンで X を利用するには、コンソール画面か ら xinit や startx を実行するカ 1 去のほかに、 xdm を使 う方 1 去があります。 xdm は、、 X Display Manager" の略 で、直訳すると「 X の画面を管理するためのプログラム」 となります。 xdm を利用すると X サーバーがつねに動いている状態 になり、ログイン画面は図 36 のようになります。通常は X のウインドウ環竟でマシンを利用することが多いでしょ うから、 xdm を使えばログインするたびに X を起重丿ける 必要がないので、たいへんイ叫リです。 さらに、 xdm ク寺徴として、「ネットワーク接続された 他のホストの画面も管理できる」点か挙げられます。皆さ んは、、、 X 端末 " というマシンを見たことがあるでしよう か。 X 端末はその名のとおり「 X か動く端末」で、ハ ディスクなどはもたす、 X サーバーの機能と他のホストで 動いている xdm や X クライアントと通信する機能だけを もったマシンです。つまり、 X 端末て起動されている X サーバーをリモートマシンの xdm に管理してもらうこと で、あたかもリモートマシンの x ウインドウを使ってい るような感覚て利用できます。たとえば、 umpc の xdm W を畩 : ( 川•e 講れ ! ! UNIX MAGAZINE 1997.6
dev/console と /dev/syscon /dev/console も、しつはいつも同し ttY に対応していると はかぎりません。たとえは、 SunOS 4.1. x で、 man console とすると、「グラフィックス・カードが入っていれは、ドライ バがその一ヒで端末工ミュレーションをおこなうが、そうでなけ れは、シリアルポートのドライバをコンソールとして使う」と いった意味のことか書かれています。 system III のころには、コンソールを示すデバイスとして /dev/syscon というのもありました。これも、コンソールと して使っている tty を指していました。このこと自体は別にか まわないのですが、一碚にの System III のマシンでは困ったこ とがありました。 /dev/syscon が指している ttY は、シャットダウン時に シャットダウン処理を孑ぐした tty になってしまうのです。し たがって、数多くの tty 端末がつながっているマシンでは、ど れがコンソールかが分からす、起動できなくなってしまうこと があったのです・・ を実行すると、端末装置の名前も表示されます。 これらのコマンドが使う利用者や利用端末装置に関する 情報は、 utmp や wtmp というファイルに収められて います。これらの記録は login の実行によって書き込ま れ、現時点の情報が utmp に、過去からのすべての情報 ーこに利用者名と利用時間、 が wtmp に保存されます。 利用端末装置名求されているのです。 ューサーの端末装置名が分かるからといって、なんの役 に立つのでしようか。去も匠はあまり使われなくなったよ うですが、かっては、 talk や phone などのコマンドで、 相手かイ吏っている端末を指定して話しかけることがありま した。通常は利用者名やホスト名だけて特定できますが、 相手が x などで複数の端末を使っていると、端末装置名 を指定しなけれはならないこともあったのです。このよう に他人から話しかけられるのはいいにしても、自分がキー ポードなどで入力している内容をとられては困ります。 そこで、各ューザーが利用しているデバイス (/dev/ ttY*) の保護モードは、一般に読込みは利用者本人のみ、 書込みは全員に許可さ所有者は利用者自身に設定され ます。このイモードの変更などは、 login コマンドの実 行時におこなわれます。むやみに話しかけられるのは困る ので、許可したり、手色したりする mesg コマンドが用意 されています。これは、自分カイ吏っている /dev/ttY* に他 人か書き込めるかどうかを変更するコマンドです。 112 端末装置の名前は、別のところでも管理されています。 実行中のプロセスを ps コマンドで覗くと、利用している ps —ef' (BSD 端末装置名が表示されます。ところが、 系では、、 ps -ax") として、現在動いているすべてのプロ セスを調べた場合、端末装置名が表示されないものもあり ます。それでは、なせプロセスと端末装置名とが結びつけ られているのでしようか。 遠「鬻也からモデムでログインしているとしましよう。も し使っている最中に回線が切れてしまったときは、実行中 のプロセスをすべて終了させ、最初の login プロンプトが 出るように、モデムに接続されている ttY を再設定しなけ れはなりません ( 前述のように、あるユーザーがその ttY を使っている場合は、所有者や f 隻モードか変更されてい ます ) 。このような回線の切断は、モデムのキャリア検出 制御線の変化として tty に伝えられます。その場合、そ の端末からの操竹て起動されたプロセスは不要になってい るはすなので、以前の System III や SystemV の tty ドライバでは、これらのプロセスに対して HUP シグナル を送って終了させます。この tty に関連するプロセスを、、 プロセスグループ " と呼びます。しかし、このイ督はみでは、 リモートでバックグラウンド処理を実行しておき、いった ん回線を切って結果が出るころに再妾続したいと考えて も、回線を切ると同時に ( 終了させるつもりのなかった ) それらのプロセスも強缶揆了させられてしまいます。この ようなときもプロセスを終了させたくないときは、 nohup コマンドで明示的に指定します。 % nohup command & BSD 系 UNIX の tty ではこのようなことはなく、バッ クグラウンドで走らせていたプロセスはそのまま動き続け ます。ただし、それらのプロセスと tty のつながりは失わ れてしまうので、 ps コマンドの出力のように、対応する 端末装置名が表示されなくなるのです。 ふだん何気なく使っている、、 Control-C" も、 ttY とフ ロセスを関連づける機能です。、、 stty -a" (BSD 系で は、、 stty everything") を実行すると、 intr ( 割込み ) 、 susp ( ヨ停止 ) 、 quit 了 ) の各制御文字カ俵示されま す。これらは、フォアグラウンドで実行中のプロセスに対 プロセス制御と tty UNIX MAGAZINE 1997.6
連載 UNIX Communication N0tes—O ・ SYN (SYNchronize) 次のコードビット (code bit) は 6 ビットのビットマ スクで、そのセグメントの種別を表す。この 6 ビットに は、次のような意味がある。 50 ・ PSH (PuSH) ルドに処理に必要な情報か設定されていることを表す。 を要求するとともに、ヘッダの urgent pointer フィー いるセグメントは、受信ホストに特別なデータ転送処理 pointer フィールドである。 URG ピットが設定されて 構がある。この処理に使われるのがヘッダの urgent TCP には、通常のストリームとは別のデータ転送機 ・ URG (URGent) ある。 バック (piggy-back) による送信をおこなう場合とが と確認応答番号を設定した、いわゆる ACK のピギー 常のデータ送信に使われるセグメントで ACK ビット ヘッダだけからなるセグメントを使用する場合と、通 の ACK ビットと確譿芯答番号を設定したセグメント れる値かオ褓内されている。受信確認応答には、ヘッダ 説明した石芯答番号フィールドに受イ蔀忍処理に使わ す。 ACK ピットが設定されている場合は、さきはど 受イ蔀寉認応答の情報をもっセグメントであることを表 ・ ACK (ACKnowIedgement) をおこなう。 るメッセージで、コネクションの完全な解放と初期化 ことを表す。コネクションに異状がある場合に使われ コネクションをリセットするためのセグメントである ・ RST (ReSeT) に応じて決められる。 ネクションを解放するかどうかは、コネクションの状態 知らせるだけであり、このセグメントの送信と同時にコ 表す。このセグメントは送信すべきデータがないことを に伝えるために使われる制御用セグメントであることを 送信側にはこオび丿ま送信するセグメントがない、と相手 ・ FIN (FINish) とから、 SYN セグメントと名付けられた。 用するシーケンス番号を同期する (SYNchronize) こ ことを表す。コネクション設定時に 2 つのホスト間で使 コネクション設疋時に使われる制御用セグメントである TCP には PUSH と呼ばれる機構があり、このビ ットが設定されたセグメントは、受信ホストに対して PUSH の処理を要求するために使われる。 次の window フィールドは、 TCP がおこなうウイン ドウフロー制御で用いられる。このフィールドには利用可 能な受信バッフアのサイズかオ褓内さオ、これか相手に伝え られる。このイ督はみにより、相手側では送信するデータ量 を調整し、バッファ溢れが発生しない処理を施す。 TCP でのウインドウフロー制御においては、きわめて重要かっ 輿飛架い処理がおこなわれるので、男頓にまとめて説明す る。 タイマーによる再送 転送データの喪失や重複が生した場合、 TCP では Pos- itive Acknowledgement 手法を用いてデータが正しく送 られたかどうかを石忍し、信頼生を確保する。 TCP によるコネクションが設定されたホスト間では、 データを受信するたびに送信ホストに確認応答 (ACK : Acknowledgement) を送る。この ACK の交換によっ て、送信ホストはデータが正しく受信されたことを石忍す る。ただし、 -- ド位層の IP はイ講生を一正していないので、 ACK も通信中に失われる可能生がある。そこで、 TCP で は ACK の喪失か発生する可能生も想定してプロトコルが 作られている。 上で説明した Positive Acknowledgement と正 ( 対の 手法が Negative Acknowledgement である。このカ去で は、受信ホストは送信ホストに対してあるデータを受信して いない旨の確芯答を送る。ー殳に、このメッセージは Pos- itive Acknowledgement の場合の ACK と区別するため に、 NACK" と表記する。この 2 つの方式を上交すると、 Neg- ative Acknowledgement は通信工ラーの少ない品質のよい 回線での使用に適している。このため、も匠開発されたプロト コルのなかには、 NACK を基本とした石忍手法を使って いるものもある。 送信ホストでは、データを送信したあと、一 -- ・定日判肋軽 過しても受信ホスト側から ACK カ亟ってこない場合、デ ータを再送 (retransmission) する。この機構にはタイマ ーが使わデータ送イ言麦、設定された時間以内に ACK が区送されすタイムアウトした場合に再送する。そこで問 題となるのは、このタイマー ( 再送タイマー ) にどのよう UNIX MAGAZINE 1997.6
只ー宅 ! 図 2 samba が NetBIOS/SMB を翻訳 なにゆうてるか 分からへん・・・ 照れるやないか・・・ なんかおごったろか ? UNIX NetBlOS/SMB 第訳器 Samba あんさん、 かっこええな Windows 95 ・ Windows 95 / NT 、 OS/2 などの SMB を利用してい るシステムから、 UNIX のファイルやプリンタを利用 できる。 ・ UNIX から、 Windows 95 / NT 、 OS/2 などのファイ ルやプリンタにアクセスできる。 ・ NetBIOS の世界でのネームサーバーを提供することが できる。 ・ UNIX で、 Vindows 上のファイルのノヾックアップか取 れるようになる。 お金を出して製品を買わなくても、自分でほんのすこし ( ! ? ) 設定すれは、こけごけのことかできるようになるので す。私たちの周りでも、 UNIX て制御されている PS プ リンタに Windows 95 から samba 経由で出力したり、 UNIX のファイルサーノヾーに Windows 95 関連のフリ ・ソフトウェアを置いておき、それをみんなで共有し たりしています。ほかには、 Windows 95 上にファイル を置いておくと、誰にでも見られてしまう可能性がありま す。そこで、 UNIX 側に置いておけばセキュリティ面では 安じ、できるので、重要なファイルは samba 経由で UNIX 側のホーム・ディレクトリに移動させたりもしています。 samba を利用すれば、 UNIX と Windows の利点を 同時に利用できるようになる。そう考えると、インストー ルせすにはいられないですね。 samba の設定準備 samba -1.9.15P8 は、 FreeBSD 2.1.6 、 2.1.7 のノヾッ ケージに伺属しているバージョンです。最新のバージョン UNIX MAGAZIN E 1997.6 おうちでらんラン LAN 第 2 回 は 1.9.16P11 ( 1997 年 4 月 20 日現在 ) ですが、 CD- ROM でも入手でき、コンパイルの必要もないという理由 から、 1.9.15P8 を対象にします ( ソースもありますから、 再コンパイルしてもいいのですか ) 。「最万のほうがええん じゃ」という方は、自分で手に入れてインストールしてみ てください。 なお、 1.9.15 と 1.9.16 では、 nmbd の扱いが大きく変 わっています。要所で違いを孑商しておきますが、 1.9.16 を利用する方は、ぜひパッケージに刊属するドキュメント を読んでからインストールしてください。 samba ノヾッケージがインストールされているかどうか を石忍するには、 /usr/sbin/pkg-info コマンドを利用し ます。 pkg-info は、インストーラによってそのシステム にインストールされたパッケージの一覧などを表示してく れるコマンドです。 samba がインストールされているか どうかは、次のようにして調べます。 umpc$ /usr/sbin/pkg-info —a ー grep samba lnformation for samba-l . 9.15P8 : umpc$ ロ インストールされている samba のパッケージ名が出力 されています。何も出力されなかった場合はインストール されていません。 samba パッケージのインストールには、 /usr/sbin/ pkg-add コマンドを利用します。これを使えは、その パッケージがあるところ (CD-ROM 、 FTP など ) を指 定することにより、コマンド行から直接インストールでき ます。あるいは、 /stand/sysinstall コマンドを夫行する と、システムのインストール時に利用した対話型のインス トーラか起動します ( 図 3 ) 。これを使ってインストール することもできます。どちらか好きなはうを選んて利用し てください。今回は、 pkg-add コマンドでインストール しました。 FreeBSD に samba パッケージをインストールする と、すべてのマニュアル類と、 /usr/local/samba/ 以下に smbd や nmbd 、 testparm などのコマンド類がインス トールされます。 /usr/local/etc/ には、設定ファイルの smb. conf がインストールされているはすです。 しつは sysinstall コマンドを利用すると、パッケージ のインストール後、 samba の基本的な設定まである程度 19
矢可寺間は、ローカルのハードディスク間のコピーよりも短 かった。今日の PC ネットワーク・ハードウェアは速く なっており、 DOS の FAT ファイルシステムより UNIX ファイルシステムのほうか勝っていると考えれば、驚くべ きことではない。 FTP Software の OnNet では、 NFS を UDP から TCP に切り替えることもできる。今回のようなネットワ ーク・トラフィックの少ない環境では、 TCP を使った NFS のほうがすこし遅かったおそらく、 UDP にくらべ て TCP には余分なオーバーヘッド ( 1 バケットあたり 12 バイト ) があるためだと思われる。 TCP を使ったほうが いいのは、バケットロスが発生するような、もっとネット ワークカ昆雑した環境だけだろう。 FTP Software など いくつかのべンダーの製品では、読出し要求と書込み要求 の最大サイズを指定できるようになっている。書込みデー タの転送は、 1 回の転送を最大値の 8 , 192 バイト (NFS 2.0 の限界 ) に指定したときもっとも性能がよかったが、 読出しデータの転送は、 1 , 024 バイト以日こしたらうまく いった。こうなるのは、 NFS 2.0 の書込みか 1 司期してお り、バケットがディスクに書き込まれてしまうまで応答が 返ってこないためである。 以前からいわれていることだが、一ヨ殳的に NFS プロ トコルはディレクトリ検索に時間がかかる。 NFS 2.0 で はリモートファイルの属性情報を得るのに、別々のネット ワーク・リクエスト ( バケット ) を送る必要があるためであ る。 DIR リクエストを再現するために、 MKS (Mortice KernSystems) から出ているディスク・ユーティリティ (du. exe) を使い、 WFW がインストールされているディ レクトリにある 100 以のファイルの属性情報を得る時澗 を測定した。ローカルディスクにあるファイルでは、 0.05 秒だったが、 NFS マウントされたファイルの場合は、 2 秒以かかった。 最後に、 DOS や Windows で典型的なアプリケーシ ョンのテストを続けておこなった。テストしたアプリケー ションには、 5MB のデータベース・ファイルを圧縮す る PKWARE の PKZIP 2.03 などを使った。このテ ストを NFS マウントされたファイルシステムーヒで実行す ると、 NFS の読出しと書込みの両方が必要になる。また、 Microsoft の FoxPro for Windows を使って、オレゴン 川の 15 , 000 の支流を含んだデータベース・ファイルから 連載 /NET WORTH—O UNIX MAGAZINE 1997.6 30 文字の名前フィールドによる索引を生成するなど、デー タベースに対していくつかのテストをおこなった。ー区し になるが、データベースの索引を生成するこのようなテス トでは、 FoxPro がヨ勺な竹ミ業ファイルを作成するので、 読出しと書込みの両方が必喫になる。このような畤別なテ ストをすると、アプリケーションを PCNFS ネットワー ク上で動かすときに、多くの PC プログラムで j 邑する 問題も明らかになる。当初は FoxPro 2.6 を使ってテス トしたのだが、索引生成のテストは止まったように見え、 完了するのに 2 分以 - ヒもかかった。 FoxPro 2.5B に変え て同しテストをすると、最高で 11 秒で完了した。このよ うな問題の原因は、 Microsoft の多くの PC ソフトウェ アで硬われているファイルのロックやセマフォ ( ファイル ロック ) を使う一・ - 印ファイルで相通信がおこなわれるこ とにあるようだ。その次のデータベースのテストでは、同 しデータベース・ファイル ( 索引データとデータベースの NFS 読出し ) を索引順に取り出し、レポートを生成する イ 1 璞をおこなった。 テスト結果から分かるように、 NFS の生能はべンダー によりさまざまである。何年もかかってコードをうまくチ ニングして NFS の性能を引き出した、 FTP Soft- ware など窈足来の PCNFS べンダーの製品では、燧可寺 = 間で NFS のアクセスができる。今日の PCNFS ソフト ウェアでは、多くの場合にデスクトッフ。のディスク I/O と同等の性能か得られる。 デスクトップ Windows 3.1 で動く PCNFS につい て述べたので、次は Windows 95/NT て利用できる同 種の新製品についてテストするのがよいだろう。そこで次 回は、 W ⅲ 32 環境で利用できる PCNFS について言刊面 する。それでは次回まで、デスクトップ端末からリモート ファイルを共有しよう。 州の建物のエネルギー管理をおこなうオレゴン州エネルギー省勤務。 fProgrammer's JournalJ のノ疆集者であり、 tExtending DOSJ ☆ ■ M. Steven Baker ◎ 1996 , UNIX REVIEW (). S. A. ) UNIX REVIE 、 1996 年 12 月号より 「 Comparing Desktop NFS Clients 」 (Addison-Wesley 、 1990 ) の著者の 1 人でもある。 79
ーー tty して、プロセスにおけるイベント通知メカニズムの 1 っ であるシグナルを送るためのものです。 tty のデバイスド ライバでは、これらに登録されている未文字を検出する と、 kill コマンドと同様にシグナルを送ります。つまり、 tty にはプロセスをコントロールする、、入り口 " の機能が 含まれているのです。 簡単な編集機能としての tty 山も匠は、本物の TTY カ材妾続されることは皆無といって も過言ではありません。ウインドウ・システムの利用が当 然となった現在、 tty というテンヾイスは端末工ミュレータ が用いるデバイスにすぎなくなりつつあります。しかし、 ウインドウ・システムか及するまでは、 tty がユーサー インターフェイスの最前線て奮闘していたのです。 さきほどの stty コマンドで表示される制御文字は、シ グナルに置き換えられるものだけではありません。そオび人 外の制御文字の大半は、行単位での編集機能に関するもの です。たとえは、バックスペース・コードで直前に入力 した文字を無効にできるのも、この機能が働いているから です。編集機能は、初期の UNIX ではアプリケーション 側で実装されていたこともあるそうですが、もともと共通 性が高く、操作生も統一されていたはうがよいとの考えか ら、ドライバの一部として実装されるようになったのでし よう。現在ならもうすこし別のかたちて提供できるような 気もしますが、 UNIX の発展期の前提条件としては妥当か もしれません。 編集機能を担うモジュールは、、、 Line disciplines" と 呼ばれます。 Line disciplines は、簡単なアプリケーショ ンの入力や孑気こ叫リですが、エデイタの操作や通信可 線として tty を使う場合は、 tty か文字を勝手に解釈した り置き換えたりするので何かと不都合です (tty を介して データを送っているときに、 Control-C に対応するコー ドがきてプロセスか消えてしまったら困ります ) 。そこで、 icanon という項目て編集機能の ON/OFF ができるよう になっています。 Line disciplines はデバイスドライバの構造ー E 、置換 えが可能になっていて、システムコール ioctl() の TI- OCSETD などで変更できます。通常の端末以外で置換 えをおこなうものとしては、シリアル IP 接続に利用する UNIX MAGAZINE 1997.6 UN Ⅸの基本 図 1 tty と SLIP ドライバ告 /dev/tty* 行単位での編集をおこなう Line discipline シリアル転送用ドライバ RS232C 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ( ポーレート設定など ) 0 s 1 ☆ 構築する Line discipline S 凵 P 用のバケット構造を SLIP (Serial Line lnternet Protocol) が代表的です。 とはいえ、 SLIP では Line disciplines を編集機能とし て使うわけではありません。 IP のフレームを再構築して、 ネットワーク・インターフェイスとして (ifconfig で ) 扱え るようにする簡度しとして働いています。つまり、シリア ルポートからやってきたデータは、 SLIP 用の Line dis- ciplines で処理され、ネットワーク・インターフェイス の口から出ていきます。したがって、そのシリアルポート に対応する tty にはデータは上がってきません ( 図 1 ) 。 stty のノヾージョンによっては、 Line disciplines をこ れで切り替えられるものもあります 1 。 これはイ伹則ですが、シリアル回線にキーポード以タ ) タ プレットなどを接続することを考えた機能ではないかと田 ッじ、 います。やる気さえあれば、自分の好みに合わせた Line disciplines を新たに作って組み込むこともできます。我 こそはと思う方は、挑戦してみてはいかかでしようか。 ネットワークと tty ネットワーク環境で Line disciplines の機能を使った り、 tty をうまく扱うための機構が pty です。 pty の p は pseudo 、つまり、、仮の " あるいは、、孑鬮勺な " という意味 で、 4.2BSD から加わりました。実際には、 /dev/ptY* 1 SunOS 4.1. x でー a " を実行すると、 1 行目ク冬りにコⅲ e = 2 " といった表カ訒ゞ出てきます。これは、、、 Line discipline の 2 を使っ ている " ことをカ朝一ようてす。 stty コマンドのオプションに line があ りますが、これは Line discipline の切替えのために用意されている と思われます ( ただしオンライン・マニュアルには説明がありません ) 。 SunOS 4.1. x JLE の日本語オンライン・マニュアルにも、、、 EUC Line Discipline" という単語はありますが、これまた説明はありませ ん。 113