Linux UUCP HOWTO (v.1.11 10/11/94) 日本語版 Vince Skahan, 日本語バージョン 1.1, 1995年 2月 2日 さとけん@ForUs , 播口陽一 この文書は Linux での UUCP の設定、UUCP を用いたデータの配送、UUCP の 管理の方法について扱います。モデム経由、インターネット経由、あるいは直 付けで、離れたコンピュータに UUCP 接続する場合この文書を読む価値があり ます。UUCP を利用しないならこれを読んでも意味がないでしょう。 注意: この文書はかなり以前に書かれたものなので、いまどきの Linux 環境 にはあてはまらない箇所があります。 (JF Project) ______________________________________________________________________ 目次 1. 初めに 1.1 この文書の最新版 1.2 感想などは 1.3 著作権 1.4 標準的放棄声明文 1.5 この文書以外の情報源 1.5.1 LINUX HOWTO 文書: 1.5.2 USENET: 1.5.3 メーリングリスト: 1.5.4 書籍: 1.6 質問するべきでない所 2. 必要なハードウェア 3. UUCP の取得 4. ソフトウェアのインストール 4.1 圧縮されたソースの展開 4.2 Makefile.in を編集してインストール用ディレクトリを設定します。 4.3 "configure" の実行 4.4 ソフトウェアの設定 4.4.1 conf.h と Makefile を見て、内容が正しいか確認します。 4.4.2 policy.h を編集し、各自のシステムに設定を合わせます。 4.5 ソフトウェアのコンパイルと導入(install) 4.6 設定ファイルの記述 4.7 試してみる 4.8 動きませんが、どうしましょう 5. Linux の UUCP に関して頻繁に出される質問 5.1 バイナリで配布されている uucp はなぜ "Taylor" 形式でなく HDB 形式に設定されているのですか? 5.2 uucp-1.04 に更新したら接続時に "timeout" が出ます。 5.3 HDB 匿名 UUCP はなぜ動いているように見えないのですか。 5.4 "no matching ports found" はどういう意味ですか。 5.5 HDB で正しく動くことが判っている設定ファイルはありますか。 5.6 uucico で2つの番号を交互に利用するには? 6. 謝辞 ______________________________________________________________________ 1. 初めに Linux 一般、特に SLS と Slackware 版 Linux で UUCP のソフトウェアを使 用する際に頻繁に現れる質問や意見に答えるのが、この文書の目的です。 以前 comp.os.linux.announce に投稿されていた旧 UUCP-NEWS-MAIL-FAQ の続 編が、この UUCP-HOWTO や、メールとニュースの HOWTO 文書です。 1.1. この文書の最新版 この文書の最新版は定期的に comp.os.linux.announce, comp.answers, news.answers に投稿されます。また sunsite.unc.edu:/pub/Linux/docs/HOWTO ディレクトリをそのままコピーして いる FTP サイトからも取得できます。 さらに、Linux WorldWideWeb のホームページ http://sunsite.unc.edu/mdw/linux.html と私のホームページ http://www.halcyon.com/vince/welcome.html でこの文書を見つけることがで きるでしょう。 1.2. 感想などは この文書に関するメールでの意見はどんな物にも感心があります。間違いや追 加して欲しい事があれば私にお知らせ下さい。 私は、受け取るメールは全て読みますが、全部に返事を出す訳ではありませ ん。暇があるか、変更に価値があるか、その日の血圧はどうか :-)、等を考慮 の上で、この文書を希望に沿って改善します。 お怒りは静かに /dev/null に葬られますので、わざわざ送る意味はありませ んよ。 この文書の構成に関する意見は、HOWTO のまとめ役である Matt Welsh 氏 (mdw@sunsite.unc.edu) に送って下さい。 1.3. 著作権 UUCP-HOWTO の著作権は Vince Skahan にあります。 そのままの形であれば、いかなる媒体や電子的であろうと、複製や配布に著者 の許可は必要ありません。翻訳についても、だれが翻訳したかを明記していれ ば、同じように許可は必要ありません。 この文書のごく一部をを引用する場合は著者の同意を取ってからでなくてもか まいません。この文書を大幅に書き換えたり、不完全な形で配布する場合に は、原本のコピーか、原本の在処を添付して下さい。 営利目的での再配布も、もちろん許可します。けれども、配布の際には著者に 連絡して下さい。 あらゆる経路を通してこの情報が宣伝促進されることを願っていますが、 HOWTO 文書の著作権も保持したいと思っていますので、 HOWTO の再配布の予 定などは、連絡して下さい。 HOWTO をより良くするための情報であれば、なんでも教えて下さい。もし質問 があれば、 Linux HOWTO のまとめ役である Matt Welsh に連絡して下さい。 連絡は、電子メールであれば mdw@sunsite.unc.edu に、電話であれば +1 607 256 7372 にお願いします。 1.4. 標準的放棄声明文 もちろん、私は本文書の内容についてのいかなる潜在責任も否認します。本文 書に含まれている概念、例などを使用するのは、全てあなたの責任で行って下 さい。 1.5. この文書以外の情報源 1.5.1. LINUX HOWTO 文書: 他の Linux HOWTO 文書や Linux DOC プロジェクトからの文書にも、優れた資 料が多くあります。特に以下のものを読まれるのも良いでしょう。 o the Serial Communications HOWTO o the Ethernet HOWTO o the Linux Networking Administration Guide 1.5.2. USENET: UUCP に関する質問は大抵 comp.mail.uucp で答えが得られます。 1.5.3. メーリングリスト: Taylor UUCP のメーリングリストがあります。 参加や脱退は、以下のアドレスに要請のメールを送って下さい。 taylor-uucp-request@gnu.ai.mit.edu この要請メールはプログラムでなく人が読みますから、メールを受け取るため のアドレスを本文にも必ず書いて下さい。 記事を投稿するには、以下のアドレスに記事のメールを送ります。 taylor-uucp@gnu.ai.mit.edu 1.5.4. 書籍: HDB 版と V2 版の UUCP の解説は UNIX の通信を扱うほとんどの本はもちろん のこと、各業者(vendor)の文書にも書かれています。 Taylor の設定ファイルの解説は、現在はソースファイルに付属する info ファイルに記述があるだけです。また SLS 配布にも含まれているかも知れま せん。このような解説を読むには、 SLS なら "s" ディスクに含まれる "infosrc" というプログラムをコンパイルして使います。 これが全てではありませんが、役立つ本を紹介しておきます。 o O'Reilly+Associates から出版されている "Managing UUCP and USENET" は、USENET に接続する時に使うプログラムやプロトコルを解説し、市販さ れている本の中では最高だと思います。【訳注:日本語訳は「UUCP システ ム管理」(アスキー)】 o The Waite Group から出版されている "Unix Communications" は、UNIX の通信について、あらゆる事柄がうまく解説されています。 o O'Reilly+Associates から出版されている "Practical Unix Security" は、一般的な UUCP の安全対策について、良く書かれています。【訳注: 日本語訳は「UNIX セキュリティ」(アスキー)】 o Osborne から出版されている "The Internet Complete Reference" は、イ ンターネットで利用できるさまざまなサービスの説明が載っている良い参 考書で、ニュース、メール、その他さまざまなインターネットの資源に関 する情報を得ることができます。 o Linux DOC プロジェクト の Olaf Kirch が書いた "The Linux Networking Administrators' Guide" はネットワーク上で入手可能ですし、(少なくと も) O'Reilly と SSC が出版しました。この本には、これまで Unix ネッ トワーキングについて知る必要があると思っていたこと全てが書いてあり ます。 1.6. 質問するべきでない所 Linux で UUCP を設定して動かすのは(もはや)特別な事ではありません。です から UUCP 一般の質問は comp.os.linux.* には投稿しないで下さい。 本当に Linux に特化した問題でない限り、質問は comp.mail.uucp に投稿す るか、上にも書いた Taylor UUCP メーリングリストを利用して下さい。Linux に特化した質問とは次の様な物です。「SLS 1.02 に入っている Taylor UUCP v1.04 のバイナリはどの設定ファイルを使って作られているんですか。」 もう一度繰り返します。 UUCP に関する質問を comp.os.linux に投稿する理由はもう存在しません。全 ての質問は comp.mail.* で扱っています。 あなたが comp.os.linux.* に Linux に特化しない一般的な質問を投稿したな ら、答えは得られないでしょう。 UUCP のエキスパートは上に書いている ニュースグループしか見ていないでしょうし、大概 Linux は動かしていませ ん。 comp.os.linux.* に Linux に特化しない一般的な質問を投稿しても、あなた の質問の答えを得るために、しばしばあなたや他の人の時間を浪費するだけで す。 2. 必要なハードウェア Linux の UUCP では、特殊なハードウェアは必要ありません。基本的には Hayes 互換のモデムで問題なく UUCP が動作します。 普通は、買える範囲でできるだけ高速なモデムを使うのが良いでしょう。9600 ボー以上の通信速度を扱うために、シリアルボードかモデム自身に 16550 UART チップが載った物がお勧めです。 上の文がどういう意味かわからない人は、 comp.dcom.modems で聞くか、モデ ムやシリアル通信に関する FAQ や USENET の定期的な投稿を読んで下さい。 3. UUCP の取得 Taylor UUCP (最新版は 1.05) は prep.ai.mit.edu にソースファイルがあり ます。また、さまざまな Linux の配布版にはバイナリが含まれます。 newspak-2.4.tar.z には Linux で UUCP、ニュース、メールなどのソフトウェ アを構築し、動かすための設定ファイルや解説文が入っています。含まれてい る文書は自由に使えるものです。これは大抵 sunsite.unc.edu の /pub/Linux/system/Mail/news ディレクトリにあります。もし sunsite に無 い場合は私に電子メールで連絡してください。コピーを入手できるように手配 します。 4. ソフトウェアのインストール ( この章の大部分は Taylor UUCP 1.05 のソースからそのまま抜き出したもの です。単に「マニュアルを読め」と言うだけでなく、実際にマニュアルを読む ようお手伝いをしようという事です。 ) コンパイル手順の詳細はソースファイル群の uucp.texi ファイルにありま す。 Linux で正しく動作する config.h と policy.h は「この文書以外の情報源」 の節にも書いた、newspak の書庫(archive)に含まれます。これら二つのファ イルを newspak 書庫から取得した場合は、すぐに "make" が可能です。 4.1. 圧縮されたソースの展開 gzip で圧縮してある tar ファイルの展開は、次のように行います。 gunzip -c filename.tar.z | tar xvf - 最近の tar であれば、次のようにするだけです。 tar -zxvf filename.tgz 4.2. Makefile.in を編集してインストール用ディレクトリを設定します。 ここで、私は "prefix" に "/usr/local" でなく "/usr" を設定しました。 4.3. "configure" の実行 "sh configure" と打ち込みます。 configure スクリプトは、あなたのシステムで何ができるかを確かめるための 多くの試験用プログラムをコンパイルし、多量の計算を行います。 また、conf.h.in から conf.h、 Makefile.in から Makefile を生成します。 さらに config.status というファイルが生成されます。これはシェルスクリ プトで、上記のファイルを実際に生成します。 o Makefile.in ファイルを直接編集しなくても、以下のようにすれば同じ結 果が得られます。 "configure --prefix=/usr/lib" 4.4. ソフトウェアの設定 4.4.1. conf.h と Makefile を見て、内容が正しいか確認します。 私は標準の設定を使いました。 4.4.2. policy.h を編集し、各自のシステムに設定を合わせます。 o - ロックファイルの型を設定 (HAVE_HDB_LOCKFILES) o - 内蔵したい設定ファイルの型を指定 (HAVE_TAYLOR_CONFIG, HAVE_V2_CONFIG, HAVE_HDB_CONFIG) o - スプールディレクトリ構造の型を設定 (SPOOLDIR_HDB) o - ログファイルの型を設定 (HAVE_HDB_LOGGING) o - コマンドの標準サーチパスを設定 ( 私は /usr/local/bin を追加しまし た ) 4.5. ソフトウェアのコンパイルと導入(install) o "make" と打ち込みします。 o "uuchk | more" と打ち込んで、設定ファイルを確認します。設定ファイル の形式を変換するには "uuconv" を使います。 o "make install" と打ち込んで導入します。 4.6. 設定ファイルの記述 まず、付属の、正しく動作する HDB モードの設定ファイルを導入するようお 勧めします。 o rmail や rnews を policy.h で定義した場所以外に置くなら、 Permissions ファイルには rmail と rnews の正確な場所を記述します。 o Devices ファイルと実際のモデムのポートが一致するかを確認します。( 例えば /dev/cua1 は COM2 です。 ) o Systems ファイルを編集し、接続先のシステムのスピード、電話番号、利 用者名、パスワードを設定します。 【注意】このファイルは誰もが見るファイルではありません。適切に保護 して下さい。 o Permissions ファイルを編集し、接続先のサイト毎に設定を追加します。 システムの保護のため、(外部からの呼び出しを受け付けるなら) 各サイト 毎に異なったアカウントを設定し、ホームディレクトリも作って、何か あったかを追跡可能にしておく事をお勧めします。 4.7. 試してみる /usr/lib/uucp/uucico -r 1 -x 9 -s リモートシステム名 -x 9 を使うと、初期設定を支援するデバッグ情報が最大限、 /usr/spool/uucp/.Admin/audit.local ファイルに出力されます。 私は普段 run -x 4 を使い、ログインの際の問題を解決するための糸口をログ に残しておきます。自明ですが、このファイルには Systems ファイルの情報( アカウントやパスワード) があからさまに記述されますから、誰でも読めるよ うなアクセス許可ビットは設定しないように注意が必要です。 o Pierre.Beyssac@emeraude.syseca.fr 氏からの情報 Taylor にはさらに多くのログレベルがあります。-x all で最高のログレ ベルになります。 また、デバッグ中に何が起こっているかをコマンド実行中に見るには "tail -f /usr/spool/uucp/.Admin/audit.local" を実行しましょう。 4.8. 動きませんが、どうしましょう 動かない場合は大抵上に示したような資料が参考になります。実際に UUCP を 使っていて経験も豊富な人に質問するのも良いでしょう。いずれにせよ、普通 は打ち間違いのような単純な事です。 5. Linux の UUCP に関して頻繁に出される質問 5.1. バイナリで配布されている uucp はなぜ "Taylor" 形式でなく HDB 形 式に設定されているのですか? (宗教モードに入って言うと:私が「標準になっている」ということについて 宗教的であるのと同じくらい「使いやすい」という事について単に宗教的な人 達がいるのを知っています。だから彼らは独自のバイナリを構築できるソース コードを作ったんです。 :-) ) 現在はこれが UUCP の事実上の標準だからだと思います。経験豊富な管理者が いるサイトは何千もありますし、 HDB の設定に関して素晴らしい情報を提供 している所も沢山あります。 SLS の 1.02 以降に含まれる uucp-1.04 は、三種のモードの設定ファイルが 全て内蔵されています。私は試せませんが、解説は読みましたし、Ian Taylor 氏も動くはずだと教えてくれました。 UUCP は Taylor → V2 (L.sys) → HDB の順に設定ファイルを探します。 /usr/lib/uucp の uuconv プログラムを使うと、各モード間で設定ファイルを 変換できます。 UUCP のソースファイルを取得して、HAVE_BNU_CONFIG, HAVE_V2_CONFIG, HAVE_TAYLOR_CONFIG を全部 policy.h に指定し、 "make" するのもいいで しょう。 以下の変更は美しくありませんが、正しく動きます。これは Taylor モードが 内蔵されていないバイナリで Taylor モードを動かすための物です。 o mbravo@tctube.spb.su (Michael E. Bravo) 氏からの情報 - uucp パッケージのプログラムから呼び出す「全ての」プログラムに "-I /usr/local/lib/uucp/config" を追加する。 5.2. uucp-1.04 に更新したら接続時に "timeout" が出ます。 o Ed Carp - erc@apple.com 氏からの情報 Devices ファイルで "Direct" デバイスを使っている場合、標準では 10 秒で時間切れ (timeout) になるようコンパイルされていますから、Device を "Direct" 以外に設定します。SLS に付属の /usr/lib/uucp の例から 持ってくればこの問題は発生しません。 o Greg Naber - greg@squally.halcyon.com 氏からの情報 チャットスクリプトで時間切れになるなら、uuconf/syssub.c の 323 行目 を編集して、標準の時間切れ設定を 10 秒より大きな値に修正します。 o Ed Rodda - ed@orca.wimsey.bc.ca 氏からの情報 典型的には Taylor サイトに接続中、チャットスクリプトで時間切れにな る場合、ログイン直後に少し待ち時間を設定すれば解決します。 feed Any ACU,ag 38400 5551212 ogin: \c\d "" yourname word: passwd o Dr. Eberhard W. Lisse - el@lisse.NA 氏からの情報 ある種のカーネルでは、数秒たつとモデムがハングします。Ian Taylor 氏 提供の次のパッチを当てると、解決するかも知れません。 *** conn.c.orig Mon Feb 22 20:25:24 1993 --- conn.c Mon Feb 22 20:33:10 1993 *************** *** 204,209 **** --- 204,212 ---- /* Make sure any signal reporting has been done before we set fLog_sighup back to TRUE. */ + /* SMR: it seems to me if we don't care about SIGHUPS, we should clear + the flag before we return */ + afSignal[INDEXSIG_SIGHUP] = FALSE; ulog (LOG_ERROR, (const char *) NULL); fLog_sighup = TRUE; 5.3. HDB 匿名 UUCP はなぜ動いているように見えないのですか。 SLS の 匿名 UUCP は、HAVE_TAYLOR_CONFIG を使ってコンパイルされているの で Taylor モードでだけ動作します。 HDB モードで匿名 UUCP する場合は、 HDB だけを定義して再コンパイルして下さい。Ian Taylor 氏はこの「機能」 をどう扱うか考えているところです。 また、HDB モードで Taylor を使うと空白や空行に関して敏感になるようで す。安全のため、Permissions ファイルには行末の空白や空行が含まれないよ う気を付けて下さい。 最後に、/usr/lib/uucp ディレクトリに実行許可の無い remote.unknown とい うファイルあることを確認して下さい。このファイルに関する詳細は "Managing UUCP and USENET" (O'Reilly and Associates) をご覧下さい。 5.4. "no matching ports found" はどういう意味ですか。 たぶん存在しないデバイスを /usr/lib/uucp/Devices で指定したのでしょ う。あるいは /usr/lib/uucp/Systems で指定したデバイスが Devices ファイ ルにあるデバイスと一致していません。 この後に、うちで動いている Taylor 1.05 HDB の設定ファイルから不要な行 を取り除いた物を書いておきますので、試して下さい。 Systems ファイルの "ACU" は、 Devices ファイルのどの「ポート」を使うか を指定します。 Systems ファイルの "scout" は、 Dialers ファイルのどのダイアラを使うか 指定します。 Systems のダイアルコマンドに合う ACU ポートがない場合、このメッセージ が出ます。 5.5. HDB で正しく動くことが判っている設定ファイルはありますか。 HoneyDanBer モードで動作する Linux の Taylor 1.05 用設定ファイルを以下 に示します。0.99.pl8 以降のカーネルで動きます。uucp ライブラリを他の場 所に置くようにソースファイルを変更していなければ、これらのファイルは全 て /usr/lib/uucp に置かれます。 標準でない場所にこれらを置いた場合には、 sendmail の類のプログラムが非 常に混乱をきたす可能性があることを念頭に置いておいてください。全ての通 信関係のプログラムがあなたの「標準」パスに一致するようにしなければなり ません。 バージョン 0.99-7 以前のカーネルを使っているのであれば、 "cua1" を "ttyS1" に変えてください。 #------------- Devices ------------- # make sure the device (cua1 here) matches your system # cua1 = COM2 # # here "scout" is the Digicom Scout Plus 19.2 modem I use # tbfast etc. is for a Telebit Trailblazer Plus modem's various speeds # ACU cua1 - 19200 scout ACU cua1 - 9600 tbfast ACU cua1 - 1200 tbslow ACU cua1 - 2400 tbmed #------------- dialers -------------- # note the setting of the Trailblazer registers "on the fly" # "scout" is a Digicom Scout Plus (Hayes-like) modem I use here # scout =W-, "" ATM0DT\T CONNECT tbfast =W-, "" A\pA\pA\pT OK ATS50=255DT\T CONNECT\sFAST tbslow =W-, "" A\pA\pA\pT OK ATS50=2DT\T CONNECT\s1200 tbmed =W-, "" A\pA\pA\pT OK ATS50=3DT\T CONNECT\s2400 #-------------- Systems ------------- # this is a very generic entry that will work for most systems # # the Any;1 means that you can call once per minute with using -f (force) # the ACU,g means force "g" protocol rather than Taylor's default "i" # fredsys Any;1 ACU,g 19200 scout5555555 "" \r ogin:--ogin: uanon word: uanon #-------------------------------- Permissions ------------------------- # Taylor UUCP in HDB mode appears to be sensitive to blank lines. # Make sure all Permissions lines are real or commented out. # # this is a anonymous uucp entry # LOGNAME=nuucp MACHINE=OTHER \ READ=/usr/spool/uucp/nuucp \ WRITE=/usr/spool/uucp/nuucp \ SENDFILES=yes REQUEST=yes \ COMMANDS=/bin/rmail # # this is a normal setup for a remote system that talks to us # note the absolute path to rnews since this site puts things # in locations that aren't "standard" # LOGNAME=fredsys MACHINE=fredsys \ READ=/usr/spool/uucp/fredsys:/usr/spool/uucp/uucppublic:/files \ WRITE=/usr/spool/uucp/fredsys:/usr/spool/uucppublic \ SENDFILES=yes REQUEST=yes \ COMMANDS=/bin/rmail:/usr/local/lib/news/bin/rnews #---------------------------------------------------------------------- 5.6. uucico で2つの番号を交互に利用するには? 新しい v1.05 の uucico には、リモートシステムの番号を交互に試みる '-z' スイッチが追加されました。 6. 謝辞 以下の人たちは、この文書を書くに当たって情報を提供してくれました。 Ed Carp, Steve Robbins, Ian Taylor, Greg Naber, Matt Welsh, Pierre Beyssac 抜けている人がいれば、ごめんなさい。