rdist コマンド
この文書では、/usr/bin/rdistファイルにある古いAIX® rdistコマンドと、新しいrdistdデーモンで使用される新しい/usr/sbin/rdistコマンドについて説明します。
/usr/bin/rdist コマンド
目的
リモート・ファイル配布クライアント・プログラム。
構文
- 配布ファイルを使用するには
RDist [ N ] [ -q (Q) ] [ -b (B) ] [ -D ] [ -R ] [ -h ] [ I ] [ -v (V) ] [ -w (W) ] [ -y (Y) ] [ 「-f」 FileName ] [ -d 年 引数=値 ] [ -m (M) ホスト ] ... [ 名前 ] ...
- 引数を小規模の配布ファイルとして解釈するには
RDist [ N ] [ -Q (Q) ] [ -b ] [ -D ] [ -R ] [ -h ] [ I ] [ -v (V) ] [ -w (W) ] [ -y (Y) ] 「-c」 名前 ... [ ログイン@ ] ホスト [ :目的地 ]
説明
rdist コマンドは、複数のホスト上でファイルの同一のコピーを維持します。 rdist コマンドは、オーナー、グループ、モード、および可能であればファイルの変更時刻を保存し、さらに実行中のプログラムも更新できます。 rdist コマンドは、以下のソースから指示を受け取ることができます。
- デフォルトの配布ファイル、 ¥ HOME ディレクトリー内の DistFile ファイル。
- 「-f」 フラグによって指定された別の配布ファイル。
- 配布ファイル内の変数定義を拡張またはオーバーライドするコマンド行引数。
- 小さな配布ファイルとして機能するコマンド行引数。
-f フラグを使用しないと、rdist コマンドは、ユーザーの $HOME ディレクトリー内の distfile ファイルを探します。 distfile ファイルが見つからない場合は、Distfile ファイルを探します。
Name パラメーターで指定した値は、更新するファイルまたは実行するサブコマンドの名前として読み取られます。 コマンド・ラインに Name パラメーターの値を指定しないと、rdist コマンドは配布ファイルにリストされたすべてのファイルおよびディレクトリーを更新します。 名前 パラメーターに - (負符号) を指定すると、 RDist コマンドは標準入力を使用します。 Name パラメーターで指定したファイルの名前がサブコマンドの名前と同じ場合は、 rdist コマンドは Name パラメーターをサブコマンドと見なします。
rdist コマンドでは、.rhosts ファイルを各ホスト上で構成する必要があります。 詳しくは、 TCP/IP のファイル・フォーマット ファイル参照 での を参照してください。
- rdist コマンドがリモート・マシン上の /usr/bin/rdist ディレクトリーに存在しない場合は、 /usr/bin/rdist ディレクトリーから rdist コマンドの実際の場所へのリンクを作成します。 この位置は、通常はディレクトリー /usr/ucb/rdist です。
- 現在、 RDist コマンドは 7 ビット ASCII ファイル名のみを処理できます。
フラグ
| 項目 | 説明 |
|---|---|
| -b | バイナリー比較を実行して、両者が異なる場合はファイルを更新します。 |
| -c | rdist コマンドに残りの引数を小型配布ファイルとして解釈させます。 以下の引数が使用可能です。
注: 「-c」 フラグは、 「-f」、 -d 年、または -m (M) フラグと一緒に使用しないでください。
|
| -d 年 引数=値 | Argument 変数の値が Value 変数であることを定義します。 -d フラグは、distfile ファイル内の変数定義を定義または上書きします。 Value 変数は、空文字列、単一の名前、または括弧で囲まれ、タブまたはスペースで区切られた名前のリストとして指定できます。 |
| -D | デバッグ出力をオンにします。 |
| -f filename | 配布ファイルの名前を指定します。 -f フラグを使用しなかった場合、デフォルト値は $HOME ディレクトリーの distfile ファイルまたは Distfile ファイルとなります。 |
| -h | リンク自体ではなく、リンクが指すファイルをコピーします。 |
| -i | 未解決のリンクを無視します。 rdist コマンドは、転送中のファイルのリンク構造を維持し、すべてのリンクを見つけられなければ、ユーザーに警告します。 |
| -m (M) ホスト | 更新対象となるコンピューターを制限します。 -m Host オプションを複数回使用して、更新対象を distfile ファイル内にリストされたホストのサブセットに制限することができます。 |
| -n | サブコマンドを実行せずに印刷します。 -n フラグを使用して distfile ファイルをデバッグします。 |
| -q | 抑止モードで操作します。 -q オプションは、標準出力への修正済みファイルの出力を抑制します。 |
| -R | 無関係のファイルを除去します。 ディレクトリーを更新中であれば、リモート・ホスト上に存在してマスター・ディレクトリー内に存在しないファイルが除去されます。 -R フラグは、ディレクトリーの同一コピーを維持するときに使用します。 |
| -v | ファイルがすべてのホスト上で最新の状態になっているかどうか検査します。古くなったファイルが表示されます。 ただし、rdist -v コマンドを実行しても、ファイルは変更されず、メールも送信されません。 このフラグを -b フラグと一緒に使用すると、このフラグが -b フラグをオーバーライドします。 |
| -y | ファイルの最新のコピーが古くなったファイルで置換されないようにします。 一般に、タイム・スタンプとサイズが異なる場合にファイルが更新されます。 -y フラグは、rdist コマンドがマスター・ファイルよりも新しいファイルを更新しないようにします。 |
| -w | ファイルのパス名全体を宛先ディレクトリー名に追加します。 通常、ファイル名を変更してコピー済みファイルのディレクトリー構造を保存するときに rdist コマンドが使用するのは、名前の最後のコンポーネントのみです。 ~ (ティルド) で始まるファイル名に -w フラグを使用すると、ホーム・ディレクトリー以外のすべてが宛先名に追加されます。 / (斜線) または ~ (ティルド) で始まらないファイル名は、宛先ユーザーのホーム・ディレクトリーを残りのファイル名のルート・ディレクトリーとして使用します。 |
配布ファイル (distfile ファイル)
配布ファイルは、コピーするファイル、配布の宛先ホスト、および rdist コマンドで配布するファイルの更新時に実行する操作を指定します。 通常、rdist コマンドは、$HOME ディレクトリーの distfile ファイルを使用します。 -f フラグを使用すると、別のファイルを指定できます。
- エントリー・フォーマット
配布ファイルの各エントリーは、以下のいずれかのフォーマットを取ります。
項目 説明 VariableName = NameList 配布ファイルのほかのエントリーに使用する変数 (SourceList、DestinationList、または SubcommandList) を定義します。 [ラベル:] SourceList -> DestinationList SubcommandList rdist コマンドに対して、SourceList 変数で指定したファイルを DestinationList 変数で指定したホストに配布するよう指示します。 配布ファイルのコマンドは追加機能を実行します。 [Label:]SourceList :: TimeStampFile SubcommandList rdist コマンドに対して、指定日以降に変更があったファイルを更新するよう指示します。 配布ファイルのサブコマンドは追加機能を実行します。 SourceList 変数で指定した各ファイルは、タイム・スタンプ・ファイルよりも新しければ更新されます。 このフォーマットは、ファイルの復元に役立ちます。 ラベルの指定は任意で、部分的な更新の際にサブコマンドを識別するために使用します。
- エントリー
項目 説明 VariableName 配布ファイル内で使用する変数を識別します。 NameList ファイルおよびディレクトリー、ホスト、またはサブコマンドのリストを指定します。 SourceList 配布用のマスター・コピーとして使用する、rdist コマンド用のローカル・ホスト上のファイルおよびディレクトリーを指定します。 DestinationList ホストにファイルのコピーを受信するよう指示します。 SubcommandList 実行する配布ファイルのサブコマンドをリストします。 rdist コマンドでは、改行文字、タブ、およびブランクをセパレーターとして扱います。 展開用の配布ファイル変数は、$ (ドル記号) で始まり、その後に単一文字または {} (中括弧) で囲まれた名前が続きます。 注釈は # (ポンド記号) で始まり、改行文字で終わります。
- ソースおよび宛先のリスト・フォーマット
配布ファイルのソース・リストおよび宛先リストは、以下に示したフォーマットで示されるように、ブランクで区切られたゼロまたは複数の名前から構成されます。
[Name1] [Name2] [Name3] ...
rdist コマンドは、csh コマンドの場合と同様に、ローカル・ホスト上で以下のシェル・メタキャラクターを認識して展開します。
- [(左大括弧)
- ] (右大括弧)
- {(左中括弧)
- } (右中括弧)
- ((左括弧)
- ) (右括弧)
- * (アスタリスク)
- (疑問符)
これらの文字が展開されないようにするには、文字の前に ¥ (円記号) を付けます。 さらに、 rdist コマンドは、 csh コマンドの場合と同様に、~ (ティルド) も展開しますが、ローカル・ホスト上および宛先ホスト上で別々に展開します。
- 配布ファイル・サブコマンド
シェルへの複数のコマンドは、; (セミコロン) で区切る必要があります。 コマンドは、更新されるホスト上のユーザーのホーム・ディレクトリー内で実行されます。 プログラムを更新した後で専用データベースを再構築するときには、special サブコマンドを使用できます。
配布ファイルのサブコマンド・リストには、以下のサブコマンドをゼロ個以上入れることができます。
項目 説明 インストール オプションOptionalDestName]; 古いファイルおよびディレクトリーをコピーします。 rdist コマンドは、各ソース・ファイルまたはソース・ディレクトリーを宛先リスト内の各ホストにコピーします。 Options 変数で指定する使用可能なオプションは、rdist コマンド・フラグ -b、-h、-i、 -R、 -v、-w、および -y です。 これらのオプションは、SourceList 変数で指定したファイルにだけ適用されます。 -R フラグを使用すると、対応するファイル名がマスター・ホスト上になければ、空でないディレクトリーが除去されます。 OptionalDestName パラメーターはファイル名を変更します。 install サブコマンドがサブコマンド・リストにない場合、または宛先名を指定していない場合には、ソース・ファイル名が使用されます。 リモート・ホスト上に存在しない場合には、パス名の下にディレクトリーが作成されます。 宛先ホストで使用するログイン名は、宛先名のフォーマットが login@host でなければ、ローカル・ホストと同じです。
通知 名前リスト; 更新ファイル、およびリストされた名前 (NameList パラメーター) に生じる可能性のあるエラーのリストをメールします。 名前に @ (アットマーク) がなければ、宛先ホストがその名前に追加されます (name@host)。 NameListを除く; rdist コマンドは、NameList 変数で指定したファイルを除き、SourceList エントリーで指定したすべてのファイルを更新します。 except_pat NameList; rdist コマンドが、NameList 変数で指定したリストのメンバーと一致する文字列を含むすべてのファイルを更新しないようにします。 特殊 NameList "String"; NameList 変数によって指定されたファイルが更新またはインストールされた後に、リモート・ホスト上で実行されるシェル・コマンド ( "String" 変数) を指定します。 NameList 変数を省略すると、シェル・コマンドは更新またはインストールされたすべてのファイルに対して実行されます。 シェル変数 FILE は、rdist コマンドが "String" 変数を実行する前に、現行ファイル名に設定されます。 "String" 値は、" " (二重引用符) で囲む必要があり、配布ファイル内で複数行に渡って指定できます。
終了状況
このコマンドは、以下の終了値を戻します。
| 項目 | 説明 |
|---|---|
| 0 | 正常終了。 |
| >0 | エラーが発生したことを示します。 |
例
- 形式の例: VariableName = NameList
- 更新するホストのファイルを示すには、以下のような行を入力します。
ここで、HOSTS変数が次のように定義されているmatisseおよびroot@arpaRDist コマンドは、ホスト上のファイルを更新します。matisseおよびroot@arpa. この変数を宛先リストとして使用することができます。HOSTS =( matisse root@arpa ) - SourceList エントリーの値として使用する名前を示すには、次のような行を入力します。
ここで、FILES値は、 SourceList エントリーに使用されるファイルとして定義されます。FILES = ( /bin /lib/usr/bin /usr/games /usr/include/{*.h,{stand,sys,vax*,pascal,machine}/*.h} /usr/lib /usr/man/man? /usr/ucb /usr/local/rdist ) - 更新プロセスから除外するファイルを指定するには、以下のような行を入力します。
ここで、EXLIB値は、更新プロセスから除外するファイルのリストとして定義されます。EXLIB = ( Mail.rc aliases aliases.dir aliases.pag crontab dshrc sendmail.cf sendmail.fc sendmail.hf sendmail.st uucp vfont) - すべてのファイルを /usr/src/bin から arpa にコピーするには、 namelist 変数を展開し、 namelist 変数にあるファイル以外のすべてのファイルを.o拡張としてコピーされます。
/usr/src/bin ->arpa except_pat(\e\e.o\e ${<namelist> /SCCS\e ${<namelist>}または
/usr/src/bin ->arpa except_pat(\\.o\e ${<namelist> /SCCS\e ${<namelist>} - /usr/src/bin から arpa にすべてのファイルをコピーするには、.oextension:
/usr/src/bin ->arpa except_pat(\\.o\$ /SCCS\$
- 更新するホストのファイルを示すには、以下のような行を入力します。
- フォーマット: [label:] SourceList - DestinationList SubcommandList の例
- ファイルのソース・リストをホストの宛先リストにコピーするには、以下のような行を入力します。
上記の行で、[Label:] エントリーの指定は、任意であるため、ここには表示してありません。 $(ドル記号) および {} (中括弧) は、ファイル名の原因となります。FILES,HOSTSおよびEXLIB上記の例で指定されたリストに展開されます。 この例の残りの部分は、サブコマンド・リストを構成します。${FILES} ->${HOSTS} install -R except /usr/lib/${EXLIB} ; except /usr/games/lib ; special /usr/sbin/sendmail "/usr/sbin/sendmail.bz" ; - [表示名:] エントリーを使用するには、以下のように行を入力します。
srcsL: /usr/src/bin -> arpa except_pat (\e\e.o\e$ /SCCS\e$ ) ;ラベルは次のとおりです。srcsL:更新のためにこの項目を識別するために使用できます。 この/usr/src/binfile はコピーされ、ホストされるソースです。arpaコピーの宛先です。 3 行目は、サブコマンド・リストからのサブコマンドです。
- タイム・スタンプ・ファイルを使用するには、以下のような行を入力します。
$(ドル記号) と {} (中括弧) によって、次のように名前が指定されます。FILES指定されたリストに展開されます。 タイム・スタンプ・ファイルは次のとおりです。stamp.cory最後の行は、サブコマンド・リストからのサブコマンドです。${FILES} :: stamp.cory notify root@cory
- ファイルのソース・リストをホストの宛先リストにコピーするには、以下のような行を入力します。
ファイル
| 項目 | 説明 |
|---|---|
| /usr/bin/rdist | rdist コマンドが入っています。 |
| $HOME/distfile | rdist コマンドが読み取るサブコマンドのリストが入っています。 |
| /tmp/rdist | 更新リストが入っています。 これは一時ファイルです。 |
/usr/sbin/rdist コマンド
本書では、 /usr/bin/rdist ファイルにある古い AIX rdist コマンド、および新しい rdistd デーモンで使用される新しい /usr/sbin/rdist コマンドについて説明します。
目的 (/usr/sbin/rdist)
ファイルをリモート側で配布するクライアント・プログラム
構文 (/usr/sbin/rdist)
- 配布ファイルを使用するには
/usr/sbin/rdist [ -F (R) N ] [ -A 数値 ] [ -a 値 数値 ] [ -d 年 変数 = 値] [ - < ローカル・ logopts> ] [ -L (L) <リモート・ logopts> ] [ 「-f」 DistFile] [ -M (M) 最大プロセッサー -m (M) ホスト ] [ - ダイストップ ] [ T タイムアウト ] [ P- <rdist パス> ] [ -P <トランスポート・パス> ] [ 名前 ... ]
- 引数を小規模の配布ファイルとして解釈するには
//usr/sbin/rdist-Fn-c name...[ログイン@]ホスト[:dest]
- 古い rdist をサーバーとして起動するには
/usr/sbin/rdist -サーバー
- バージョン情報用
/usr/sbin/rdist V 値
説明 (/usr/sbin/rdist)
- 現行ディレクトリー内の配布ファイル distfile。
- distfile が - と指定されている場合は標準入力。
- -f フラグを使用していない場合は、 rdist は distfile および Distfile という名前のファイルを探します。
- -c フラグを使用した場合は、末尾の引数は
小さな distfile として解釈されます。 等しい distfile は以下のとおりです。
( filename ... ) -> [user@]host install [dest name] ;
name 引数が指定されていない場合、 rdist は、 distfile にリストされたすべてのファイルおよびディレクトリーを更新します。 これ以外の場合、引数は更新するファイルの名前、または実行するコマンドのラベル であると解釈されます。 ラベルとファイル名が矛盾する場合は、ラベルであると想定されます。 これらを一緒に使用し、特定のコマンドを使用して特定のファイルを更新することができます。
-Server オプションは、 rdist の古いバージョン (rdist をサーバー・モードにするため、このオプションを使用) のための、後ろ向きの互換性を提供します。 -Server コマンド・ライン・オプションを使用して rdist を開始すると、rdist の古いバージョンを実行します。 このオプションは、古い rdist が /usr/bin/rdist にある場合のみ働きます。
/bin/sh -c rdistd -Srsh host -l remuser rdistd -S前述の例では、 ホスト パラメーターはターゲット・ホストの名前、 リマザー は接続を確立するユーザーの名前、 Rdistd はターゲット・ホスト上での RDist サーバー・コマンドです。
トランスポート・プログラムは、 RSHの構文と互換性がなければなりません。 そうではない場合には、このコマンド・ライン構文を理解するシェル・スクリプト内に、トランスポート・プログラムを含める必要があります。
それぞれのターゲット・ホスト上で、rdist は以下のコマンドを実行します。
rdistd -S
または
<rdistd path> -S
上記の例では、 P- フラグが指定されています。 P- フラグが含まれていない場合、または < rdistd path> が単純なファイル名である場合、 Rdistd または < rdistd path> は、リモート (ターゲット) ホスト上で RDist を実行しているユーザーの パス 内のどこかになければなりません。
| 項目 | 説明 |
|---|---|
| TMPDIR | 使用する一時ディレクトリーの名前。 デフォルトは /tmpです。 |
フラグ (/usr/sbin/rdist)
| 項目 | 説明 |
|---|---|
| -A 数値 | ファイルシステムに最小限のフリー・ファイル (inodes) が存在する場合のみ、 ファイルを更新またはインストールします。 |
| -a 数値 | ファイルシステムに最小限のフリー・スペースが存在する場合のみ、 ファイルを更新またはインストールします。 |
| -d var = value | value を変数 var に割り当てます。 このオプションは、distfile 内の変数定義を定義または変更するために使用します。 Value は、空の文字列、単一の名前、または括弧で囲まれ、 タブまたはスペース (またはその両方) で区切られた名前のリストにすることができます。 |
| -F | 子プロセスを fork せずに、すべてのクライアントを順番に更新します。 |
| -f distfile | distfile を配布ファイルとして使用します。 distfile が - と指定されている場合は、標準入力から読み取ります。 |
| -l logopts | ローカルのロギング・オプションを設定します。 Logoptsの構文について詳しくは、 メッセージ・ロギング のセクションを参照してください。 |
| -L ロゴプツ | リモートのロギング・オプションを設定します。 logopts は、 リモート・サーバーに値が渡される (rdistd) こと以外は、ローカル・ロギングと同じです。 Logoptsの構文について詳しくは、 メッセージ・ロギング セクションを参照してください。 |
| -M 数値 | 同時に実行する子 rdist プロセスの最大数を num に制限します。 デフォルト値は 4 です。 |
| -m マシン | ファイルの更新を指定したマシンに制限します。 複数の -m 引数を指定し、更新を、 distfile にリストされたホストのサブセットに制限することができます。 |
| -n | コマンドを表示しますが、実行はしません。 -n フラグを使用して distfile をデバッグします。 |
| - ディストップツ | dist オプションを使用可能にします。 ディストップツ は、オプションのコンマ区切りリストです。 distopts に有効な値は以下のものです。
|
| - ディストップツ | (dist オプションの続き):
|
| P- <rdist パス> | ターゲット・ホスト上の指定されたパス内で rdistd サーバーを探します。 |
| -P <rdist パス> | transport-path で指定されたトランスポート・プログラムを使用します。 transport-path は、可能なパス名をコロンで区切ったリストにすることができます。 この場合、存在するパスの最初のコンポーネントが使用されます。 |
| -t タイムアウト | リモート RDist サーバーからの応答を待機する タイムアウト 期間 (秒単位) を設定します。 デフォルトは 900 秒です。 |
| -V | バージョン情報を印刷して、終了します。 |
メッセージ・ログ
rdist コマンドは、メッセージ機能のセットを提供し、 各機能には、その機能に送信するメッセージのタイプを示す、 メッセージ・タイプのリストが含まれます。 ローカル・クライアント (rdist) と リモート・サーバー (rdistd) はそれぞれ、 どの機能にどのタイプのメッセージをログ記録するかについて、別のコピーを保守します。
-l logopts フラグは、 クライアント上でローカルに使用するロギング・オプションを指定します。 -L logopts フラグは、 リモート rdistd サーバーに渡すロギング・オプションを指定します。
facility=types:facility= types... - stdout
- メッセージを標準出力に出力。
- ファイル
- メッセージはファイルに送信されます。 ファイル名は、
file = filename = typesの形式で指定できます。 - syslog
- メッセージは syslogd 機能に送信されます。
- notify
- メッセージは内部 rdistnotify 機能に送信されます。 この機能は、distfile 内の notify と組み合わせて使用し、どのメッセージを notify アドレスにメールするかを指定します。
- 変更
- 変更するものについて、メッセージをログに記録します。
- info
- 一般情報をログに記録します。
- notice (通知)
- 変更するものについて、一般情報のメッセージをログに記録します。 変更するものには、distfile には明示的に指定されていないが、 特定のターゲットにインストールするために必要なディレクトリーを作成した、 といったものも含まれます。
- nerror
- 致命的ではない通常のエラーのメッセージをログに記録します。
- ferror
- 致命的エラーのメッセージをログに記録します。
- 警告
- nerror タイプのメッセージほど重大ではないエラーについての警告をログに記録します。
- verbose
- 通常よりも詳細であるが、デバッグ・レベルよりは少ないメッセージをログに記録します。
- デバッグ
- デバッグ情報をログに記録します。
- すべて
- デバッグ・メッセージを除くすべてをログに記録します。
配布ファイル (/usr/sbin/rdist)
配布ファイルは、コピーするファイル、配布の宛先ホスト、および rdist コマンドで配布するファイルの更新時に実行する操作を指定します。
- エントリー・フォーマット
- 配布ファイルの各エントリーは、以下のいずれかのフォーマットを取ります。
- VariableName = NameList
- 配布ファイルのほかのエントリーに使用する変数 (SourceList、DestinationList、または SubcommandList) を定義します。
- [ラベル:] SourceList -> DestinationList SubcommandList
- rdist コマンドに対して、SourceList 変数で指定したファイルを DestinationList 変数で指定したホストに配布するよう指示します。
- [Label:] SourceList :: TimeStampFile SubcommandList
- rdist コマンドに対して、指定日以降に変更があったファイルを更新するよう指示します。 配布ファイルのサブコマンドは追加機能を実行します。
ラベルはオプションです。 ラベルは、部分的更新用のコマンドを識別するために使用されます。
- エントリー
項目 説明 VariableName 配布ファイル内で使用する変数を識別します。 NameList ファイルおよびディレクトリー、ホスト、またはサブコマンドのリストを指定します。 SourceList 配布用のマスター・コピーとして使用する、rdist コマンド用のローカル・ホスト上のファイルおよびディレクトリーを指定します。 DestinationList ホストにファイルのコピーを受信するよう指示します。 SubcommandList 実行する配布ファイルのサブコマンドをリストします。 rdist コマンドでは、改行文字、タブ、およびブランクをセパレーターとして扱います。 展開用の配布ファイル変数は、$ (ドル記号) で始まり、その後に単一文字または中括弧で囲まれた名前が続きます。
コメントはポンド記号 (#) で始まり、改行文字で終わります。
- ソースおよび宛先のリスト・フォーマット
- 配布ファイルのソース・リストおよび宛先リストは、以下に示したフォーマットで示されるように、ブランクで区切られたゼロまたは複数の名前から構成されます。
[Name1] [Name2] [Name3] ...rdist コマンドは、csh コマンドの場合と同様に、ローカル・ホスト上で以下のシェル・メタキャラクターを認識して展開します。- [ 左大括弧
- ] 右大括弧
- { 左中括弧
- } 右中括弧
- ( 左括弧
- ) 右括弧
- * アスタリスク
- ? 疑問符
これらの文字が展開されないようにするには、文字の前に円記号を付けます。 rdist コマンドは、 csh コマンドと同様にティルドを展開しますが、 ローカル・ホストと宛先ホストで別々に展開します。 ティルドで始まるファイル名に -o whole オプションを使用すると、ホーム・ディレクトリー以外のすべてが 宛先名に付加されます。 / (斜線) または ~ (ティルド) で始まらないファイル名は、 宛先ユーザーのホーム・ディレクトリーを残りのファイル名のルート・ディレクトリーとして使用します。
- 配布ファイル・サブコマンド
シェルへの複数のコマンドは、; (セミコロン) で区切る必要があります。 コマンドは、更新されるホスト上のユーザーのホーム・ディレクトリー内で実行されます。 プログラムを更新した後で専用データベースを再構築するときには、special サブコマンドを使用できます。
配布ファイルのサブコマンド・リストには、以下のサブコマンドをゼロ個以上入れることができます。- install Options[OptionalDestName];
- 古いファイルおよびディレクトリーをコピーします。 rdist コマンドは、各ソース・ファイルまたはソース・ディレクトリーを宛先リスト内の各ホストにコピーします。
- notify NameList;
- 更新ファイル、およびリストされた名前 (NameList パラメーター) に生じる可能性のあるエラーのリストをメールします。
- except NameList;
- rdist コマンドは、NameList 変数で指定したファイルを除き、SourceList エントリーで指定したすべてのファイルを更新します。
- except_pat NameList;
- rdist コマンドが、NameList 変数で指定したリストのメンバーと一致する文字列を含むすべてのファイルを更新しないようにします。
- special NameList "String";
- NameList 変数で指定したファイルの更新またはインストール後にリモート・ホスト上で実行するシェル・コマンド ("String" 変数) を指定します。
- cmdspecial NameList "String";
- cmdspecial コマンドは special と似ていますが、 各ファイルが更新されるたびにではなく、 全体のコマンドが完了した後にのみ実行される点が異なります。
NFS は、ホスト名が正符号 (+) で終わる場合は使用不可になります。 これは、 -o chknfs オプションをこの 1 つのホストにだけ使用不可にすることと同等です。
終了状況 (/usr/sbin/rdist)
このコマンドは、以下の終了値を戻します。
| 項目 | 説明 |
|---|---|
| 0 | 正常終了。 |
| >0 | エラーが発生しました。 |
例 (/usr/sbin/rdist)
- 更新するホストのファイルを指定するには、以下のような行を入力します。
HOSTS =( matisse root@arpa )上記の例では、HOSTS 変数は matisse および root@arpa. として定義されます。 rdist コマンドは、ホスト matisse および root@arpa 上のファイルを更新します。
この変数を宛先リストとして使用することもできます。
- SourceList エントリーの値として使用する名前を指定するには、
以下のような行を入力します。
FILES = ( /bin /lib/usr/bin /usr/games /usr/include/{*.h,{stand,sys,vax*,pascal,machine}/*.h} /usr/lib /usr/man/man? /usr/ucb /usr/local/rdist )上記の例では、FILES 値は、 SourceList エントリーに使用されるファイルとして定義されています。
- 更新処理から除外するファイルを指定するには、以下のような行を入力します。
EXLIB = ( Mail.rc aliases aliases.dir aliases.pag crontab dshrc sendmail.cf sendmail.fc sendmail.hf sendmail.st uucp vfont)上記の例では、EXLIB 値は、更新処理から除外するファイルのリストとして定義されています。
- /usr/src/bin から arpa にすべてのファイルをコピーして、namelist 変数を拡張し、それにより namelist 変数内にあるファイルと、拡張として .o を持つファイル以外の全ファイルがコピーされるようにするには、以下のような行を入力します。
/usr/src/bin ->arpa except_pat(\e\e.o\e ${<namelist> /SCCS\e ${<namelist>}または
/usr/src/bin ->arpa except_pat(\\.o\e ${<namelist> /SCCS\e ${<namelist>} - .o という拡張を持つファイル以外のすべてのファイルを /usr/src/bin から arpa にコピーするには、以下のような行を入力します。
/usr/src/bin ->arpa except_pat(\\.o\$ /SCCS\$
フォーマット: [label:] SourceList - DestinationList SubcommandList の例
- ファイルのソース・リストをホストの宛先リストにコピーするには、以下のような行を入力します。
${FILES} ->${HOSTS} install -R except /usr/lib/${EXLIB} ; except /usr/games/lib ; special /usr/sbin/sendmail "/usr/sbin/sendmail.bz" ;上記の行で、[Label:] エントリーの指定は、任意であるため、ここには表示してありません。 $ (ドル記号) および {} (中括弧) によって、 ファイル名 FILES、HOSTS、および EXLIB が前の例で指定したリストに展開されます。
この例の残りの部分は、サブコマンド・リストを構成します。
- [Label:] エントリーを使用するには、以下のような行を入力します。
srcsL: /usr/src/bin -> arpa except_pat (\e\e.o\e$ /SCCS\e$ ) ;ラベルは srcsL: で、更新の際にこのエントリーの識別に使用できます。 /usr/src/bin ファイルはコピー元のソースで、ホスト arpa はコピーの宛先です。
3 行目は、サブコマンド・リストからのサブコマンドです。
- タイム・スタンプ・ファイルを使用するには、以下のような行を入力します。
${FILES} :: stamp.cory notify root@cory$ (ドル記号) および {} (中括弧) によって、 FILES で指定した名前が指定したリストに展開されます。 タイム・スタンプ・ファイルは stamp.cory です。
最終行は、サブコマンド・リストからのサブコマンドです。
ファイル (/usr/sbin/rdist)
| 項目 | 説明 |
|---|---|
| /usr/sbin/rdist | バージョン 6.1.5 の rdist コマンドが入っています。 |
| DistFile | 入力コマンドが入っています。 |
| ¥ TMPDIR/ rdist * | 更新リスト用の一時ファイルです。 |