From owner-svn-doc-head@FreeBSD.ORG Thu Jun 14 20:55:18 2012 Return-Path: Delivered-To: svn-doc-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 65804106564A; Thu, 14 Jun 2012 20:55:18 +0000 (UTC) (envelope-from ryusuke@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [69.147.83.44]) by mx1.freebsd.org (Postfix) with ESMTP id 4EE918FC16; Thu, 14 Jun 2012 20:55:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q5EKtIU0018819; Thu, 14 Jun 2012 20:55:18 GMT (envelope-from ryusuke@svn.freebsd.org) Received: (from ryusuke@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q5EKtIDp018817; Thu, 14 Jun 2012 20:55:18 GMT (envelope-from ryusuke@svn.freebsd.org) Message-Id: <201206142055.q5EKtIDp018817@svn.freebsd.org> From: Ryusuke SUZUKI Date: Thu, 14 Jun 2012 20:55:18 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r39049 - head/ja_JP.eucJP/books/handbook/serialcomms X-BeenThere: svn-doc-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the doc tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jun 2012 20:55:18 -0000 Author: ryusuke Date: Thu Jun 14 20:55:17 2012 New Revision: 39049 URL: http://svn.freebsd.org/changeset/doc/39049 Log: - Merge the following from the English version: r10096 -> r10204 head/ja_JP.eucJP/books/handbook/serialcomms/chapter.sgml Submitted by: Ono Hiroo Reference: [doc-jp-work 1759] Modified: head/ja_JP.eucJP/books/handbook/serialcomms/chapter.sgml Modified: head/ja_JP.eucJP/books/handbook/serialcomms/chapter.sgml ============================================================================== --- head/ja_JP.eucJP/books/handbook/serialcomms/chapter.sgml Thu Jun 14 19:42:43 2012 (r39048) +++ head/ja_JP.eucJP/books/handbook/serialcomms/chapter.sgml Thu Jun 14 20:55:17 2012 (r39049) @@ -2,14 +2,14 @@ The FreeBSD Documentation Project The FreeBSD Japanese Documentation Project - Original revision: 1.34 + Original revision: r10204 $FreeBSD$ --> シリアル通信 - + この章では シリアル通信 @@ -21,13 +21,31 @@ 何もかもがすっかり変わっています。この章では、FreeBSD でシリアル通信を行なういくつかの方法について説明しています。 + + この章を読むと、以下のことがわかります。 + + FreeBSD システムへの端末の接続方法 + リモートホストへダイヤルするためのモデムの使い方 + リモートのユーザがモデムでシステムにログインできるようにする方法 + シリアルコンソールからのシステム起動方法 + + + この章を読む前に以下のことを行っておくべきです。 + + 新しいカーネルを構成してインストールする方法を覚える + ()。 + Unix のパーミッションとプロセスについて理解する + ()。 + FreeBSD で使おうとしているシリアルハードウェア + (モデムまたはマルチポートカード) + のテクニカルマニュアルを読めるようにする。 + + シリアル接続の基礎 - Assembled from FAQ. - このセクションには、 シリアルポートについての一般的な情報が書かれていま す。 あなたが求めている情報が、もしここで見つからなかった場合には、 @@ -245,9 +263,9 @@ どちらの種類の ケーブルを使わなければいけないかは、 どんな端末を接続したいかによります。 + ヌルモデムケーブル - ヌルモデムケーブル もし、PC を端末として利用したい場合は、ヌルモデム ケーブル (リバースケーブルもしくは @@ -482,16 +500,19 @@ の設定をおこない、端末が接続されているものと考えて、解説を進め ます。 - 簡単に言えば、プロセス管理や初期化をおこなっている - init プロセス に対して、 + で述べたように + init プロセスは、 + システム起動時にすべてのプロセス管理や初期化をおこなっています。 + init が行っている仕事の一つは、 + /etc/ttys ファイルを読んで、利用可能な端末上で + getty プロセスを起動することです。 + getty プロセスは、 ログイン名を読み込み login - プログラムを起動している getty - を実行するように指示します。 + プログラムを起動します。 - これをおこなうには、/etc/ttys - の内容を編集する必要があります。まず、su - コマンドで root になって、/etc/ttys - に以下の 変更を加えてください。 + したがって、FreeBSD の端末を設定するには、 + root + で次の手順を踏まなければなりません。 @@ -501,7 +522,7 @@ - /usr/libexec/getty + /usr/libexec/getty が対象となるポートに対して 実行されるように指定してください。また、 /etc/gettytab ファイ ル内の適切な @@ -533,21 +554,18 @@ また、必要に応じて /etc/gettytab を変更し、上の 2で使用する getty のエントリを追加してください。 - このドキュメントではこの方 + この章ではこの方 法については特に解説しませんので、&man.gettytab.5; および &man.getty.8; のマニュアルをご覧ください。 - 以下では、上のステップについて詳しく解説します。 - 実例を用いて、何をす べきかを解説していきます。Wyse-50 と、 - 古い IBM の 286 マシン上で通信 ソフト Procomm を使って VT-100 - エミュレーションをおこなっているものを端 - 末の例として紹介します。また、Wyse は 2番目のポートに、 - 286マシンは 6 番目のポート - (マルチポートのシリアルカード上のポート) に接続します。 - - /etc/ttys について、 - より詳しくは、&man.ttys.5; のマニュアルをご覧 - ください。 + この手順を理解しやすくするため、 + この節では実際に動いている例を使います。 + この例ではシステムに、Wyse-50 と、VT-100 + 端末をエミュレートするソフトウェアの + Procomm を動かしている古い 286 IBM PC + の 2 台の端末を接続します。Wyse は 2 番目のシリアルポートに、 + 286 は 6 番目の (マルチポートシリアルカードの) + シリアルポートに接続します。 <filename>/etc/ttys</filename> へのエントリの追加 @@ -569,12 +587,12 @@ /dev の部分 を省略して記述します。 - FreeBSD のインストール当初の状態では、 + FreeBSD のデフォルトのインストール状態では、 ttyd0 から ttyd3 - までの、初めの四つのシリアルポートのエントリが - /etc/ttys に記述され ています。 - これらのポートのいずれかに端末を接続する場合は、新たなエント - リを追加する必要はありません。 + までの、初めの 4 つのシリアルポートに対応した + /etc/ttys ファイルが置かれています。 + これらのポートのいずれかに端末を接続する場合は、 + 新たにエントリを追加する必要はありません。 ここで紹介している例では、 既にファイルにエントリが存在する 2番目のシリ アルポート、 @@ -695,8 +713,7 @@ ttyd5 "/usr/libexec/getty std.19200" ポートを利用可能にする - /etc/ttys のつぎのフィールド、 - つまり 4番目のフィー ルドは、 + /etc/ttys の 4 番目のフィールドは、 そのポートをアクティブにするかどうかの設定です。 このフィールド に on を指定すると、 init プロセスが2番目のフィールドに書かれ @@ -716,7 +733,7 @@ ttyd5 "/usr/libexec/getty std.19200" - ``secure'' なポートの指定 + 安全 (secure) なポートの指定 とうとう最後のフィールドの設定です。 (実際にはここでは触れ ませんが、 @@ -726,49 +743,19 @@ ttyd5 "/usr/libexec/getty std.19200" 最後のフィールド では、 そのポートが安全かどうかを指定します。 - ここで、安全 - なポートとはどういうポートのことでしょう? - - これは、root のアカウント (または、ユーザ ID が 0 - のアカウント) がロ グインしてもよいポートということです。 - 安全でないポートでは、root のロ - グインは許可されません。 - - では、どのように安全なポートとそうでない - ポートを使えばよいでしょう? - - ポートを安全ではないとすることで、 - そのポートに接続された端末からは、root - のログインを禁止することができます。FreeBSDシステムの root - のパス ワードを知っている人は、 - まず一般ユーザとしてログインしなければなりませ ん。 - スーパユーザの特権を得るためには、そのうえで - su コマンドを - 利用しなければいけません。 - - - これによって、root アカウントが不正に利用された場合に、 - その経過を調査 する上で二つの記録を利用できるようになります。 - loginsu - コマンドは、共にシステムのログに記録を残します (また、 - ログイン は wtmp にも記録を残します。 - )。 - - ポートを安全なものとして指定すると、その端末からの root - のログインが可 能になります。root - のパスワードを知っている人は、単に root としてログ - インできます。この場合は、当然ログインの記録や - su コマンドのログ は残りません。 - - では、どちらを使うべきでしょうか? - - 単純に insecure を使うのがよいでしょう。 - 公共の場所にある訳ではな い端末や、 - 鍵のかかったドアの内側にある端末にも - insecure を指 定する方がよいでしょう。 - スーパユーザの特権が必要な場合でも、ログイ ンして - su を実行するのは、 - ごく簡単なことなんですから。 + ポートが安全 (secure) であると指定するということは、 + root アカウント + (またユーザ ID が 0 のあらゆるアカウント) + がそのポートからログインしてもよいという信頼をおいているということです。 + 安全でない (insecure) ポートからは root + はログインできません。安全でないポートでは、 + ユーザは特権を持たないアカウントでログインした後で &man.su.1; + などを使ってスーパユーザ権限を得なければなりません。 + + 鍵のかかったドアの内側にある端末であっても + insecure を使うことを薦めます。 + スーパユーザの特権が必要な場合でも、ログインして &man.su.1; + を使うのはとても簡単なことです。 以下に、ようやく完成した /etc/ttys のエントリに端末の場所を表 @@ -782,29 +769,14 @@ ttyd5 "/usr/libexec/getty std.19200" <command>init</command> にファイル <filename>/etc/ttys</filename> の再読み 込みをさせる - FreeBSD をブートすると、最初に起動されるプロセス、 - init/etc/ttys - を読み込んで、記述されているプログラムを利用可能な - ポートに対して実行し、 - ログインプロンプトを送り出させます。 - - /etc/ttys の編集が終わった後、 - init に変更を認識させるた めに、わざわざ - FreeBSD をブートしなおしたくはないでしょう。このような - 場合のために、init は、 - SIGHUP (hangup) シグナルを受信すると、 - /etc/ttys - を読み込みなおすようになっています。 - - /etc/ttys の変更を保存したら、 - 以下のようなコマンドを実行して、init - に対して SIGHUP を送信します。 + 必要な変更を /etc/ttys + ファイルに加えたら、SIGHUP (ハングアップ) シグナルを + init + プロセスに送って設定ファイルを強制的に再読み込みさせます。 + たとえば &prompt.root; kill -HUP 1 - (init プロセスのプロセス ID は - 常に 1です) - すべての設定が正しくおこなわれ、 すべてのケーブルがただしく接続されてい て、 かつ端末の電源が入っていれば、 @@ -846,18 +818,19 @@ ttyd5 "/usr/libexec/getty std.19200" ださい。 getty が動いていて、 - 端末を認識していることを確認してください。以 - 下のコマンドで動作中の getty - プロセスのリストを得ることができます。 + 端末を認識していることを確認してください。 + たとえば、動作中の getty プロセスの一覧を + ps + で取得するには、以下のように入力してください。 &prompt.root; ps -axww|grep getty - その端末に対する getty - の情報が表示されるはずです。たとえば、以下 + その端末に対応する項目が表示されるはずです。 + たとえば、以下 の表示例は、getty は 2番目のシリアルポート (ttyd1) に対し て /etc/gettytab 中の - std.38400 のエントリを使って動作し + std.38400 エントリを使って動作し ているということを示しています。 22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1 @@ -866,8 +839,9 @@ ttyd5 "/usr/libexec/getty std.19200" プロセスが一つも動いていないようであれば、 /etc/ttys の中で、 そのポートを利用可能にする設定をしたかどう - か確かめてください。また、kill -HUP - 1 を確実に実行してください。 + か確かめてください。また、ttys + ファイルを変更したら、kill -HUP 1 + を実行するのを忘れないでください。 @@ -902,52 +876,29 @@ ttyd5 "/usr/libexec/getty std.19200" + + + + Guy + Helmer + 原作: + + + Sean + Kelly + 加筆: + + + ダイアルインサービス ダイアルインサービス - 原作: &a.ghelmer;. 訳: &a.max;. 6 September 1996. - このドキュメントでは、FreeBSD - で外部からのモデムによるアクセスを受け付 - けるための設定に関してまとめてあります。このドキュメントは筆者が - FreeBSD 1.0、1.1 および 1.1.5.1 での経験と、他の Unix 系 OS - での経験を 基に書いたものですが、 - 必ずしも十分な内容でないかもしれませんし、掲載し - た実例もあなたが今お使いの環境とは一致しないかもしれません。 - また、筆者 はこのドキュメントに従って行われた作業で - データが失われたりシステムが破 壊されるようなことがあっても、 - 一切責任をとれません。 - - - 設定を始める前に - - 筆者は、読者が FreeBSD - に関する基本的な知識をもっていることを仮定して - このドキュメントをまとめました。まず、FreeBSD - が既にインストールされ ていて、Unix - 系環境においてファイルの編集の方法やシステムに付属のマニュ - アルを参照する方法を知っている必要があります。また、 - 以下に示すように、FreeBSD - の特定のバージョンが必要となりますし、いくつかの用語に関する - 知識、 - そしてモデムや多少の配線に関する知識も必要となります。 - - - FreeBSD のバージョン - - まず、FreeBSD のバージョンは 1.1 以上を使用してください - (バージョン 2.X でもかまいません)。FreeBSD 1.0 には、 - 2種類のシリアル ドライバ が含まれているので、 - 混乱の元となり得ます。また、FreeBSD のシリアル ディバイス - ドライバ (sio) は、 - バージョンを追う毎に改善されてき ていますので、 - より新しいバージョンの FreeBSD を使用することで、よりよ い、 - より効率の高いドライバを利用することができるはずです。 - - + + はじめに 用語解説 @@ -1406,11 +1357,9 @@ crw-rw---- 1 uucp dialer 28, 1 /sbin/init はど の tty ディバイスに対して getty のプロセスを実行するべきか判 - 断します。最後に、お使いの FreeBSD が 1.1.5.1 以降のものならば + 断します。最後に、 /etc/rc.serial スクリプトに、 - それ以前のものならば /etc/rc.local - スクリプトにシリアル ポートの初期化のためのコマ - ンドを記述することができます。 + シリアルポートの初期化のためのコマンドを記述することができます。 Unix にダイアル アップ モデムを接続する方法には、 二つの考え方がありま す。一つの方法は、ダイアル @@ -1440,7 +1389,7 @@ crw-rw---- 1 uucp dialer 28, 1 う文字列を送信して、それに対する応答の文字列を監視します。 ここで、ユー ザ側の端末に無意味な文字列が表示された場合、 ユーザは意味のある文字列を 受信するまで - <Enter> + Enter キーを繰り返し押さなければならない ということを知っていると仮定しています。 もし接続速度が間違っている場合、getty は、 @@ -1491,11 +1440,7 @@ crw-rw---- 1 uucp dialer 28, 1 に記述する必要があります。もし、2400 bps のモ デムをお使いになるのであれば、既存の D2400 のエントリがそのまま利 - 用できるでしょう。このエントリは FreeBSD の 1.1.5.1 の - gettytab には既に含まれていますので、 - あなたの FreeBSD のバージョンでこのエント - リが存在しているのであれば、 - 新たに追加する必要はありません。 + 用できるでしょう。 # # Fast dialup terminals, 2400/1200/300 rotary (can start either way) @@ -1527,15 +1472,8 @@ up|V9600|High Speed Modem at 9600,8-bit: uq|V19200|High Speed Modem at 19200,8-bit:\ :nx=V9600:tc=std.19200: - 上記の例を利用した場合、FreeBSD 1.1.5 - 以降ではパリティなし、8ビットの 接続が行われます。FreeBSD - 1.1 では、:np: パラメータをファイルの - 先頭の - std.xxx - のエントリに追加することで、パリティなし、 - 8ビットの接続が行われますが、 - このパラメータを追加しなければ接続は偶数 パリティ、 - 7ビットになります。 + 上記の例を利用した場合、 + パリティなし、8ビットの接続が行われます。 上記の例では、まず 19.2 Kbps (V.32bis) によるモデムとコンピュータ間の 接続を試み、続いて 9600 bps @@ -1580,28 +1518,15 @@ vq|VH57600|Very High Speed Modem at 5760 <filename>/etc/ttys</filename> - - /etc/ttys - - - /etc/ttys には、 - init が監視すべき tty - のリストを記 - 述します。さらに、/etc/ttys は、 - login に対してセキュリ - ティに関する情報を提供します。(ユーザ - root は、secure とマー - クされている tty - のみからログインできます)。詳しくは - &man.ttys.5; のマニュアルをご覧ください。 - - - /etc/ttys の既存の行を変更するか、 - あるいは新しい行を追加して、init - が自動的に新しいダイアル アップ サービス用のポートに対して - getty - プロセスを起動するようにしてください。書式は、固定速度の設 - 定か可変速度の設定かに関わらず、以下のとおりです。 + + /etc/ttys + + + /etc/ttys + ファイルの設定は、前の節で端末の設定として扱われています。 + モデムの設定も似たようなものですが、getty + に異なる引数を渡して、異なる端末種別を指定しなければなりません。 + 固定速度および可変速度両方に共通する形式は次のようになります。 ttyd0 "/usr/libexec/getty xxx" dialup on @@ -1664,12 +1589,12 @@ vq|VH57600|Very High Speed Modem at 5760 ttyd0 "/usr/libexec/getty std.19200" dialup on - 別の速度でモデムのポートのスピードを固定したい場合は、 - /etc/gettytab - から適切なエントリを選んで、上の例の - std.19200 の部分を + モデムが異なる速度で固定されている場合は、 + std.19200 のかわりに std.speed - として、適切な速度のも のに置き換えてください。 + を適切な値に置き換えたものにしてください。 + /etc/gettytab + に挙がっている適切な種類を使うようにしてください。 @@ -1692,59 +1617,30 @@ vq|VH57600|Very High Speed Modem at 5760 - <filename>/etc/rc.serial</filename> または - <filename>/etc/rc.local</filename> - - rc ファイル - rc.local - - - rc ファイル - rc.serial - + <filename>/etc/rc.serial</filename> + + rc ファイル + rc.serial + V.32、V.32bis または V.34 モデムのような高速モデムを利用する場合、ハー ドウェア (RTS/CTS) フロー制御を行う必要があります。FreeBSD kernel のモデム ポートにハードウェア フロー制御のフラグを設定するため の - stty コマンドを、FreeBSD 1.1.5.1 以降では - /etc/rc.serial に、FreeBSD 1.1 では - /etc/rc.local に 記述できます。 - - たとえば、FreeBSD 1.1.5.1 の - /etc/rc.serial のサンプルは以下 - のとおりです。 - - #!/bin/sh -# -# Serial port initial configuration + stty コマンドを、 + /etc/rc.serial に記述できます。 + たとえば、シリアルポート 1 番 + (COM2:) + のダイヤルインおよびダイヤルアウト初期化デバイスに + termios フラグ crtscts + を設定するには、次の行を /etc/rc.serial + に追加するとよいでしょう。 + # Serial port initial configuration stty -f /dev/ttyid1 crtscts stty -f /dev/cuai01 crtscts - この例では、termio のフラグ - crtscts をシリアル ポート #1 - (COM2:) のダイアル - インおよびダイアル アウトの初期化ディバイスに - 設定しています。 - - 古い FreeBSD 1.1 では、以下のエントリが - crtscts フラグを設定する ために - /etc/rc.local - に追加されていました。 - - # Set serial ports to use RTS/CTS flow control -stty -f /dev/ttyd0 crtscts -stty -f /dev/ttyd1 crtscts -stty -f /dev/ttyd2 crtscts -stty -f /dev/ttyd3 crtscts - - FreeBSD 1.1 には初期化のためのディバイス スペシャル - ファイルがないので、ディバイス - ファイルそのものにフラグを設定して、その後はフラグをクリア - してしまうような極悪人が現れないことを願うしかありません。 - @@ -1853,8 +1749,7 @@ AT&C1&D2&H1&I0&R2&am モデムがこの入力をエコーしたり、この入力に対するリザルト コード を返してしまったりすることになります。この結果として、 モデムと getty - の間で延々と無意味なやりとりが続いたというケースを聞いたこ - とがあります。 + の間で延々と無意味なやりとりが続いてしまう可能性があります。 固定速度の設定 @@ -1976,7 +1871,7 @@ AT&B2&W 1ストップ ビットで接続するようにしてください。 接続後すぐにプロンプトが返ってこない場合や、 無意味な文字列が表示される 場合は、1秒に1回くらいの割合で - <Enter> キーを押してみて ください。 + Enter キーを押してみてください。 しばらくたって、なおも login: プロンプトが現れない場合 は、BREAK 信号を送信してみてください。この時、端末側で使って @@ -2031,30 +1926,12 @@ AT&B2&W - - 謝辞 - - 以下の方々から、 - 多くのコメントやアドバイスをいただきました。ここに謝意 - を表します。 - - - Sean Kelly - - <kelly@fsl.noaa.gov> 多くのすばらしい助言をいた - だきました - - - - ダイアルアウトサービス ダイアルアウトサービス - 原作: FAQ からの情報 - 訳: &a.jp.tmaruya;. 31 December 1996. @@ -2073,30 +1950,6 @@ AT&B2&W を利用してファイルを転送します。 - <command>tip</command> や <command>cu</command> - が実行できないはなぜ? - - あなたのシステムで tip や - cu というプログラムは - uucpdialer - というグループに所属しているユーザのみが - 実行できるようになっているのでしょう。リモートホストやモデムを - 利用できる dialer - のグループにあなたのアカウントを 加えましょう。 - - もしくは下記のコマンドを使うことによって、そのシステムで - tipcu - を誰でも使えるようになります: - - &prompt.root; chmod 4511 /usr/bin/tip - - このコマンドは cu - に対しておこなう必要はありません、それは - cutip - に対するハードリンクだからです。 - - - 私の Hayes モデムはサポートされていません、 どうしよう?