UN Ⅸへの招待⑩ 定し、特定の情報を表示することも可能です。 % lastcomm /bin/ls /bin/hostn /usr/bin/s /usr/local aya aya aya aya ttyp0 ttypO console console 0.13 secs sat ju1 0 . 03 secs sat jul 0 . 06 secs sat 」 ul 0 . 22 secs sat 」 ul 6 21 : 57 6 21 : 57 6 21 : 56 6 21 : 56 lastcomm のほかにも、 acct を扱うコマンドとし て /etc/sa があります。 lastcomm は acct の内容を表 示しますが、 /etc/sa は acct と saveacct ファイルの 両方の内容をもとに統引請報を表示します。これを使う と、ユーサーがコマンド実行に消費した CPU 時間、メ モリ容量など、数々の統調青報を得られます。 wtmp 、 acct 、 saveacct は、ユーザーがログイン / ログアウトするたびに、またコマンドを使うたびにどん どん大きくなっていきます。放っておくと、それだけ で /usr ファイルシステムを喰い潰してしまわないとも かぎりません。そこで、通常は cr 。 n などを使って定期 的にその内容がクリアされています。なお、以 - ヒ説明し たアカウント機能は、 BSD 系の UNIX て提供されてい るものです。 SystemV 系の UNIX では、 BSD にくら べて複雑な仕組みをもつ本格的なアカウント機能力甘是供 されています。 UNIX のオンライン・マニュアル いまさら説明するまでもありませんが、 UNIX では 画面でマニュアルカ売めるオンライン・マニュアルの 機能か供されています。そして、この機能に関連した 、、ファイノレが /usr ファイノレシステムのなかの / usr / man に置かれています。 % ls -f /usr/man catl/ cat3/ cat2/ cat4/ cat5/ cat6/ cat7/ cat8/ man 1 / man2 / man3 / man4/ man5/ man6/ man7 / man8/ whatis こでは、 cat1—cat8 と man1—rnan8 というディ レクトリがあります。このファイル名のうち、最後の 1 文字の数字はマニュアルのセクション番号と一致してい ます。つまり、マニュアルのセクション 1 の説明は、 manl( または catl) というディレクトリの下にあるわ けです。また、個々のマニュアルページは、 名前 . セクション番号 というファイル名で、 /usr/man/man? の下に 1 つの ファイルとして置かれています。このほかに、 manl 、 manp 、 mann 、 mano( そして catl 、 catp 、 catn 、 catO) UNIX MAGAZINE 1991.9 などのディレクトリがあることもあります。 ディレクトリの名前はそれぞオ L 、 これらの manl manp Ⅱ 1 ann mano loc al public 01d という意味です。 man コマンドは、 ( 引数でセクショ ン番号が指定されなけれは ) これらのディレクトリを 1 Ⅱ an1 、 rnann 、 manl 、 man6 、Ⅱ 8 、、Ⅱ、 155
UN Ⅸへの招待⑩ man4 、 man5 、 man7 、 manp 、 mano の順番で検索し、 該当するマニュアルページを見つけた時点でそれを表示 します。 さて、 cat? と man? のうち、 man? のほうには man % tail /usr/man/manl/ls . 1 、ゝコマンドが表示するマニュアルの内容が nroff の コマンドを含んだままで置かれています。たとえは /usr/man/manl/ls. 1 は、次のようになっています ( 行頭が . で始まっているのがⅡ r 。仕のコマンドです ) 。 considers newline and tab tO be printing characters in filenames . the output device IS assumed tO be 80 columns wide . ・ PP the option setting based on whether the output is a teletype is is much different than "ls\ \-s\ ハ lpr' undesirable as on the other hand, not dOing this setting would make 01d s 五 e11 scripts 五 ic 五 used . b ls almost certain losers . man コマンドはこのデータを nr 。仕で処理し、画面 に表示しています。たとえば、 % man 1s % head /usr/man/catl/ls . 1 を実行すると、 /usr/man/manl/ls. 1 に対して nroff LS(I) NAME ls UNIX Programmer ' s Manua1 1ist contents Of directory nroff のコマンドを含んだマニュアルと、整形結果だ けのマニュアルの 2 つが存在しているのはなせでしょ うか ? 簡単に説明しておきましよう。 4. IBSD までは、 /usr/man/man? つまり nroff のコマンドを含んだマニュアルだけか供されて いました。したがって、 man コマンドを実行するたび に nr 。によってデータか整形され、画面に表示されて 156 、、、が実行され、その整形結果が画面に表示されるのです。 一方、 /usr/man/cat? には、 nroff の実行後のデータが ファイルとして置かれています。たとえは、整形された ls のマニュアルページは /usr/man/catl/ls. 1 にあり ます。 LS(I) UNIX MAGAZINE 1991.9 ページが存在すれはそれを表示するようになりまし /usr/man/cat? を参照し、そこに該当するマニュアル このバージョンから、 man コマンドは最初に されるようになったのは 4.2BSD からです。 りました。これを解決すべく、 /usr/man/cat? か醍供 ら実際にマニュアルが表示されるまで、やや時間がかか いたわけです。このため、 man コマンドを入力してか
た ( このとき、 /usr/man/man? の該当データの更新 日時が /usr/man/cat? のそれよりも新しけれは、もう 一度 /usr/man/cat? のデータが更新されます ) 。一方、 /usr/man/cat? に存在しなければ、 /usr/man/man? を見にいき、従来どおり nroff を実行して結果を画 面に表示するとともに /usr/man/cat? の該当ディレ クトリにその清書結果を置くようになったのです。 のため、 1 回 man コマンドの対象になったマニュア ルページの出力は、 2 回目以降は nroff による処理 カ坏要になり、 man の出力はとても速くなりました。 usr man/man? のデータをⅡ ro 仕で処理し、 また、 / / /usr/man/cat? に置くための catman という管理者用 のコマンドも提供されるようになりました。 さて、 /usr/man の話はこれくらいにして、ユーザー が自分の作ったマニュアルを整理し、 man コマンドでそ れを表示するために必要な知識について説明しておきま しよう。それがシステムのユーサー全員に公開すべきも のであれば、管理者に頼んで /usr/man/manl(local) などにインストールしてもらいます。まったくプライ べートなものであれば、自分のホームディレクトリ以下 の任意のディレクトリに /usr/man 以下と同しような 構成でディレクトリを作成します。たとえば、自分が 作ったコマンドのマニュアルを保存するためには、次の ようにディレクトリを作成します。 そして、 nr 。仕で記述したデータを“コマンド名 .1 ”と % mkdir manl catl % cd man % mkdir man % cd UN Ⅸへの招待⑩ いう名前で ma Ⅱ 1 に置いておきます。たとえば、 my- com というコマンドを作った場合、 manl/mycom. 1 に nroff のデータを作成しておけばいいわけです。ち ょっとトリッキーですが、 nroff のデータを作成せすに nroff の整形結果、つまりそのまま表示できる形式でマ ニュアルを作ってしまったときには、 catl ディレクトリ に mycom. 1 を置いておきます。このとき、 manl のほ うには適当な内容 1 のファイルを mycom. 1 というファ イル名で置いておきます。もちろん、 manl/mycom. 1 の更新日時は catl/mycom. 1 のそれよりも前でなけれ ばなりません。 さて、このあとでもう 1 つ作業が必要です。 man コマンドは、とくに指定がなければ /usr/man/cat? と /usr/man/man? のディレクトリを参照します。した がって、このままではプライベートなマニュアルを用意 しても、 man コマンドでそれを表示することはできま せん。そこで、ユーサーは環境変数 MANPATH を設定し、 自分が作成したマニュアル用ディレクトリのパス名をそ の値に設定しておきます。前例の場合は、以下のように MANPATH を設疋します。 % setenv MANPATH $HOME/man : /usr/man MANPATH に /usr/man を含めないと、システムで提 供されているマニュアルが見られなくなりますから要 注意です。以止のように準備したあとで man を実行す ると、 man コマンドは /usr/man/manl よりもさきに $HOME/man/man1 から該当するマニュアルを捜し にいくようになります。 rsh コマンドと usr/hosts 、、、マンドか提供されています。 rsh は、 UNIX には、リモートマシンにログインする rlogin や、リモートマシンでコマンドを実行する rsh というコ / rsh ん 0 [ ー 1 username ] [ 0 を 0 れ ] comrnand という形式で実行し、 host で指定したホストで com- 1 スペース 1 つでもかまいません。ただし大きさが 0 ではだめです。 mand を実行します。 UNIX MAGAZINE 1991.9 また、 rsh を省略して、 157
X11R4 テクニカル・ドキュメント X 工ンジニア・ユーザ必携、好評発売中 「 X Window System Version11 Release4* 」に添 付される英文ドキュメント群を技術的な裏付けを持った 読み易い日本語に翻訳しました。 ティスカウント中 お求め易いお値段でお届けいたしますお間い合わせください。 別冊 PEX プロトコル - 公開レヒュー用試案 Vol.6 ライフラリ・リファレンス・マニュアル Vol.5 アテナ・ウィジット・セット - C 言語インタフェース VOl.4 X ツールキット・イントリンシクス - C 言語インタフェース VOl.3 X ⅱ b - C 言語 X インタフェース VOl.2 コマンド・リファレンス・マニュアル VOI. 1 標準プロトコル VOI.O 移植カイド / リリース・ノート 技術資料シリーズ XI 1 日 5 日本語マニュアル制作中′ 本バッケージを使用される事業所の利用者数に応じて、 1 セットにつき次の価格となります 本バッケージの提供は、サイトライセンス契約によって行います ことができるように、 catman 形式のファイルにしたものです マニュアル部分を、 UNIX * の man コマンドで素早く参照する ドキュメント・シリーズ」のうち、使用頻度の高いリファレンス・ ご好評いただいております弊社刊行物「 X11R4 テクニカル・ 日本語オンライン・マニュアル X11R4 原題 : 刈 ib Changes for lnternationalization 原題 : X Window System lnput Method Specification 第 2 集国際化のための刈 ib の変更点ー公開レヒュー用試案 第 1 集入力メソットの仕様ー公開レヒュー用試案 第 1 、 2 集¥ 28 , 000 / 好評発売中 8 月未発売¥ 24 , 000 にするための工クステンションについて解説します 標準ではサポートされていない入力装置を利用できるよう 原題 : XI 1 lnput Extention P 「 0t0C6 Specification 第 3 集「 X11 入力工クステンションの仕様 - 公開レヒュー用試案」 レベ丿レ 利用者数 1 0 人まで 1 1 ~ 30 人 31 ~ 50 人 51 ~ 100 人 101 人以上 金額 ( 消費税別 ) 67 , 000 円 125 , 000 円 160 , 000 円 215 , 000 円 500 , 000 円 平成 3 年 8 月一日料金改訂 メーカー、ソフトハウス向けに再販権を販売いたします。 テクニカル・セッション ネットワーク・テクニカル・セッション 講師 : 松山直道 TCP/IP, UUCP, LAN から lnternetworking まで 最新のネットワーク事情と運用ノウハウを、豊富な事例 を交えて詳細に解説します 第 4 回 9 / 10 、 9 / 11 2 日間 担当者 : 安河内 ( ャスコウチ ) 、今泉 ( イマイズミ ) TEL : 03 ( 5453 ) 1251 FAX : 03 ( 5453 ) 1252 〒 151 東京都渋谷区幡ヶ谷 1 ー 29 ー 9 日星ビル 株式会社創夢 6 月 3 日より業務拡張のため下記に移転しました。 ※表示価格には消費税は含まれておりません。 詳細については一ド記にお問い合わせください ※ SPARC は SPARC lnternati ( ) n の登録商標です ※ Sun は Sun Microsystems, lnc. の登録商標です システムです ※ UNIX は UN ⅸシステム・ラボラトリーズが開発し、ライセンスしているオペレーティング・ ※ X Window System は米マサチューセッツ I : 科大学の商標です 担当岩井 職種工ンジニア / 営業 / テクニカルライタ / 編集者 詳しくはお間い合わせください した。以下のスタッフを募集します 今回、社屋移転、業務拡張にともない、大きく門を開きま 広めて行くことが、我々の存在理由です 社会貢献を基本的立場とし、最新の技術を創り、伝え、 ワークを含めた本物の UN Ⅸ環境がここにあります る設備のみでなく、知識資源、人的環境、社会とのネット X コンソーシアムや、 WIDE プロジェクトの参加など、単な X window System ソース / 八イナリ・キット 第 5 回 1 レ 12 、 1 レ 1 3 2 日間 人材募集のご案内 XI 1 日 5 ソース〃ヾイナリ・キット準備中 Sun*SPARC*station Sun 事 0S4. ロ .3 Sun 本 0S4.1.1 象機種についてはご相談ください 群の配布サービスを行っております配布ソフトウェア、対 実行形式を入手されたい方のために、フリー・ソフトウェア フリー・ソフトウェアの入手が困難な方、動作確認済みの ティストリビュージョン ソフトウェア X11R5 の技術情報について解説します期日等お間い合わせください 講師 : 遠藤知宏 XI 1R5 テクニカル・セッション 97 , 000 円 / 1 名 ( 2 日間 ) ( 昼食、喫茶、テキスト代金込み ) 資料請求 N 。 .86
emacs 入門 図 22 Em acs Lisp のリファレンス・マニュアルのメー * LispRef : (). /local/info/lispref) . 図 23 LispRef を選択したときに表示される画面 (lnfo Na ロ、ト - Top - ー卩 JJ ー」 - Emacs Lisp Reference Manua1. ーユー項目 ile: lispref N0de: Top, Prev: (dir), Up: (dir)' Next: lntroduction 国 This lnfo file documents GNU Emacs Lisp ・ む一Ⅱ 1 n f 0 . (lzgprefVIop ☆ Evaluation: ☆ Control Structures : MacrOS : ☆ Funct ions : ☆ Variables: ☆ Symb01s: ☆ Sequences Arrays Vectors : ☆ Lists: ☆ Strings and Characters: ☆ Numbers: ☆ Types 0f Lisp Object: ☆ lntroduction: ☆ Menu: ☆ らあなたのサイトではリファレンス・マニュアルがインス トールされていません。システム管理者に訊ねてみてくだ 0 このメニューを選択します。 メニューを選択するには、メ 運よくリファレンス・マニュアルが見つかったら、次は 図 24 Buffers を選択したときに表示される画面 ile: lispref N0de: Buffers, Prev: Backups and AutO Saving, Up: TOP, Next: Win\ Buffers ☆☆☆☆☆☆☆ A "buffer" is a Lisp object containing characters. Buffers are used tO hold the contents of files when they are visited, but buffers need not have an associated file. While several buffers may exist at one time, exactly one buffer is designated the "current buffer" Most editing comands act on the contents Of the current buffer. Each buffer, including the current buffer, may 0 「 may not be displayed in a Wi ndOW. ☆ Menu: ☆ Buffer Basics : ☆ Buffer Names: ☆ Buffer File Name: ☆ Buffer Contents: ☆ Buffer Modification: ☆ Modification Time . ( い司比 f 第 司ーー % Ⅵ nf 0 : ( I n fo tla ロ - ow ) - - 1 0 p ー -IJJJ- 」一 ニュー (menu) の、 を入力し、 Menu item といわれたらすかさす、 ま入力してください。 Menu item : LispRef さきほどのメニュー項目をそのま これで、図 23 のようなドキュメントが表示されます。 キーポードを打つのがちょっと苦手という人は、メニュ 128 で移動しておいて、 (C-p) 、 1 ー X prevlous—line や、 (C-n) M-x next-line 一項目の行まで、 図 25 Buffer Modification を選択したときに表示される画面 ile: lispref N0de: Buffer M0dification, Prev: Buffer Contents, Up: Buffers, N\ Major Line lnformation: : ) , and controls saving (*N0te Saving Buffers: : ) changes. The flag value is normally indicated in the mode line (*N0te you save the buffer. Thus , the fl ag ind i cates whether there are unsaved set い、い whenever you alter the contents, and cleared セ 0 、 nil' when record whether you have changed the text Of the buffer. This flag is Emacs keeps a flag called the "modified flag fO 「 each buffer, tO Buffer Modification ext: Modification Time (11Spref)Buffer M0diflC ・ 3い0n Menu item (default LispRef) : と入力すれば、 This function returns 、セ′ if the buffer has ☆ Function : buffer-modi fied-p &optiona 1 BUFFER not match the new visited file . unchanged since some other fiLe was visited in the buffer, the text does even 、 set-visited-file-name ・ sets the flag セ 0 、い Lisp programs also the flag explicitly. The Lisp function and auto-saving (*NOte Aut0 Saving: : ) ・ ( ⅱ 1f0 物ロ - ow トー To に一 [ JJ 、ト been modified since if the text is たとえば、 buffer-modified-p 関数の動作を知りたいと いいでしよう。 いので、時間があるときにひととおり眺めておいたほうが どの項目が目的のメニューかを判断するのはけっこう難し ません。またまた、メニューが並んでいます。このなかで、 でも、これだけではまだマニュアルの本体にたどり着け い。やはり図 23 の画面が表示されます。 と表示されるので、そのままリターンキーを押してくださ UNIX MAGAZINE 1991.9 * Buffers: ということで、 バッフアに関係がありそうだから きには、
にするなど ) といった情報を設定します。 6 ) ソフトウェアに関する設定 インストールするオプション・ソフトウェアを選択しま す。ますターゲットのディスク、次いでインストール先 のディレクトリかねられます。、、 ownchoice" を選択 すると、ソフトウェアごとにインストールするかどうか 訊ねてきます。インストールする場合はヾ y 〃、しない場 合は、、 n 〃を入力します。このとき、インストールするデ イスクのパーティションの容量および残量が表示され るので、これを確認しながら選択します。 7 ) クライアントに関する設定 マシンタイプが "server" の場合だけ設定します。この マシンのクライアントに対する情報 ( アーキテクチャや ホスト名、 IP アドレスなど ) を設定します。 個々の設定をおこなうたびに、、、 y 〃か、、 n 〃で確認を求め られます。ですから、設定を間違えたときもあわてすにヾ n 〃 を入力すれば修正できます。 こまでの作業にかかる時間は、通常は 30 分ほどです。 マニュアルの末尾に各種情報の記録をとっておくための用 紙がついていますから、これを活用してきちんと計画を立 てておけば、それほど時間はかからないでしよう。あとで パーティションなどを変更することもありますから、記録 を残しておくことは重要です。 全体の設定が無事終ると、メインメニューに戻ります。 、、よし、大丈夫クと思ったら、、、行ったれ一にと ( 心のなか で ) 叫んで、 \start the installation" の項目を選択しまし すると、ますファイルシステムが作成され、次いで CD ー ROM やインストール・テープからの読込みがおこなわれ ます。進行状況は次々と画面に表示されますから、コーヒ ー片手にそれを眺めていてもいいでしようし、漫画を読ん でいてもいいでしよう。テープの場合、 2 巻目を読み込む 必要があるときはその旨が表示されるので、テープを交換 してリターンを入力すれば残りのソフトウェアが読み込ま れます。オプションのソフトウェアをすべて選択しても、 1 時間弱でこの作業は終るはすです。インストール・メデ ィアが CD-ROM なら、 30 分くらいです。 suninstall が無事終了すると、、、終了後リプート〃を選択 していれば勝手にリプートしますし、そうでなければシェ UNIX MAGAZINE 1991.9 ースーバーユーサーへの道 5 ルに戻ります。この状態からマルチューザー・モードで起 動できます。 39 ないと UNIX がまともに動かない、という required( 必 ィアにはさまざまなソフトウェアが入っています。これが マニュアルを読めば分かりますが、インストール・メデ そのような場合、皆さんはどうしますか ? ほかにないときなどは、なかなかそうもいかないでしよう。 う手もあります。しかし、ファイルを提供できるマシンが な場合、思い切ってデータレス・マシンにしてしまうとい こんなことはよくあります。ディスクがあまりにも少量 んかったなあ・・・・・・」 「マシンを買ったのはええけど、ディスクまで手がまわら = マニュアルが出えへん ! はならない点をすこし挙げておきましよう。 っとみてきましたが、インストールの過程で注意しなけれ こまで suninstall を使ったインストールの様子をざ ですね。 小限に抑えられます。なにごとも、、備えあれは憂いなし〃 んととっておけは、ディスクがクラッシュしても被害は最 でもなく、フルダンプが望ましい ) 。バックアップさえきち ら、まず最初のバックアップをとうておきましよう ( いうま ひととおり設定を終えてうまく動くことが確認できた UNIX マシンとして働いてくれるようになります。 合わせて NFS やメールなどを設定すれば、一人前の 間入りができるようになりました。あとはあなたの環境に さて、 suninstall も終了し、ようやくほかのマシンの仲 けません。 たがって、この場合は終了後リプート〃を選択してはい については、前号の「 NIS 」の章を参照してください ) 。し から make しなければなりません (NIS のセットアップ れば、 /etc/hosts や /etc/passwd などの情報を整備して ます。また、そのマシンが NIS のマスター・サーバーであ にしておき、 NIS サーバーが動いてから ypbind を起動し rc. local の ypbind をコメントアウトして起動しないよう プしてしまいます。これを回避するには、とりあえす / etc / され、 NIS サーバーカ働いていないとそこで処理がストッ も考えすにマシンをリプートしてしまうと ypbind が起動 、、 NIS を使用する〃を選択した場合は注意が必要です。何
こで、今回はいきなり C 言語でのファイルの読込み方 法から入ることにします。とはいっても、この方法に 関しては連載の開始当初にも触れています。そのときに 使ったのは、 ・ 1990 年 11 月号 : getchar() による読込み ・ 1990 年 12 月号 : gets() や fgets() による読込み でした。 ます、 getchar() を使って前回と同様なプログラムを 作成してみましよう。読み込むファイルはホームディレ クトリの . test-file で、その内容は、オプションを設定 するための a から c までの文字が 1 行に 1 文字すっ書 かれている数行のものです。 ところで、標準入力以外のファイルの読込み方法に ついてはまだ何もお話ししていませんでしたね。今回 は、この説明から始めましよう。 ファイルのオープン C 言語でファイルを読み込む場合には、 ( 標準入力の ときは不要だった ) ファイルのオープンという操作が必 要になります。いったんファイルをオープンするとそ のファイルを示すものが返され、以降はその返されたも のを使ってそのファイルか躱作できるのです。これに は、 fopen という関数を利用します。この関数をオンラ イン・マニュアルで調べてみると、 #include く stdio . h> DZ—X 流プログラミング 今泉貴史 前回は、ファイルを利用してカスタマイズするコマン FILE *fopen(filename, type) ドを B シェルや C シェルを使って書いてみました。最 char *filename , *type ; 後に触れましたが、実際にはこのようにファイルを利用 してカスタマイズしているシェル・プログラムははとん と出てきます。これはマニュアルの SYNOPSIS の部 どなく、たいていは C 言語を使って作成されています。 分に出ているものですが、意味を簡単に紹介しておきま しよう。 今回も、前回に引き続きファイルを利用してカスタ ます、この関数 (fopen) を使うためには stdio. h と マイズするコマンドについてお話ししますが、今度は C いうインクルードファイルを読み込んでおく必要があり 言語を使うとどうなるかに重点をおいて説明します。 ます。この関数の戻り値は FILE 型へのポインタであ り、引数としては文字へのポインタ型 ( つまり文字列 ) C 言語でのファイルの読込み を 2 つ渡します。最初の引数は、その名前が示すとおり 処理対象のファイルのファイル名 ( パス名 ) です。問題 カスタマイズ用のファイル名や複数のファイルを使 は 2 つ目の引数です。 うときの優先順位については、すでに説明しました。そ 134 UNIX MAGAZINE 1991.9
カーネルのリコンフィギュレーション さて、 OS のインストールの話が終ったところで、次はカ ーネノレのリコンフィギュレーション (reconfiguration) に ついてみていきましよう。 カーネル (/vmunix) というのは OS の本体であり、実際 にワークステーション ( ハードウェア ) を動かしているも のです。最初にインストールしたカーネルは、すべてのハ ードウェアやオプション機能をサポートしているので、 個々のシステムにとっては不必要なものも含んでいます。 このため、それぞれのシステムに合ったカーネルを作りな おす必要が出てきます。詳しくは、マニュアル [ 3 ] を参照し てください。 カーネルを作りなおすのは、次のようなケースが考えら カーネルの作りなおし れます。 2 ) カーネルが管理するテープルのパラメータを変更する 1 ) インストール直後のカーネルから必要のない機能を取り 2 ) のパラメータの変更は、カーネルで指定できるパラメ モリが多くなるわけです。 てカーネルを小さくすると、そのぶんューサーの使えるメ ら、必要のない ( 使わない ) 機能などのサポートを取り去っ スが利用できるメモリが少なくなってしまいます。ですか カーネルのサイズが大きいと、それだけューサーやプロセ カーネルは、つねにメモリに常駐しています。そのため、 3 ) 新しいデバイスを追加する ータ ( プロセスや端末の数など ) を増やしたり ( 減らした り ) する場合におこないます。 3 ) の標準サポート以外のデバイスを追加する場合には、 そのデバイスをサポートするように ( デバイスドライバを カーネルに組み込みます ) 、カーネルを作りなおさなけれは なりません。 コンフィギュレーション・ファイル さて、カーネルを作るといっても組み込むデバイスや機 能などにあったファイル ( プログラム ) を自分で集めてコ ンパイルするのはたいへんです。そこで必要な機能をファ イルに書いておき、自動的にコンパイルに必要なファイル を集めてくれるコマンドがあります ( 後述の c 。 nfig コマ ンドです ) 。必要な機能を書いておくファイルというのがカ ーネルのコンフィギュレーション・ファイルです。ここで はこのコンフィギュレーション・ファイルの中身について みていきましよう。 OS は SunOS 4.1.1 です。 コンフィギュレーション・ファイルは /usr/kvm/sys/ 〃ん / conf の下にあります ( マシンによってコンフィギュ レーション・ファイルのある場所は異なります ) 。〃尾んに は、マシンのアーキテクチャによって sun3 、 sun3x 、 sun4 、 sun4c が入ります。さらに、コンフィギュレーショ ン・ファイルが用途に応していくつか用意されています ( 表 1 参照 ) 。 以降では、コンフィギュレーション・ファイルの例とし て標準でサポートする機能をすべて含んでいる GENERIC を使うことにします。ちなみに、 GENERIC は インストールしたときに最初に作られるカーネルのコンフ 44 表ーコンフィキュレーション・ファイル ファイル名 GENERIC GENERIC-SMALL DL60 NFS60 DLS60 SDST60 8 台の SCSI ディスク、 2 台のテーブドライプ、 2 台の CD-ROM データレス用。ローカルディスクにスワップをもつ ディスクレス用。ただし SCSI デバイスをサポート ディスクレス用。 SCSI デバイスがなく、最小限のオプション機能 8 台の SCSI ディスク、 4 台のテーブドライプ、 2 台の CD-ROM sun4c でサポートしているすべてのハードウェア、オプション機能が入っている 説明 UNIX MAGAZINE 1991.9 * 詳細は、マニュアル 'SunOS 4.1.1 Release ManuaI', S 社れ OS イコ . 1 Release 8 わ〃 , Chapter 5 , p. 38 を参照。 *GENERICSMALL は一部のオプション機能が省かれているので、必要な機能が含まれているか確認して使うこと
設定をおこなわなければなりません ( クライアントがいく 、ゝファイルが NIS で管理される場合、 NIS のマスター・サ ら叫んでも、サーバーがいなければどうしようもありませ ーバーで登録する必要があります。 んね ) 。サーバー側で管理するファイルには、次に挙げるよ 8 : 0 : 20 : 2 : 0 : mo eyll うなものがあります ( 以下の例は、サーバー monkey00 に ・ /etc/bootparams クライアント monkeyll を追加する場合です ) 。 このファイルには、クライアントがプートするために必 ・ /etc/ethers 要なルート・ファイルシステムとスワップのパスが登録 このファイルには、クライアント (monkeyll) の Ether- されます。 bootparamd デーモンが使用します。 net アドレスとホスト名の組を登録しておきます。この root 0 eyOO : /export/root/monkeyll \ monkeyll swap=monkeyOO:/export/swap/monkey11 \ dump=monkey00 :/export/swap/monkeyll 記述方法の詳細は、オンライン・マニュアルの bootpar- ams の項をお読みください。マウント時に必要な情報は クライアントの /etc/fstab ファイルで管理されますが、 これ以外のファイルシステムについても / etc / fstab に 己述します。なお、 /etc/ethers ファイルと同様、 NIS で 管理する場合は NIS サーバーで更新などの作業をおこ ないます。 ・ / tftpboot ディレクトリのプートファイル /tftpboot の下には、クライアントが読み込むプートフ ァイルが置かれます。たとえは monkey00 が SPARC- て 00t onkeyOO # cd /tftpboot root 0 Ⅱ keyOO # 1 Ⅱ—s boot. sun4c. sunos. 4.1.1 C09 80C て 00t onkeyOO # 1 Ⅱ—s boot. sun4c. sunos. 4.1.1 C09 80C. SUN4C rootGnonkeyOO# ・ /etc/exports tion でクライアントが Sun3 などの場合は、クライアント クライアントが NFS マウントをおこなうため、サーバ のアーキテクチャに適合するソフトウェアを add-ser- ーがェクスポートするファイルシステムを登録します。 ⅵ ces コマンド ( 後出の「カーネルのリコンフィギュレーシ このファイルの書式については、前号の「 NFS 」の章を ョン」の項を参照してください ) などを使って用意しなけれ 参照してください。 ばなりません。 サーバーとクライアントが同一アーキテクチャの場合、 サーバーの OS をインストールする時点でサーバーが またはクライアントのアーキテクチャのソフトウェアがサ 提供するクライアントが分かっていれば、 suninstall の ーバーですでに用意されているときは、 add-client コマ 、、クライアントの設定〃でサーバー側のセットアップは自動 ンドを用いてクライアントを追加します。 的におこなわれます ( 詳しくは、インストール・マニュアル add-client コマンドは /usr/etc/install の下にあり、 を参照してください ) 。しかし、あとからクライアントを追 対話的に実行したい場合は一 i オプションを指定して起動 加する場合、とくにサーバーとクライアントのアーキテク します ( 図 4 参照 ) 。 チャが異なるとき一一一たとえば、サーバーが SPARCsta- station で OS が SunOS4.1.1 の場合、プートファイル は、、 boot. sun4c. sunos. 4.1.1 〃ですが、これに対して 2 つのシンポリック・ファイルを作る必要があります。 一方は、、 ( クライアントの旧アドレスの進表現 ) 〃、も う一方は、、 ( クライアントの旧アドレスの進表現 ) . ( アーキテクチャのタイプ ) 〃となります。 monkeyll の IP アドレスは、、 192.152.72.12 クですから、その 16 進 表現は℃ 098480C クとなり、アーキテクチャのタイプは 、、 SUN4C" となります伏文字である点に注意 ) 。 1 三ロ 42 UNIX MAGAZINE 1991.9
A S T E C C 言語のソオウェア発を効率化する ー名前 : do-bounce 参名 >—do - bounce “ヂ昭名 フ , イルプロジェクト実庁 デバッグユーザ定義項目 クロスリファレンス・プラウサ 関数呼び出しのツリー構造や関数や 変数の参照関係を表示します 0 型→讐ー int おー = 81. s セ、 t セッ = 11 名前Ⅱ s い 11f テータ・フラウサ リスト構造やツリー構造を持っデータ の表示、修正を行なえます。 ー禰 cl に bounce ー徹 mai ー陸就 bounc 0 名前引 lst ト・ - ) 「代 型 . stmrt mtry s レ 1 工 t セッ = 11 面一よ 0 lnt t ー 0 -8 t ″玉を弾ませるリ (o.nt = æ.nt く [ n れ t ” ) ソース・ / くネノレ ソース・コードを表示し、編集を 行なえます オプション・パネル ソース・バネルのファイルの名前と状態を 表示しますそれに加えて、頻繁に使用さ れるコマンドのボタンが用意されています 工ラー・プラウジンク・パネル 工ラーが生じた箇所とエラー・メッセージ が表示されます。 インタラクテイプ・ワークスペース Saber ・ C に対するコマンドの入力を 行なえます ラン・ウインドウ アプリケーションの入出力を 取り扱えます プロジェクトプラウサ 関発に関連するファイルの一覧と、 個々のファイルの内容を表示します 1 build run continue 靆に 徹物、肥代 u 0 工ラー 2 響告 bou れ“ . , . ・ま→題行黌号 . W 1. 自動変数・ 0 域 -00u ・は使用されていません . ′行番号 . w ~. 自動題・ゞはがされていますが参照され 11 - 〉 81t 18 - 〉「ー ・アし犬ルにリセットします . 中 : 亂 aJt 四 - 〉印 21 - 〉 r•t - 〉Ⅱ ( 4 お 1 ) 24 - 〉 0 面 - は 0 : フイル : /amRamtam/disk/sd01 c/kame/saber tutorial dir/bounce. c 状アレーク (next) Function: dO bounce do 物 プロジェクト定義 フイル ロ , ou 「“ bounc 0 ロ u 代 0 ・ tab 厄 .0 ロ , ou 「 0 に w .0 ロ object ぇ 0 ロ 0 切“ t ロー ou 「 0 に 響 0 ー p ・ 0 ~ 川第 bc. を ん一 00 ・既あ川 b 滝 1 C インタブリタ機能を備えた世界で初めてのプログラム開発ツールですプログラムの作成、修正、テスト、保守に必要な 機能と使いやすいユーザ・インタフェースを備えていま魂 C 言語ソフトウェアの品質と開発効率を大幅に向上しま魂 ソースレベル・テパッガ 内蔵インタブリタ Saber - C のソースレベル・デバッガは高機能て・拡張們 インタブリタの機能によりプロトタイプ作成が可能て、す。 に優れています。インタブリタの機能により、ソース・コード : 日本語対応 オプジェクト・コードを混在してデ六ッグすることがて、きます。 日本語をデータとして扱うプログラムや、コメントや文字列、 静的工ラー、実行時工ラーの検出。 文字定数に日本語を含んだプログラムて、も、 Saber-C の ・プレイクポイントやウォッチボインドて、の停ⅱ : 条件、およ すべての機能を利用て、きます。 び停止時の動作を、 C 言語て、記述可能。 対応機種 伊」 8 ー > 0 セ ion & セ " セ・・し .0 " : 8 Setting action at “セ es に . c ” : 8. f00 ( ) ・ Sun3 、 SPARC シリーズ。 Enter bOdy Of action . U30 b て a003 Sta に emen 3 . ・ DECstationo action - > ( action + > p 工土れセ ( " - %d\n", 土 ) ・ HP300 / 400 シリーズ。 ( J' ・定 ) action + > if( え = = 0 ) ・ & b ・エ・ top ( ”” ) : action 十 > ) ・キャラクタ端木、 SunView 、 X ウインドウ、 DEC ウイン action ( 1 ) set . ドウなどのウインドウシステムて、、使用可能。 ・マクロやストラクチャの定義などを調べることが可能。 動作環境 ・ SunView 、 X ウインドウのアプリケーションをデパ、ツグ可能。 ・ fork ( ) などを行ない、複数のプロセスを発生するアプリ 最低 8M バイトのメモリ。 ケーションをデパ、ツグ可能。 C 言語仕様 ・ Kernighan & Ritchie 仕様、または ANS ト C0 インクリメンタル・リンカ その他 インクリメンタル・リンカを使用すると、大規模なプログラムの ・ネットワーク E て、複数のユーザがライセンスを共有て、き コードの修正一テストサイクルを短縮することがて、きます。 るネットワーク・ライセンス・サーバの適用。 ・編集したファイルの冉ロードのみて、、プログラムを再実行 付属マニュアル 可能。故に、プログラム全体をリンクし直す必要がない オンライン・マニュアルを含む全てのマニュアルは、日本語 ・単体の関数や開発途中の関数て、もロード実行可能。 ・ソースとオプジェクトを任意の組合せて、ロード可能。 化されています。 * ウォッチボイントは、動的に割り付けたデータを含む任意のデータ・アドレスに対し、データが変更された時点でプログラムを停止させる機能。 資料請求 No. 052 世界初の完全な C + + プログラム開発 環境 Saber - C + + を今夏発売予定。 ・株式会社アステックは、日本における Software,lnc. の 総販売代理店です。 ・ Saber ・ C は、 Saber Software,Inc. の商標登録です。 ・ UN Ⅸは、 AT & TBe ⅱ研究所が開発したオペレーティング・シ ステムです。 ・ X ・ Window システムは、米国マサチューセッツ工科大学の商 標です。 ・その他、会社名、製品名などは製造会社及び販売会社の商 標もしくは登録商標です。 製品の名称、仕様は予告なく変更する場合がありますのであら かじめこ・了承ください。 ※ご希望の方には、無料で Saber ・ C の Auto demo をお 送り致します。 Saber ・ C セミナーを定期的に開催中、 お問い合わせ下さい。 お問い合わせ先 株式会社アステック 〒 162 東京都新宿区南町 6 番地 BR 市ヶ谷 1 TEL. ( 03 ) 5261 ー 5971 ( 代表 )