Solaris のシステム管理 (第 1 巻)

パッキングリスト

cachefspack コマンドの機能の 1 つに、パッキングリストをパックするという機能があります。これによって、キャッシュにパックする各ファイルをそれぞれ指定するという手間が省けます。

パッキングリストには、キャッシュにパックするファイルやディレクトリが入っています。ディレクトリがパッキングリストに入っている場合、そのサブディレクトリとファイルもすべてパックされます。

パッキングリストを作成する方法

パッキングリストを作成するには、vi などのエディタを使用して、ファイルを開きます。パッキングリストファイルの書式は、filesync コマンドで使用する書式と同じです。filesync コマンドの詳細は、filesync(1) のマニュアルページを参照してください。

例 - パッキングリストを作成する

次の例は、パッキングリストファイルの内容を示しています。


BASE /home/ignatz
LIST plans
LIST docs
IGNORE *.ps

パッキングリストに指定してファイルをキャッシュにパックする方法

パッキングリストを使用してファイルをパックするには、次に示すように、cachefspack コマンドに -f オプションを指定します。


$ cachefspack -f packing-list

これは、パッキングリストを読み取って、パッキングリストに指定された情報に基づいてファイルをパックすることを意味します。

-f

パッキングリストを使用することを指定する。 

packing-list

パッキングリスト名を指定する。 

例 - パッキングリストに指定したファイルをキャッシュにパックする

この例では、list.pkg ファイルを cachefspack コマンド用のパッキングリストとして使用しています。


$ cachefspack -f list.pkg

正規表現として扱うファイルをパッキングリストに指定する方法

(文字どおりのファイル名ではなく) 正規表現として扱う 1 つまたは複数のファイルをパッキングリストに指定するには、cachefspack コマンドの -r オプションと -f オプションを使用します。-r オプションのみを使用することはできません。


$ cachefspack -rf packing_list

packing_list には、次のように定義された LIST コマンドが入っています。

LIST *.doc

-r

LIST コマンドに定義したファイルまたは複数のファイルを (文字どおりのファイル名ではなく) 正規表現として扱うことを指定する

-f

パッキングリストをキャッシュにパックすることを指定する 

packing_list

正規表現として扱うファイルまたは複数のファイルを指定した LIST コマンドが入っているパッキングリスト名を示す

例 - 正規表現として扱うファイルをパッキングリストに指定する

次の例は、パッキングリスト list.pkg をキャッシュにパックするように指定する方法を示しています。list.pkg には、正規表現を定義する LIST コマンドが入っています。


$ cachefspack -rf list.pkg

このコマンドは、list.pkg ファイルをキャッシュにパッキングして、LIST コマンドに定義されたファイル名を (文字どおりのファイル名ではなく) 正規表現として扱います。

共有ディレクトリのファイルをパックする方法

  1. 共有ディレクトリにある、ユーザーが所有するファイルだけをパックするには、次のように LIST コマンドをパッキングリストに定義します。

       LIST !find . -user your_user_name -print
  2. cachefspack -sf コマンドを使用して、パッキングリストをキャッシュにパックします。


    $ cachefspack -sf packing_list
    

    -s

    find コマンドの出力をパッキングリストに適するように調整する。

    -f

    パッキングリストを読み取ることを指定する。 

    filename

    読み取るパッキングリスト名を指定する。 


    注 -

    -s オプションは -f オプションといっしょに使用しなければなりません。-s オプションのみを使用することはできません。


例 - 共有ディレクトリのファイルをパックする

次の例は、ユーザーが所有するベースディレクトリのファイルだけをパックするために、LIST コマンドをパッキングリストに定義する方法を示しています。

LIST !find . -user jones -print

次の例は、パッキングリストをパックするように指定する方法を示しています。


$ cachefspack -sf /projects/proj_1