cachefspack コマンドの機能の 1 つに、パッキングリストをパックするという機能があります。これによって、キャッシュにパックする各ファイルをそれぞれ指定するという手間が省けます。
パッキングリストには、キャッシュにパックするファイルやディレクトリが入っています。ディレクトリがパッキングリストに入っている場合、そのサブディレクトリとファイルもすべてパックされます。
パッキングリストを作成するには、vi などのエディタを使用して、ファイルを開きます。パッキングリストファイルの書式は、filesync コマンドで使用する書式と同じです。filesync コマンドの詳細は、filesync(1) のマニュアルページを参照してください。
次の例は、パッキングリストファイルの内容を示しています。
BASE /home/ignatz LIST plans LIST docs IGNORE *.ps |
BASE 文は、パックする項目が存在するディレクトリのパスを指定しています。
2 つの LIST 文は、当刻ディレクトリ中のパックされるファイルを指定しています。
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 コマンドに定義されたファイル名を (文字どおりのファイル名ではなく) 正規表現として扱います。
共有ディレクトリにある、ユーザーが所有するファイルだけをパックするには、次のように LIST コマンドをパッキングリストに定義します。
LIST !find . -user your_user_name -print
cachefspack -sf コマンドを使用して、パッキングリストをキャッシュにパックします。
$ cachefspack -sf packing_list |
-s |
find コマンドの出力をパッキングリストに適するように調整する。 |
-f |
パッキングリストを読み取ることを指定する。 |
filename |
読み取るパッキングリスト名を指定する。 |
-s オプションは -f オプションといっしょに使用しなければなりません。-s オプションのみを使用することはできません。
次の例は、ユーザーが所有するベースディレクトリのファイルだけをパックするために、LIST コマンドをパッキングリストに定義する方法を示しています。
LIST !find . -user jones -print
次の例は、パッキングリストをパックするように指定する方法を示しています。
$ cachefspack -sf /projects/proj_1 |