UNIX 間コピー・プログラム (UUCP) は,2 つの UNIX システム間でバッチ方式によるエラーのないファイル転送とリモート・システムでのコマンド実行を可能にするプログラムの集合です。 UUCP は電子メール,ネットワーク・ネット,および低速度/低コストの通信リンクを使用するパブリック・ドメイン・ソフトウェアの転送に通常使用されます。 Tru64 UNIX は,HoneyDanBer バージョンの UUCP をインプリメントしています。
この章では,次の項目について説明します。
UUCP
の概要については,
uucp_intro
(7)
トラブルシューティング情報については
9.10 節を参照してください。
5.1 UUCP 環境
UUCP 環境では,次のような方法で各システムが接続されます。
システムが隣接している場合は直接接続されます。
隣接していない場合は,モデムと電話回線を使用して接続されます。
または,LAN を介して接続されます。
図 5-1
に単純な UUCP 構成を示します。
図 5-2
に示すのは,ホスト A と C が LAN 上で TCP/IP 接続されている単純な UUCP 構成の例です。
図 5-1: 単純な UUCP 構成の例
この節では,UUCP を構成するための準備作業について説明します。
5.2.1 ハードウェアの確認
ハードウェアを確認する際には,ケーブルとモデムの両方をチェックする必要があります。
正しいケーブルを使用してシステムのシリアル・ポートに接続していることを確認してください。 正しいケーブルを使用していないと,信号が失われたりソフトウェアが正しく動作しない場合があります。
使用可能なモデム・ケーブルについては,『ネットワーク管理ガイド:接続編』の「ポイント・ツー・ポイント接続」に記載されている一覧を参照してください。 2 つのシステムが隣接している場合は,いずれかのヌル・モデム・ケーブルを使用してください。 2 つのシステムがモデムと電話回線で接続されている場合は,標準的なモデム・ケーブルを使用します。 モデムで UUCP を使用する場合は,ローカルおよびリモート・モデムの両方が正しく構成されていることを確認してください。
また,UUCP は,TCP/IP ローカル・エリア・ネットワーク (LAN) で実行するように構成することもできます。
LAN で UUCP
を実行する方法については,
uucp_manual_setup
(7)5.2.2 構成の準備
システムの接続情報
発信用ダイアル・アップ情報
着信用受信情報
必要な情報のタイプは,設定あるいは使用する接続のタイプによって決まります。
この後の項に UUCP の構成に必要な情報を記録することのできるワークシートがあります。
5.2.2.1 接続のための情報
図 5-3
は UUCP 設定ワークシートを示します。
本書をオンラインで参照している場合は,プリント機能を使用してワークシートをプリントできます。
この後の項で,ワークシートに記録するのに必要な情報を説明します。
図 5-3: UUCP 設定ワークシート
構成する接続のタイプです。 次に示すいずれか 1 つまたはすべての接続を構成できます。
モデム
モデムによって,電話回線を含むアナログ伝送設備で UUCP を使用します。
直接リンク (ハードワイヤ)
直接リンクによって,システム間をケーブルで接続します。
TCP/IP
TCP/IP プロトコルを使用して接続します。
モデム接続に関して,次の情報を指定します。
使用するモデムのタイプです。
サポートされているデバイスは,/usr/lib/uucp/Devices
ファイルにリストされています。
詳細については,
uucp_manual_setup
(7)
モデムが動作する速度です。 たとえば,1200,2400,9600 など。
/dev
ディレクトリにリストされている,モデムに使用する tty デバイス名です。
ターミナル・デバイスについては,
port
(7)
/etc/inittab
ファイルの
uugetty
プロセス・エントリのプロセス ID です。
uugetty
処理によって,速度,端末フラグ,および端末を管理する回線規約が設定されます。
詳細については,
uugetty
(8)
注意
uugetty
コマンドは,RS-232 ラインに対してだけ実行し,プリンタ・ラインやコンソール・ラインには実行しないでください。
直接リンク接続に関して,次の情報を指定します。
直接リンクのタイプです。 特定のリモート・システムに接続する場合は,そのリモート・システム名を入力します。 これによって,接続がそのシステムだけに制限されます。
直接ハードワイヤ接続ができるシステムに接続する場合は,「直接」をチェックします。
直接リンクが動作する速度です。 たとえば,1200,2400,9600など。
/dev
ディレクトリにリストされている,直接リンクに使用する tty デバイス名です。
ターミナル・デバイスについては,
port
(7)
/etc/inittab
ファイルにリストされている
uugetty
プロセス・エントリのプロセス ID。
uugetty
処理によって,速度,ターミナル・フラグ,および端末を管理する回線規約が設定されます。
詳細については,
uugetty
(8)
注意
uugetty
コマンドは,RS-232 ラインの構成のみに使用します。 プリンタ・ラインやコンソール・ラインには使用しません。
TCP/IP 接続に関して,次の情報を指定します。
TCP/IP 上で発信呼び出しを受け付けるように UUCP を構成する場合は,Yes をチェックします。
UUCP が TCP/IP 上で発信呼び出しを受け付けるようにすると,TCP/IP のエントリが
/usr/lib/uucp/Devices
ファイルに追加されます。
それ以外の場合は,No をチェックします。
TCP/IP 上の着信呼び出しを受け付けるように UUCP を構成する場合は,Yes をチェックします。
UUCP が TCP/IP 上で着信呼び出しを受け付けるようにすると,/etc/inetd.conf
ファイルが変更されます。
加えて,TCP/IP 上の UUCP 呼び出しが受け付けられるように,inetd
デーモンを停止して再起動させる必要があります。
それ以外の場合は,No をチェックします。
図 5-4
は UUCP 発信システム・ワークシートを示しています。
オンラインで本書を参照している場合は,プリント機能を使用して,ワークシートをプリントできます。
以降の各項目では,ワークシートに記録する際に必要な情報について説明します。
図 5-4: UUCP 発信システム・ワークシート
接続するリモート・システム名です。
接続のタイプです。 モデム,直接リンク,または TCP/IP のいずれかをチェックします。 5.2.2.1 項の情報を使用して,接続タイプを構成してください。
TCP/IP 接続では,次のいずれかの TCP/IP 会話型プロトコルを選択します。
g
エラー・チェック機能を備えた,省略時のプロトコルを指定します。
t
エラーがないチャネルを仮定しているため,モデム接続で使用するには信頼性が不足します。
e
Tru64 UNIX バージョンおよび他の UNIX バージョンの両方の UUCP を実行しているサイトとの通信に使用します。
f
データ・ストリームのフロー制御を使用します。 エラーがないことが事実上保証されるリンク,特に X.25/PAD リンクで動作させることを意味します。
システムがリモート・ホストに接続できる時間です。 次の時間を選択できます。
任意の日時
夕方
月曜日〜金曜日の午後 5 時〜 8 時。 土曜日と日曜日は終日。
任意の3夜
次から 3 夜を選択できます。
月曜日〜金曜日は午後 11 時〜午前 8 時。
土曜日は終日。
日曜日は午後 5 時まで
なし
/usr/lib/uucp/Devices
ファイルで構成したデバイスに対応するボー・レートです。
またはデバイスが任意の速度で使用できる場合は,any
を指定します。
モデム接続でのリモート・システムの電話番号です。 完全な電話番号,つまりダイアル接頭辞を含む電話番号を入力します。
ダイアル接頭辞は,/usr/lib/uucp/Dialcodes
ファイルに定義されています。
/usr/lib/uucp/Dialcodes
ファイルには,/usr/lib/uucp/Systems
ファイルの電話エントリを完全な形にするダイヤル・コードの短縮形と部分的な電話番号とが含まれています。
/usr/lib/uucp/Dialcodes
ファイルのエントリには,アクセス・コード,市外局番,交換番号などを取り込むことができる部分的な電話番号に付けられる英字の接頭辞が含まれています。
ダイアル接頭辞が分かっている場合は,それをワークシートに書き込んでください。 何も定義しない場合は,そのことと,ダイアル接頭辞に続ける一連の番号を書き込んでください。
リモート・システムでのシステムのログイン名です。
これは,リモート・システムの
/etc/passwd
ファイルの内容と一致する必要があります。
リモート・システムで使用しているシステムに割り当てられているログイン名およびパスワードについては,リモート・システムのシステム管理者に尋ねてください。
リモート・システムの管理者は,このシステムのログイン名およびパスワードをリモート・システムの/etc/passwd
ファイルに記述しておく必要があります。
注意
リモート・システムでのログイン ID のパスワードが UUCP の構成に必要ですが,システム・セキュリティを保護するために,このワークシートにはパスワードを書き込まないでください。
リモート・システムにログインする直前に使用する expect-send 文字列です。 次のうちいずれか 1 つを選択できます。
リモート・システムからの文字列を待つ前に,一連のキャリッジ・リターンを送信します。
expect-send 文字列を指定しません。
expect-send 文字列を入力するようにプロンプトを表示します。
モデムは通常,一連のキャリッジ・リターンを expect-send 文字列として使用します。
expect-send
文字列の詳細については,
Systems
(4)
図 5-5
は UUCP 着信システム・ワークシートを示しています。
本書をオンラインで参照している場合には,プリント機能を使用してワークシートをプリントできます。
以降の各項目では,ワークシートに記録する際に必要な情報について説明します。
図 5-5: UUCP 着信システム・ワークシート
着信 UUCP 接続を設定するリモート・システム名です。
使用しているシステム名です。 省略時の設定は,インストレーション時にシステムに割り当てた名前です。
リモート・システムのログイン ID です。
ログイン ID は,使用しているシステムの
/etc/passwd
ファイルに自動的に追加されます。
慣例として,着信接続を設定しているリモート・システムに割り当てるログイン ID は,システム名に接頭辞として大文字のUを追加したものです。 たとえば,着信接続に machine1 を指定する場合は,慣例として,ログイン ID は Umachine1 です。 しかし,ログイン ID は自由に選択できます。
また,このログイン ID のコメントを
/etc/passwd
ファイルへ追加するためのオプションがあります。
着信システムごとに 2 つ以上のログインIDを割り当てるオプションがあります。 複数のログインをリモート・システムに割り当てることによって,リモート・システムのユーザのアクセス制御をよりよく維持できます。 複数のログインを使用すると,リモート・システムの特権ユーザに,システムのアクセス権を非特権ユーザよりも多く付与できます。 複数のログインにより,複数の許可セットを割り当てることができます。
この情報は,着信システムとしてシステムに接続するリモート・システムの管理者に提供する必要があります。
ローカル・システムでキュー登録されたリモート・システムが行う作業をリモート・システムが要求するよう設定する場合は,Yes をチェックします。 それ以外の場合は,No をチェックします。
Yes を選択した場合,リモート・システム・ユーザは,ファイル転送およびローカル・システムでのコマンドを簡単に実行できます。 セキュリティ上問題がある場合は,このアクセスを制限して,リモート・システムによって開始されたファイル転送およびコマンド実行に対する制御をローカル・システムに残します。
リモート・コンピュータがローカル・システムへのファイル転送やローカル・システムでのコマンドの実行を終了した後に,キュー登録された作業をローカル・システムから呼び出してリモート・システムへ送信したい場合は,Yes をチェックします。
サイトでのセキュリティ確保のために,ローカル・システムに対するリモート・システムからのアクセスを制限する必要があることもあります。 その場合には Call をチェックして,ローカル・システムからリモート・システムへのアクセス時のみ,キューに登録された作業を送信するようにします。
READ および WRITE オプションでパス名を指定しない場合には,uucp
は,/usr/spool/uucppublic
ディレクトリに対してのみファイルの転送を許可します。
しかし,これらのオプションにパス名を指定する場合は,すべてのソースとデスティネーションにそのパス名を追加しなければなりません。
いずれかのオプションでパス名を指定する場合,uucico
デーモンが公用ディレクトリにファイルを置くことを認めるには,公用ディレクトリも明示的に指定する必要があります。
これらのオプションによって,リモート・システムがデータを転送できないローカル・システムのディレクトリおよびファイルを明示的に指定できます。 これらは,オプション READ および WRITE の例外です。
リモート・システムからローカル・システムで実行できるコマンドのリストです。
コマンド・セットをリストすると,そのリストが,/usr/lib/uucp/Permissions
ファイルの MACHINE エントリにリストされるシステムの新しい省略時のコマンドになります。
省略時の設定は,rmail
コマンドだけです。
呼び出しリモート・システムに特定の ID およびパスワードを使用させる場合は, Yes をチェックします。 それ以外の場合は,No をチェックします。
このオプションを使用する場合,他の ID のリモート・システムは着信できません。 ただし,複数のシステムで同じ ID を使用することはできます。 ログイン ID およびパスワードが保護されている場合に限り,VALIDATE オプションは意味があります。
リモート・システムがローカル・システムにファイルを転送できるようにする前に,ローカル・システム側からリモート・システムへの通信を行いたい場合は,Yes をチェックします。 それ以外の場合は,No をチェックします。
両方のシステムがそれぞれ
Permissions
ファイルで CALLBACK オプションを使用すると,お互いに通信できなくなります。
モデム接続の場合は,ローカル・システムに接続したモデムの電話番号と速度。 この情報は,着信システムとしてシステムに接続する各リモート・システムの管理者に知らせてください。
必要な UUCP の準備が完了したら,uucpsetup
スクリプトを使用して UUCP を構成します。
uucpsetup
スクリプトを呼び出すには,次のコマンドを入力します。
# /usr/sbin/uucpsetup
特に指定しなければ,uucpsetup
スクリプトは,接続,着信システム,および発信システムを構成するために必要な情報を入力するように促します。
表 5-1
に示すオプションのいずれかを使用すると,特定の構成要素のみを構成することができます。
表 5-1: uucpsetup コマンドのオプション
コマンド | 使用目的 |
uucpsetup |
接続,着信システム,および発信システムを構成する場合 |
uucpsetup -i |
着信システムだけを構成する場合 |
uucpsetup -o |
発信システムだけを構成する場合 |
uucpsetup -p |
Poll
ファイルを構成する場合 |
次の項では,接続,着信システム,発信システム,および
Poll
ファイルを構成する方法について説明します。
5.3.1 接続の構成
uucpsetup
を呼び出した後に,5.2.2.1 項
で収集した情報を使用して UUCP 接続を構成します。
次のガイドラインでは,いくつかのスクリプトの質問に答える方法について説明します。
デバイス名
スクリプトは,使用できるデバイス名をリストします。 モデムに使用するデバイスの最後の英字または数字を入力します。 たとえば,tty01 を使用する場合は,1 を入力します。
/etc/inittab
エントリ ID
スクリプトは,Identifier フィールドへの入力を促し,このエントリを共用モードで使用するかどうかを尋ねます。 これ以外のフィールドの情報は,自動的に入力されます。 2 つのプロセスが同じ ID を持つことはできません。
次の例に,プロセス ID (PID) u4 を選択する方法を示します。
Select an ID for the process in /etc/inittab file For example type 'u1': u4
選択した ID は,/etc/inittab
ファイルに存在する ID と比較されます。
割り当てた ID がすでにある場合には,uucpsetup
スクリプトは別の ID を入力するように促します。
また,システムがモデムまたは直接ラインを共用モードで使用するかどうかも指示する必要があります。
/etc/inittab
ファイルについての詳細は,
inittab
(4)
uucpsetup
を呼び出した後に,5.2.2.2 項で収集した情報を使用して,発信システムのUUCPを構成します。
これによって,UUCP を使用して他のリモート・システムに接続できます。
完全な UUCP 設定を行う場合は,接続の構成が終了した時に,uucpsetup
スクリプトが発信システムについての情報の入力を促します。
次のガイドラインでは,いくつかのスクリプトの質問に答える方法について説明します。
電話番号
ダイアル接頭辞と電話番号を選択すると,スクリプトは,/usr/lib/uucp/Dialcodes
ファイルに定義するダイアル接頭辞を入力するように促します。
ダイアル接頭辞を入力すると,スクリプトはその意味を入力するように促します。
システムにこの接頭辞を置換させる一連の数字を入力します。
次の例に,ダイヤル番号 1617772 に接頭辞 btown を定義する方法を示します。
Enter the prefix for the Dialcodes file; for example "boston" stands for 9=16171234 : btown What telephone number does the prefix stand for; Please include the long distance access code, area, or country codes; for example type 9=1617123 : 9=1617772
この例で 9 は,副発信トーンを得るのに使用されています。 9 はサイト固有なので,ユーザのサイトでは異なる場合があります。 9,つまりユーザのサイトの番号とともに使用する等号 (=) は,発信トーンを待つことを意味します。 等号 (=) の後に残りの数字を続けます。
パスワード
セキュリティのために,パスワードはワークシートに書き込まないでください。 しかし,スクリプトがパスワードを要求する場合は,必ず入力する必要があります。
発信 TCP システムを定義する場合は,/etc/uucp/Systems
ファイルを編集して,リモート・システムのエントリを追加します。
リモート・システム名は,完全な修飾名である必要があります。
発信システムの構成後には,/usr/lib/uucp/Poll
ファイルを構成する必要があります。
詳細は,5.3.4 項を参照してください。
5.3.3 着信システムの構成
uucpsetup
を呼び出し後に,5.2.2.3 項
で収集した情報を使用して,着信システムの UUCP を構成します。
これによって,指定のリモート・システムは,UUCP を使用して,あなたのシステムに接続できます。
完全な UUCP 設定を行う場合は,発信システムの構成が終了した後に,uucpsetup
スクリプトが着信システムについての情報の入力を促します。
初めて着信システムを追加する場合,Incoming Systems Configuration メニューは,追加するシステム名の入力を促します。 着信システムを追加すると,このメニューは次の各項目を表示します。
リモート・システム名を指定します。
Permissions
ファイルには指定されていないが,Systems
ファイルにリストされている他のすべてのシステムのオプションを指定します。
Neither。
このオプションを選択すると,スクリプトは終了して,各オプションの省略時の設定は
Permissions
ファイルに入力されません。
次のガイドラインでは,いくつかのスクリプトの質問に答える方法について説明します。
パスワード
uucpsetup
スクリプトは,(EDITOR
環境変数内で指定された) 省略時のエディタを開始する
vipw
コマンドを呼び出し,着信システムの UUCP エントリを編集できるようにします。
/etc/passwd
ファイルの編集を終了後,ファイルを保存し,エディタを終了し,新しいエントリのためのパスワードを提供します。
次の例は,省略時のエディタである
vi
ユーティリティを使用するように構成されたシステムで,このプロセスからの出力を示しています。
Invoking 'vipw'. Press RETURN to continue... [Return] root:fQPPWjF20Dfso:0:1:Charles Root:/:/bin/csh nobody:*Nologin:4294967294:4294967294:anonymous NFS user:/: daemon:*:1:1:Mr Background,,,:/: uucp:No Login:2:2:UNIX-to-UNIX Copy:/usr/spool/uucppublic:\ /usr/lib/uucp/uucico bin:*:3:4:Mr Binary:/bin: marcy:5jW0VXKeP6n1E:1242:15:Marcy Darcy,,,:\ /usr/users/marcy:/bin/false Umachine1:H/kj951Fq12ub:2:2:uucp login:/usr/spool/uucppublic:\ /usr/lib/uucp/uucico ~ ~ ~ "/etc/ptmp" 15 lines, 933 characters :wq 15 password entries, maximum length 100 You must enter a password Changing password for Umachine1. New password: Retype new password:
この情報は,着信システムとしてシステムに接続する各リモート・システムの管理者に知らせてください。
コマンド
スクリプトはコマンドごとに入力を促します。
着信 UUCP システムを定義する場合,システムが NIS を使用しているときは,/etc/passwd
ファイルを編集して,最後の行としてワイルドカード (+:
) を追加します (未追加の場合のみ)。
5.3.4 Poll ファイルの構成
発信システムの構成後には,/usr/lib/uucp/Poll
ファイルを構成し,ローカル・システムがリモート・システムをポーリングする間隔を設定する必要があります。
Poll
ファイルを構成するには,uucpsetup
スクリプトを
-p
オプション付きで起動し,次の手順を実行します。
Poll File Configuration メニューから,1 (Poll ファイルの構成) を入力します。
発信システムとして
/usr/lib/uucp/Systems
ファイルに構成されているリモート・システム名を入力します。
時間で表した間隔の並びを入力します。 たとえば,システムが 4 時間ごとにポールする場合は,0 4 8 12 16 20 と入力します。
[Return]
キーを押して
Poll
ファイルを更新します。
Poll
ファイルに別のシステムを追加する場合は,y を入力します。
それ以外の場合は,[Return]
キーを押して
uucpsetup
を終了します。
Poll
ファイルについての詳細は,
Poll
(4)5.3.5 uucico デーモンの構成
uucico
デーモンは,UUCP コマンド,データ,および実行ファイルをリモート・システムに転送します。
ローカル・システムおよびリモート・システムはともに
uucico
デーモンを実行し,これら 2 つのデーモンは相互に通信して,転送要求を処理します。
通常,uucico
デーモンは,着信接続のときに UUCP ユーザのログイン・シェルとして設定されるか,発信接続のときにさまざまな UUCP コマンドによって自動的に呼び出されるため,特に構成する必要はありません。
ただし,uucico
デーモンが特定の UUCP 転送のときに使用するフロー制御のタイプについては,指定する必要があります。
たとえば,モデムを経由してターミナル・サーバへの接続を確立し,telnet
を使用して UUCP アカウントに接続する場合には,シリアル・ポート接続を経由して UUCP 転送を実行するユーザとは異なるタイプのフロー制御が必要になります。
uucico
デーモンが使用するフロー制御のタイプを指定するには,UUCP 接続を使用するシステムのアカウントに対して,FLWCTL
環境変数を設定します。
FLWCTL
に使用できる値は,HW (ハードウェア),SW (ソフトウェア),HSW (ハードウェアおよびソフトウェア),および NONE です。
ローカル・システムとリモート・システムで,同じタイプのフロー制御を使用しなければなりません。
リモート・サイトが 異なるプラットフォームで UUCP を実行している場合には,Tru64 UNIX システム上で
FLWCTL
に NONE を設定します。
たとえば,telnet
のセッションで UUCP 接続を確立するには,次のように,フロー制御を NONE に設定します。
$ export FLWCTL=NONE $ /usr/lib/uucp/uutry remote_site
他のサイトからダイアル・インできるように構成されているシステムでは,次の手順を使用して,FLWCTL
変数を自動的に設定するカスタマイズ・スクリプトを作成することができます。
次のコマンドが含まれるファイルを作成します。 オプションで, uu_start という名前を付けることもできます。
#! /bin/ksh export FLWCTL=NONE exec /usr/lib/uucp/uucico $*
ファイルに設定された許可を変更して,実行可能にします。
# chmod +x /usr/local/bin/uu_start
UUCP アカウントのログイン・シェルを,
/usr/lib/uucp/uucico
から,新しく作成した実行可能ファイルに変更します。
# chsh uucp Old shell: /usr/lib/uucp/uucico New shell: /usr/local/bin/uu_start
この節では,次に挙げる UUCP 関連のタスクの実施方法を説明します。
ファイル転送キューをモニタすると,リモート・システムに転送するためにローカル・システムのキューに登録されているジョブなどを含めて,いくつかのタイプのネットワーク動作の状態を調べることができます。
一般ユーザおよびシステム管理者は,このファイル転送キューをモニタできます。
5.4.1.1 手動によるキュー状態の取得
キュー状態を手動で取得するには,uustat -q
コマンドを使用します。
このコマンドによって,すべてのシステムのキューに登録されたジョブがリストされます。 このリストには,実行待ちのジョブのほか,現在実行中のジョブも含まれます。 システムの状態ファイルが存在する場合は,その日付,時刻,および状態の各情報が報告されます。
また,uustat
コマンドによって次の処理も実行できます。
メール処理の状態についての情報を取得します。
リモート・システムで実行するためにキューに登録された
uucp
ジョブを制御します。
-m
オプションを使用して,他のシステムとの
uucp
接続の状態を確かめます。
-k
オプションを使用して,転送要求を取り消します。
コマンド
uucp
および
uuto
によって生成されたファイル転送要求と,uux
コマンドによって生成されたコマンド実行要求をモニタします。
uustat
のオプションについての詳細は,
uustat
(1)
次の例に,現在キューにあるすべてのジョブを示します。 システム host4 には 1 つのコマンド・ファイル,システム host6 には 3 つのコマンド・ファイル,およびシステム host8 には 2 つのコマンド・ファイルがあります。 システム host6 のコマンド・ファイルは,2 日間キューに登録されています。
# uustat -q host4 1C Sat May 9 11:12:30 1992 SUCCESSFUL host6 3C(2) Sat May 9 11:02:35 1992 CAN'T ACCESS DEVICE host8 2C Sat May 9 10:54:02 1992 NO DEVICES AVAILABLE
uucp
ファイル転送キューについての状態情報を自動的に取得できます。
この機能を使用できるようにするには,/usr/spool/cron/crontabs/uucp
ファイルを編集して,次の行の先頭にあるコメント文字 (#) を削除してください。
# 48 8,12,16 * * * /usr/lib/uucp/uudemon.admin > /dev/null
48 |
分を表します。 |
8,12,16 |
24 時間表記に基づいて時間を表します。 |
* * * |
3 つのアスタリスクは日,月,および曜日を表すプレースホルダを表します。 |
cron
デーモンは,毎日,8 時,12 時,および 16 時から 48 分経った時間 (つまり,午後 8 時 48 分,午後 12 時 48 分,午後 4 時 48 分) にシェル・スクリプト
uudemon.admin
を実行します。
uudemon.admin
スクリプトは,キュー状態の情報を含む
uucp
ログイン ID にメールを送信します。
注意
これらの時間は省略時の値です。
/usr/spool/cron/crontabs/uucp
ファイルの行を編集して,サイトの必要性に応じた時間に変更できます。
uudemon.admin
スクリプトは,次のコマンドを入力して手動で実行することも可能です。
# /usr/lib/uucp/uudemon.admin
キュー状態を確かめる場合は,/usr/spool/uucp/
system_name
ディレクトリのキューに登録されたファイル転送とコマンド実行要求の数と経過日数を調べます。
キューに登録されたジョブが実際に実行されずにしばらくキューに残ってしまう場合があります。
確かめる必要のある状態の情報は,次のとおりです。
各キューに入っている最も古い要求の経過日数。
ローカル・システムが指定されたコンピュータに到達しようとして失敗した回数。
指定されたシステムとの通信に失敗した理由。
エラー・メッセージとその解決策についての詳細は,付録 D を参照してください。
必要に応じて,キューのファイルを手動または自動で削除してください。
削除するファイルについての詳細は,
5.4.2 項
を参照してください。
5.4.2 スプール・ディレクトリの整理
uucp
によって接続された各システムには,次のスプール・ディレクトリがあります。
/usr/spool/uucp/system_name
ディレクトリは,UUCP スプール・ディレクトリです。
このディレクトリには,リモート・システムでキューに登録されたファイル転送およびコマンド実行に対するローカルの要求が含まれています。
これらのファイルは,指定されたシステムに転送された後に,uucp
プログラムによって削除されます。
/usr/spool/uucppublic
ディレクトリは,UUCP の公用ディレクトリです。
ユーザがファイルをリモート・システムに転送するか,または他のシステムでコマンドを実行する要求を発行した場合には,指定されたシステムの公用ディレクトリに,これらの UUCP コマンドで生成されたファイルが格納されます。
インストレーションのサイズと,リモート・システムのユーザによってローカルの
/usr/spool/uucppublic
ディレクトリに送信されたファイルの数に左右されますが,公用ディレクトリは非常に大きくなることがあります。
同様に,要求が何らかの理由でリモート・システムに転送されない場合でも,スプール・ディレクトリが非常に大きくなることがあります。
したがって,UUCP 管理には,スプール・ディレクトリを整理して,
ディスク・リソースを大事に使用できるようにする役目があります。
5.4.2.1 手動によるディレクトリの整理
スプール・ディレクトリを手動で整理するには,ルートとしてログインし,uucleanup
コマンドでファイルを削除します。
uucleanup
プログラムによって,次のタスクが実行されます。
ローカル・システムが接続できないリモート・システムとファイルの送受信を行う要求をシステム管理者に知らせます。
ある一定の期間 (省略時の値は 1 日) スプール・ディレクトリで待機している要求についてユーザに警告を発します。
配信できないメールを発信者へ戻します。
指定された日数を超えたすべてのファイルを,スプール・ディレクトリから削除します。
注意
ローカル・システムのインストレーションのサイズと空き記憶容量に左右されますが,制限期間を自由に設定できます。 ただし,ファイルは,最低でも省略時の日数分はスプール・ディレクトリに残してください。
uucleanup
コマンドのオプションについての詳細は,
uucleanup
(8)
次の例では,ローカル・システムで,システム host2 の UUCP スプール・ディレクトリおよび公用ディレクトリに入っている古いファイルをすべて削除します。
# uucleanup -shost2
UUCP がインストールされるときには,自動整理は使用可能になっていませんが,次の手順を実行すれば使用可能にできます。
root としてログインします。
/usr/spool/cron/crontabs/uucp
ファイルを編集して,次の行の先頭のコメント文字 (#) を削除します。
# 45 23 * * * ulimit 5000; /usr/lib/uucp/uudemon.cleanu > /dev/null
45 |
分を表します。 |
23 |
24 時間表記に基づいて時間を表します。 |
* * * |
3 つのアスタリスクは日,月,および曜日を表すプレースホルダを表します。 |
cron
デーモンは,毎日 23 時から 45 分後 (つまり午後 11 時 45 分) にシェル・スクリプト
uudemon.cleanu
を起動します。
このシェル・スクリプトにより,uucleanup
プログラムが次にスタートします。
この時間は省略時の値です。
/usr/spool/cron/crontabs/uucp
ファイルの行を編集して,サイトの必要性に応じた時間に変更できます。
ローカル・システムで発生する
uucico
と
uuxqt
のトランザクション数に左右されますが,毎日,毎週,またはそれより長い間隔で
cron
デーモンがシェル・スクリプト
uudemon.cleanu
を実行するように指示できます。
uudemon.cleanu
スクリプトは,uucleanup
プログラムの処理を取り入れて,次の追加タスクを実行します。
/usr/spool/uucppublic
ディレクトリから,30 日を超えた空のディレクトリおよびファイルを検索して削除します。
これによって,ユーザがファイルを公用ディレクトリに送信しても,ローカル・ファイル・システムがあふれないようになります。
ローカル・システムに大きな
/usr/spool/uucppublic
ディレクトリを収容できるほど十分な記憶領域がない場合は,シェル・スクリプト
uudemon.cleanu
を変更して省略時の値の 30 日をさらに短い期間に変更できます。
uucleanup -ssystem_name
コマンドを実行して,ある特定のシステムのディレクトリだけを整理することを指示しない限り,公用ディレクトリを含むすべての
uucp
スプール・ディレクトリが整理されます。
2 日を超えたログ情報を削除して,保管されているログ・ファイルを更新します。
このスクリプトは,/usr/spool/uucp/.Log
ディレクトリから個々のコンピュータのログ・ファイルを削除し,それらをマージして,/usr/spool/uucp/.Old
ディレクトリに置きます。
そこには,古いログ情報が収められています。
現在までに収集した状態情報の要約を,UUCP ログイン ID にメールします。 スクリプトを変更すれば,root などの他のログイン ID に状態情報を送信できます。
オペレーティング・システムは,UUCP に,1 つのログ・ファイルあたり指定された量の記憶領域を割り当てます。
ブロック数は,省略時の
ulimit
値によって決まります。
ローカル・システムの必要量に対して
ulimit
値がかなり低めに設定されているために,uudemon.cleanu
スクリプトを実行すると失敗する場合は,省略時の
ulimit
の値を増加してください。
コマンドのオプションについての詳細は,
uudemon
(8)5.4.2.3 ファイルの削除のガイドライン
キューからファイルを削除する場合は,次のファイルのガイドラインに従ってください。
実行ファイル--通常,スクリプト
uucleanup
または
uudemon.cleanu
を使用して,2 日以上キューにある実行ファイルを削除できます。
対象システムで指定されたコマンドを実行するのに必要なデータ・ファイルが転送されなかったので,実行ファイルはまだキューに登録されています。
通常は,実行ファイルと同時にデータ・ファイルが送信されるので,転送はおそらくデスティネーションで異常終了します。
実行ファイルは
X.filename
,データ・ファイルは
D.filename
のように命名されます。
コマンド・ファイル--古いコマンド・ファイルを削除する前に,できるだけ接続を確立してファイルを転送する努力をしてください。
次に,スクリプト
uucleanup
または
uudemon.cleanu
を使用して,これらのファイルを削除できます。
コマンド・ファイルは,C.filename
と命名されます。
uucp
プログラムによって,ローカル・システムが通信するリモート・システムごとにログ・ファイルが作成されます。
ネットワークのユーティリティ機能を使用するたびに,uucp
は,トランザクションについての状態情報を対応するログ・ファイルに格納します。
ログ・ファイル名は,次のフォームのいずれかです。
/usr/spool/uucp/.Log/daemon_name/system_name
/usr/spool/uucp/.Log/command_name/system_name
daemon_name | uucico
(uucp
および
uuto
コマンドによって呼び出される) または
uuxqt
(uux
コマンドによって呼び出される) を表します。 |
command_name | uucp
または
uux
を表します。 |
system_name | ローカル・システムが通信するシステムの名前を表します。 |
個々のログ・ファイルを表示するには,uulog
コマンドを使用します。
uulog
コマンドを使用して,ユーザまたはシステムごとに
uucp
および
uux
要求の要約を表示できます。
uulog
コマンドとそのオプションについての詳細は,
uulog
(1)
ログ・ファイルをひとつひとつ表示する代わりに,uudemon.cleanu
スクリプトを実行してこれらのログ・ファイルを 1 つの主要ログ・ファイルに自動的に追加して,そのログ・ファイルだけを見ることができます。
uudemon.cleanu
スクリプトは,1 つのシステムのログ・ファイル
uucico
,uuxqt
,uux
,および
uucp
をマージして,/usr/spool/uucp/.Old
という名前のディレクトリに格納します。
省略時の設定では,uudemon.cleanu
スクリプトは,最高 2 日間ログ・ファイルを保存しておきます。
uudemon.cleanu
スクリプトの次の行の
-o2
オプションを変更して,省略時の設定を変更できます。
uucleanup -D7 -C7 -X2 -o2 -W1
記憶領域がある特定のシステムで問題となる場合は,個々のログ・ファイルにファイルを保管しておく日数を減らしてください。
uudemon.cleanu
スクリプトの設定についての詳細は,5.4.2.2 項
を参照してください。
次のコマンドにより,システム host2 の
uucico
要求に対するログ・ファイルが表示されます。
# uulog -s host2
次のコマンドによって,システム host1 の
uuxqt
要求に対するログ・ファイルが表示されます。
# uulog -x host1
次のコマンドは,システム host6 のファイル転送ログの最後の 40 行を表示し,tail -f
コマンドを実行します。
コマンドを終了するには,[Ctrl/C]
を押してください。
# uulog -f host6 -40
5.4.4 sulog ファイルおよび cron/log ファイルの整理
次の 2 つのシステム・ログ・ファイルは
uucp
プログラムの影響を受けます。
/usr/adm/sulog
ファイルには,スーパユーザ (su
) のコマンド使用ヒストリが保存されています。
/usr/spool/cron/crontabs/uucp
ファイルの
uudemon
エントリは,それぞれ
su
コマンドを使用します。
/usr/adm/cron/log
ファイルには,cron
デーモンによって生成されたすべてのプロセスのヒストリが保存されています。
両方のファイルとも,一定期間を超えると非常に大きくなる場合があります。
これらのファイルは定期的にパージして,適正なサイズに保つようにしてください。
これらのファイルについての詳細は,『システム管理ガイド』を参照してください。
5.4.5 リモート実行数の制限
/usr/lib/uucp
ディレクトリの
Maxuuxqts
ファイルは,ローカル・システムで同時に実行する
uuxqt
プロセスの数を制限します。
通常,リモート・システムのユーザがローカル・システムを頻繁に集中して使用しない限り,Maxuuxqts
ファイルを構成したり維持したりする必要はありません。
ローカル・システムの
uuxqt
プロセス数を変更するには,Maxuuxqts
ファイルを編集して,インストレーションの必要性に合せて ASCII 数字を変更してください。
省略時の値は 2 です。
通常,この値が大きくなると,ローカル・システムの潜在負荷も大きくなります。
5.4.6 スプール・ディレクトリでの作業のスケジューリング
ユーザが
uucp
コマンドを実行してファイルのコピーやリモート・コマンドの実行を行う場合は,これらの作業要求を含むファイルが,転送のためにローカルの
/usr/spool/uucp/system_name
ディレクトリにキュー登録されます。
UUCP の
uusched
デーモンによって,これらのファイル転送がスケジューリングされます。
5.4.6.1 手動による uusched の起動
uusched
コマンドを実行すれば,uusched
デーモンを手動で起動して,ジョブをスケジューリングできます。
利用できるオプションのリストについては,
uusched
(8)5.4.6.2 uusched の自動起動
uusched
デーモンは手動で起動できますが,/usr/lib/uucp
ディレクトリに格納されているシェル・スクリプト
uudemon.hour
を実行して,指定した間隔でデーモンを自動的に起動させるのが望ましい方法です。
一方,このシェル・スクリプトは,/usr/spool/cron/crontabs/uucp
ファイルの指示に基づいて,cron
デーモンによって定期的に起動されます。
/usr/lib/uucp/Maxuuscheds
ファイルによって,uucico
プログラムがいつでも同時に通信できるリモート・システム数が制限されます。
このファイルは,uusched
デーモンと
/usr/spool/locks
ディレクトリのロック・ファイルとともに使用して,現在ポールされているシステムの数を調べます。
リモート・システムのユーザがローカル・システムを頻繁に集中して使用しない限り,Maxuuscheds
ファイルを構成したり維持したりする必要はありません。
このファイルは,システム・リソースと負荷水準を管理するのに便利です。
Maxuuscheds
ファイルには,インストレーションの要求に合わせて変更できる数字 (省略時の値は 2) が保存されています。
通常,数値が大きくなると,ローカル・システムの潜在負荷も大きくなります。
uusched
コマンドとそのオプションについての詳細は,
uusched
(8)
次のコマンドは,uusched
デーモンをバックグラウンド・プロセスとして手動で起動します。
# /usr/lib/uucp/uusched &
5.4.7 ファイル転送プログラムの呼び出し (uudemon.hour)
シェル・スクリプト
uudemon.hour
は,Poll
ファイル,シェル・スクリプト
uudemon.poll
,および
/usr/spool/cron/crontabs/uucp
ファイルとともに使用して,リモート・システムへの呼び出しを開始します。
特に,uudemon.hour
は,指定された時間単位の間隔で,システム間のファイル転送に関係するプログラムを呼び出します。
cron
デーモンに,指定した時間単位の間隔でシェル・スクリプト
uudemon.hour
を実行するように指示できます。
スクリプトを実行する頻度は,ローカル・コンピュータからのファイル転送処理量によって決まります。
UUCP がインストールされるときは,シェル・スクリプト
uudemon.hour
は使用可能にはなっていませんが,次の手順を実行して使用可能にできます。
root としてログインします。
/usr/spool/cron/crontabs/uucp
ファイルを編集して,次の行の先頭のコメント文字 (#
) を削除します。
# 25,55 * * * * /usr/lib/uucp/uudemon.hour > /dev/null
25,55 |
正時からの経過分数を表します。 |
* * * * |
4 つのアスタリスクは正時の間隔,日,月,曜日を表すプレースホルダを表します。 |
cron
デーモンは,毎正時から 25 分過ぎと 55 分過ぎ (つまり午前 8 時 25 分,午前 8 時 55 分,午前 9 時 25 分,午前 9 時 55 分など) に
uudemon.hour
スクリプトを実行します。
これらの時間は省略時の値です。
/usr/spool/cron/crontabs/uucp
ファイルの行を編集して,サイトの必要性に合せた時間に変更できます。
ローカル・システムのユーザが多数のファイル転送を開始する場合は,cron
デーモンが
uudemon.hour
スクリプトを 1 時間に数回も実行するように指定する必要があります。
ローカル・システムからのファイル転送数が少ない場合は,起動時間をたとえば 4 時間に 1 回にすることもできます。
5.4.8 リモート・システムのポーリング (uudemon.poll)
uudemon.poll
シェル・スクリプトは,Poll
ファイル,uudemon.hour
シェル・スクリプト,および
/usr/spool/cron/crontabs/uucp
ファイルとともに使用して,リモート・システムの呼び出しを開始します。
uudemon.poll
シェル・スクリプトは,/usr/lib/uucp/Poll
にリストされたシステムをポールします。
さらに,この
Poll
ファイルにリストされたシステムのコマンド・ファイルも作成します。
uudemon.poll
スクリプトを実行する時間は,uudemon.hour
スクリプトを実行する時間によって決まります。
通常,毎時のスクリプトを実行する前に実行するポーリング・シェル・スクリプトをスケジューリングします。
このスケジューリングによって,cron
デーモンが
uudemon.hour
スクリプトを実行する前に,uudemon.poll
スクリプトは必要なコマンド・ファイルを作成できます。
uucp
がインストールされるときは,uudemon.poll
は使用可能になっていませんが,次の手順を実行して使用可能にできます。
root としてログインします。
/usr/spool/cron/crontabs/uucp
ファイルを編集して,次の行の先頭のコメント文字 (#) を削除します。
# 20,50 * * * * /usr/lib/uucp/uudemon.poll > /dev/null
20,50 |
正時からの経過分数を表します。 |
* * * * |
4 つのアスタリスクは正時の間隔,日,月,曜日を表すプレースホルダを表します。 |
cron
デーモンは,正時から 20 分過ぎと 50 分過ぎ (たとえば午前 8 時 20 分,午前 8 時 50 分,午前 9 時 20 分,午前 9 時 50 分など) に
uudemon.poll
スクリプトを実行します。
これらの時間は省略時の値です。
cron
デーモンが
uudemon.poll
スクリプトを実行する時間は,uudemon.hour
に設定した時間に合わせて変更できます。
cron
デーモンに,uudemon.hour
スクリプトを実行する約 5〜10 分前に
uudemon.poll
スクリプトを実行するように設定します。