Linux UUCP HOWTO (v.1.11 10/11/94) 日本語版 <author>Vince Skahan, <tt><vince@halcyon.com></tt> <date>日本語バージョン 1.1, 1995年 2月 2日 <trans>さとけん@ForUs <tt><ken@gamba.forus.or.jp></tt>, 播口陽一 <tt><hariguti@kawasaki-steel.co.jp></tt> <abstract> この文書は Linux での UUCP の設定、UUCP を用いたデータの配送、UUCP の管 理の方法について扱います。モデム経由、インターネット経由、あるいは直付 けで、離れたコンピュータに UUCP 接続する場合この文書を読む価値がありま す。UUCP を利用しないならこれを読んでも意味がないでしょう。 </abstract> <p> <bf>注意: この文書はかなり以前に書かれたものなので、 いまどきの Linux 環境にはあてはまらない箇所があります。 (JF Project)</bf> </p> <toc> <sect>初めに <p> Linux 一般、特に SLS と Slackware 版 Linux で UUCP のソフトウェアを使 用する際に頻繁に現れる質問や意見に答えるのが、この文書の目的です。 以前 <em>comp.os.linux.announce</em> に投稿されていた旧 UUCP-NEWS-MAIL-FAQ の続編が、この UUCP-HOWTO や、メールとニュースの HOWTO 文書です。 <sect1>この文書の最新版 <p> この文書の最新版は定期的に comp.os.linux.announce, comp.answers, news.answers に投稿されます。また <tt>sunsite.unc.edu:/pub/Linux/docs/HOWTO</tt> ディレクトリをそのまま コピーしている FTP サイトからも取得できます。 さらに、Linux WorldWideWeb のホームページ <tt>http://sunsite.unc.edu/mdw/linux.html</tt> と私のホームページ <tt>http://www.halcyon.com/vince/welcome.html</tt> でこの文書を見つけ ることができるでしょう。 <sect1>感想などは <p> この文書に関するメールでの意見はどんな物にも感心があります。間違いや追 加して欲しい事があれば私にお知らせ下さい。 私は、受け取るメールは全て読みますが、全部に返事を出す訳ではありません。 暇があるか、変更に価値があるか、その日の血圧はどうか :-)、等を考慮の上 で、この文書を希望に沿って改善します。 お怒りは静かに /dev/null に葬られますので、わざわざ送る意味はありませ んよ。 この文書の構成に関する意見は、HOWTO のまとめ役である Matt Welsh 氏 (<tt>mdw@sunsite.unc.edu</tt>) に送って下さい。 <sect1>著作権 <p> UUCP-HOWTO の著作権は Vince Skahan にあります。 そのままの形であれば、いかなる媒体や電子的であろうと、複製や配布に著者 の許可は必要ありません。翻訳についても、だれが翻訳したかを明記していれ ば、同じように許可は必要ありません。 この文書のごく一部をを引用する場合は著者の同意を取ってからでなくてもか まいません。この文書を大幅に書き換えたり、不完全な形で配布する場合には、 原本のコピーか、原本の在処を添付して下さい。 営利目的での再配布も、もちろん許可します。けれども、配布の際には著者に 連絡して下さい。 あらゆる経路を通してこの情報が宣伝促進されることを願っていますが、 HOWTO 文書の著作権も保持したいと思っていますので、 HOWTO の再配布の 予定などは、連絡して下さい。 HOWTO をより良くするための情報であれば、なんでも教えて下さい。もし質問 があれば、 Linux HOWTO のまとめ役である Matt Welsh に連絡して下さい。 連絡は、電子メールであれば <tt>mdw@sunsite.unc.edu</tt> に、電話であれ ば +1 607 256 7372 にお願いします。 <sect1>標準的放棄声明文 <p> もちろん、私は本文書の内容についてのいかなる潜在責任も否認します。本文 書に含まれている概念、例などを使用するのは、全てあなたの責任で行って下 さい。 <sect1>この文書以外の情報源 <sect2>LINUX HOWTO 文書: <p> 他の Linux HOWTO 文書や Linux DOC プロジェクトからの文書にも、優れた資 料が多くあります。特に以下のものを読まれるのも良いでしょう。 <itemize> <item>the Serial Communications HOWTO <item>the Ethernet HOWTO <item>the Linux Networking Administration Guide </itemize> <sect2>USENET: <p> UUCP に関する質問は大抵 comp.mail.uucp で答えが得られます。 <sect2>メーリングリスト: <p> Taylor UUCP のメーリングリストがあります。 参加や脱退は、以下のアドレスに要請のメールを送って下さい。 <verb> taylor-uucp-request@gnu.ai.mit.edu </verb> この要請メールはプログラムでなく人が読みますから、メールを受け取るため のアドレスを本文にも必ず書いて下さい。 記事を投稿するには、以下のアドレスに記事のメールを送ります。 <verb> taylor-uucp@gnu.ai.mit.edu </verb> <sect2>書籍: <p> HDB 版と V2 版の UUCP の解説は UNIX の通信を扱うほとんどの本はもちろん のこと、各業者(vendor)の文書にも書かれています。 Taylor の設定ファイルの解説は、現在はソースファイルに付属する info ファ イルに記述があるだけです。また SLS 配布にも含まれているかも知れません。 このような解説を読むには、 SLS なら "s" ディスクに含まれる "infosrc" とい うプログラムをコンパイルして使います。 これが全てではありませんが、役立つ本を紹介しておきます。 <itemize> <item>O'Reilly+Associates から出版されている "<tt>Managing UUCP and USENET</tt>" は、USENET に接続する時に使うプログラムやプロトコルを解説 し、市販されている本の中では最高だと思います。 【訳注:日本語訳は「UUCP システム管理」(アスキー)】 <item>The Waite Group から出版されている "<tt>Unix Communications</tt>" は、UNIX の通信について、あらゆる事柄がうまく解説 されています。 <item>O'Reilly+Associates から出版されている "<tt>Practical Unix Security</tt>" は、一般的な UUCP の安全対策について、良く書かれていま す。 【訳注:日本語訳は「UNIX セキュリティ」(アスキー)】 <item>Osborne から出版されている "<tt>The Internet Complete Reference</tt>" は、インターネットで利用できるさまざまなサービスの説明 が載っている良い参考書で、ニュース、メール、その他さまざまなインターネッ トの資源に関する情報を得ることができます。 <item> Linux DOC プロジェクト の Olaf Kirch が書いた "<tt>The Linux Networking Administrators' Guide</tt>" はネットワーク上で入手可能です し、(少なくとも) O'Reilly と SSC が出版しました。この本には、これまで Unix ネットワーキングについて知る必要があると思っていたこと全てが書い てあります。 </itemize> <sect1>質問するべきでない所 <p> 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.* で扱っています。 <em> あなたが comp.os.linux.* に Linux に特化しない一般的な質問を投稿したな ら、答えは得られないでしょう。 UUCP のエキスパートは上に書いているニュー スグループしか見ていないでしょうし、大概 Linux は動かしていません。 </em> <em> comp.os.linux.* に Linux に特化しない一般的な質問を投稿しても、あなた の質問の答えを得るために、しばしばあなたや他の人の時間を浪費するだけで す。 </em> <sect>必要なハードウェア <p> Linux の UUCP では、特殊なハードウェアは必要ありません。基本的には Hayes 互換のモデムで問題なく UUCP が動作します。 普通は、買える範囲でできるだけ高速なモデムを使うのが良いでしょう。9600 ボー以上の通信速度を扱うために、シリアルボードかモデム自身に 16550 UART チップが載った物がお勧めです。 上の文がどういう意味かわからない人は、 <em>comp.dcom.modems</em> で聞 くか、モデムやシリアル通信に関する FAQ や USENET の定期的な投稿を読ん で下さい。 <sect>UUCP の取得 <p> Taylor UUCP (最新版は 1.05) は <tt>prep.ai.mit.edu</tt> にソースファイ ルがあります。また、さまざまな Linux の配布版にはバイナリが含まれます。 <tt>newspak-2.4.tar.z</tt> には Linux で UUCP、ニュース、メールなどの ソフトウェアを構築し、動かすための設定ファイルや解説文が入っています。 含まれている文書は自由に使えるものです。これは大抵 <tt>sunsite.unc.edu</tt> の <tt>/pub/Linux/system/Mail/news</tt> ディレクトリにあります。もし <tt>sunsite</tt> に無い場合は私に電子メールで連絡してください。コピー を入手できるように手配します。 <sect>ソフトウェアのインストール <p> ( この章の大部分は Taylor UUCP 1.05 のソースからそのまま抜き出したもの です。単に「マニュアルを読め」と言うだけでなく、実際にマニュアルを読む ようお手伝いをしようという事です。 ) コンパイル手順の詳細はソースファイル群の uucp.texi ファイルにあります。 Linux で正しく動作する <tt>config.h</tt> と <tt>policy.h</tt> は「この 文書以外の情報源」の節にも書いた、newspak の書庫(archive)に含まれます。 これら二つのファイルを newspak 書庫から取得した場合は、すぐに "make" が可能です。 <sect1>圧縮されたソースの展開 <p> gzip で圧縮してある tar ファイルの展開は、次のように行います。 <verb> gunzip -c filename.tar.z | tar xvf - </verb> 最近の tar であれば、次のようにするだけです。 <verb> tar -zxvf filename.tgz </verb> <sect1>Makefile.in を編集してインストール用ディレクトリを設定します。 <p> ここで、私は <tt>"prefix"</tt> に "/usr/local" でなく <tt>"/usr"</tt> を設定しました。 <sect1>"configure" の実行 <p> <tt>"sh configure"</tt> と打ち込みます。 configure スクリプトは、あなたのシステムで何ができるかを確かめるための 多くの試験用プログラムをコンパイルし、多量の計算を行います。 また、conf.h.in から <tt>conf.h</tt>、 Makefile.in から <tt>Makefile</tt> を生成します。さらに config.status というファイルが生成されます。これ はシェルスクリプトで、上記のファイルを実際に生成します。 <itemize> <item> Makefile.in ファイルを直接編集しなくても、以下のようにすれば同じ結果が 得られます。 <verb> "configure --prefix=/usr/lib" </verb> </itemize> <sect1>ソフトウェアの設定 <p> <sect2> conf.h と Makefile を見て、内容が正しいか確認します。 <p> 私は標準の設定を使いました。 <sect2> <tt>policy.h</tt> を編集し、各自のシステムに設定を合わせます。 <p> <itemize> <item> - ロックファイルの型を設定 (HAVE_HDB_LOCKFILES) <item> - 内蔵したい設定ファイルの型を指定 (HAVE_TAYLOR_CONFIG, HAVE_V2_CONFIG, HAVE_HDB_CONFIG) <item> - スプールディレクトリ構造の型を設定 (SPOOLDIR_HDB) <item> - ログファイルの型を設定 (HAVE_HDB_LOGGING) <item> - コマンドの標準サーチパスを設定 ( 私は /usr/local/bin を追加しました ) </itemize> <sect1>ソフトウェアのコンパイルと導入(install) <p> <itemize> <item><tt>"make"</tt> と打ち込みします。 <item><tt>"uuchk | more"</tt> と打ち込んで、設定ファイルを確認します。 設定ファイルの形式を変換するには <tt>"uuconv"</tt> を使います。 <item><tt>"make install"</tt> と打ち込んで導入します。 </itemize> <sect1>設定ファイルの記述 <p> まず、付属の、正しく動作する HDB モードの設定ファイルを導入するようお 勧めします。 <itemize> <item>rmail や rnews を policy.h で定義した場所以外に置くなら、 <tt>Permissions</tt> ファイルには rmail と rnews の正確な場所を記述します。 <item><tt>Devices</tt> ファイルと実際のモデムのポートが一致するかを確 認します。( 例えば /dev/cua1 は COM2 です。 ) <item><tt>Systems</tt> ファイルを編集し、接続先のシステムのスピード、 電話番号、利用者名、パスワードを設定します。 <tt>【注意】このファイルは誰もが見るファイルではありません。適切に保護 して下さい。</tt> <item><tt>Permissions</tt> ファイルを編集し、接続先のサイト毎に設定を 追加します。システムの保護のため、(外部からの呼び出しを受け付けるなら) 各サイト毎に異なったアカウントを設定し、ホームディレクトリも作って、何 かあったかを追跡可能にしておく事をお勧めします。 </itemize> <sect1>試してみる <p> <verb> /usr/lib/uucp/uucico -r 1 -x 9 -s リモートシステム名 </verb> <tt>-x 9</tt> を使うと、初期設定を支援するデバッグ情報が最大限、 <tt>/usr/spool/uucp/.Admin/audit.local</tt> ファイルに出力されます。 私は普段 <tt>run -x 4</tt> を使い、ログインの際の問題を解決するための 糸口をログに残しておきます。自明ですが、このファイルには Systems ファ イルの情報(アカウントやパスワード) があからさまに記述されますから、誰 でも読めるようなアクセス許可ビットは設定しないように注意が必要です。 <itemize> <item><em>Pierre.Beyssac@emeraude.syseca.fr</em> 氏からの情報 Taylor にはさらに多くのログレベルがあります。-x all で最高のログレベル になります。 また、デバッグ中に何が起こっているかをコマンド実行中に見るには <tt>"tail -f /usr/spool/uucp/.Admin/audit.local"</tt> を実行しましょう。 </itemize> <sect1>動きませんが、どうしましょう <p> 動かない場合は大抵上に示したような資料が参考になります。実際に UUCP を 使っていて経験も豊富な人に質問するのも良いでしょう。いずれにせよ、普通 は打ち間違いのような単純な事です。 <sect>Linux の UUCP に関して頻繁に出される質問 <sect1>バイナリで配布されている uucp はなぜ "Taylor" 形式でなく HDB 形式に設定されているのですか? <p> (宗教モードに入って言うと:私が「標準になっている」ということについて 宗教的であるのと同じくらい「使いやすい」という事について単に宗教的な人 達がいるのを知っています。だから彼らは独自のバイナリを構築できるソース コードを作ったんです。 :-) ) 現在はこれが UUCP の事実上の標準だからだと思います。経験豊富な管理者が いるサイトは何千もありますし、 HDB の設定に関して素晴らしい情報を提供 している所も沢山あります。 SLS の 1.02 以降に含まれる uucp-1.04 は、三種のモードの設定ファイルが 全て内蔵されています。私は試せませんが、解説は読みましたし、Ian Taylor 氏も動くはずだと教えてくれました。 UUCP は Taylor → V2 (L.sys) → HDB の順に設定ファイルを探します。 /usr/lib/uucp の <tt>uuconv</tt> プログラムを使うと、各モード間で設定 ファイルを変換できます。 UUCP のソースファイルを取得して、<tt>HAVE_BNU_CONFIG</tt>, <tt>HAVE_V2_CONFIG</tt>, <tt>HAVE_TAYLOR_CONFIG</tt> を全部 policy.h に指定し、 "make" するのもいいでしょう。 以下の変更は美しくありませんが、正しく動きます。これは Taylor モードが 内蔵されていないバイナリで Taylor モードを動かすための物です。 <itemize> <item> <em>mbravo@tctube.spb.su (Michael E. Bravo) 氏からの情報</em> - uucp パッケージのプログラムから呼び出す「全ての」プログラムに <tt>"-I /usr/local/lib/uucp/config"</tt> を追加する。 </itemize> <sect1>uucp-1.04 に更新したら接続時に "timeout" が出ます。 <p> <itemize> <item><em>Ed Carp - erc@apple.com</em> 氏からの情報 Devices ファイルで "Direct" デバイスを使っている場合、標準では 10 秒で 時間切れ (timeout) になるようコンパイルされていますから、Device を "Direct" 以外に設定します。SLS に付属の /usr/lib/uucp の例から持ってくれ ばこの問題は発生しません。 <item><em>Greg Naber - greg@squally.halcyon.com</em> 氏からの情報 チャットスクリプトで時間切れになるなら、uuconf/syssub.c の 323 行目を 編集して、標準の時間切れ設定を 10 秒より大きな値に修正します。 <item><em>Ed Rodda - ed@orca.wimsey.bc.ca</em> 氏からの情報 典型的には Taylor サイトに接続中、チャットスクリプトで時間切れになる場 合、ログイン直後に少し待ち時間を設定すれば解決します。 <verb> feed Any ACU,ag 38400 5551212 ogin: \c\d "" yourname word: passwd </verb> <item><em>Dr. Eberhard W. Lisse - el@lisse.NA</em> 氏からの情報 ある種のカーネルでは、数秒たつとモデムがハングします。Ian Taylor 氏提 供の次のパッチを当てると、解決するかも知れません。 <verb> *** 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; </verb> </itemize> <sect1>HDB 匿名 UUCP はなぜ動いているように見えないのですか。 <p> SLS の 匿名 UUCP は、HAVE_TAYLOR_CONFIG を使ってコンパイルされているの で Taylor モードでだけ動作します。 HDB モードで匿名 UUCP する場合は、 HDB だけを定義して再コンパイルして下さい。Ian Taylor 氏はこの「機能」 をどう扱うか考えているところです。 また、HDB モードで Taylor を使うと空白や空行に関して敏感になるようです。 安全のため、Permissions ファイルには行末の空白や空行が含まれないよう気 を付けて下さい。 最後に、/usr/lib/uucp ディレクトリに実行許可の<em>無い</em> <tt>remote.unknown</tt> というファイルあることを確認して下さい。このファ イルに関する詳細は <tt>"Managing UUCP and USENET"</tt> (O'Reilly and Associates) をご覧下さい。 <sect1>"no matching ports found" はどういう意味ですか。 <p> たぶん存在しないデバイスを <tt>/usr/lib/uucp/Devices</tt> で指定したの でしょう。あるいは <tt>/usr/lib/uucp/Systems</tt> で指定したデバイスが Devices ファイルにあるデバイスと一致していません。 この後に、うちで動いている Taylor 1.05 HDB の設定ファイルから不要な行 を取り除いた物を書いておきますので、試して下さい。 Systems ファイルの "ACU" は、 Devices ファイルのどの「ポート」を使うか を指定します。 Systems ファイルの "scout" は、 Dialers ファイルのどのダイアラを使うか 指定します。 Systems のダイアルコマンドに合う ACU ポートがない場合、このメッセージ が出ます。 <sect1>HDB で正しく動くことが判っている設定ファイルはありますか。 <p> HoneyDanBer モードで<em>動作する</em> Linux の Taylor 1.05 用設定ファ イルを以下に示します。0.99.pl8 以降のカーネルで動きます。uucp ライブラ リを他の場所に置くようにソースファイルを変更していなければ、これらのファ イルは全て /usr/lib/uucp に置かれます。 標準でない場所にこれらを置いた場合には、 sendmail の類のプログラムが非 常に混乱をきたす可能性があることを念頭に置いておいてください。全ての通 信関係のプログラムがあなたの「標準」パスに一致するようにしなければなり ません。 バージョン 0.99-7 以前のカーネルを使っているのであれば、 "cua1" を "ttyS1" に変えてください。 <verb> #------------- 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 #---------------------------------------------------------------------- </verb> <sect1>uucico で2つの番号を交互に利用するには? <p> 新しい v1.05 の uucico には、リモートシステムの番号を交互に試みる '-z' スイッチが追加されました。 <sect>謝辞 <p> 以下の人たちは、この文書を書くに当たって情報を提供してくれました。 Ed Carp, Steve Robbins, Ian Taylor, Greg Naber, Matt Welsh, Pierre Beyssac 抜けている人がいれば、ごめんなさい。 </article>