一般的な使い方では、設定が終わると、CacheFS ソフトウェアは、ユーザーが要求しなくても自動的に適切な動作 をします。最近使用されたファイルがキャッシュされます。「パッキング」機能を使用するとキャッシュ内で、特定のファイルまたはディレクトリを常に最新の状態で保持できるので、より積極的にキャッシュを管理できます。
cachefspack コマンドを使用すると、キャッシュにロードするファイルとディレクトリを指定できます。このコマンドは、これらのファイルのコピーがキャッシュで利用できることを保証します。
「パッキングリスト」には、特定のファイル名やディレクトリ名が入っています。他のパッキングリストを入れることも可能です。この機能によって、たくさんの項目をキャッシュにパックする場合に、個々のファイルやディレクトリを指定する手間が省けます。
次のように、-h オプションを使用すると、cachefspack のすべてのオプションの簡単なヘルプ情報を出力できます。
$ cachefspack -h Must select 1 and only 1 of the following 5 options -d Display selected filenames -i Display selected filenames packing status -p Pack selected filenames -u Unpack selected filenames -U Unpack all files in directory 'dir' -f Specify input file containing rules -h Print usage information -r Interpret strings in LIST rules as regular expressions -s Strip './' from the beginning of a pattern name -v Verbose option files - a list of filenames to be packed/unpacked |
ファイルをキャッシュにパックするには、cachefspack コマンドを使用します。
$ cachefspack -p filename |
-p |
ファイルまたは複数のファイルをパックすることを示す。このオプションはデフォルト。 |
filename |
キャッシュにパックするファイルまたはディレクトリの名前を指定する。ディレクトリを指定すると、そのサブディレクトリもすべてパックされる。詳細は、cachefspack(1M) のマニュアルページを参照。 |
次の例は、projects ファイルがキャッシュにパックされることを示しています。
$ cachefspack -p projects |
次の例は、3 つのファイルがキャッシュにパックされることを示しています。
$ cachefspack -p projects updates master_plan |
次の例は、ディレクトリがキャッシュにパックされることを示しています。
$ cachefspack -p /data/abc/bin |
パックされたファイル情報を表示するには、 cachefspack -i コマンドを使用します。
$ cachefspack -i[v] filename |
-i |
パックされたファイルの情報を表示することを示す。 |
-v |
詳細表示オプション。 |
cached-filename-or-directory |
情報を表示するファイルまたはディレクトリの名前を指定する。 |
次の例は、doc_file ファイルが正常にパックされていることを示しています。
$ cachefspack -i doc_file cachefspack: file doc_file marked packed YES, packed YES |
次の例では、/data/abc ディレクトリに bin サブディレクトリがあります。bin サブディレクトリには、big、medium、および small という 3 つのファイルがあります。big と small ファイルはパックするように指定されていますが、パックされていません。medium ファイルは正常にパックされています。
$ cd /data/abc $ cachefspack -i bin . . . cachefspack: file /bin/big marked packed YES, packed NO cachefspack: file /bin/medium marked packed YES, packed YES cachefspack: file /bin/small marked packed YES, packed NO . . . |
-iv オプションを指定した場合は、指定したファイルまたはディレクトリがキャッシュからフラッシュされたかどうかに関する追加情報が表示されます。たとえば、次のようになります。
$ cd /data/bin $ cachefspack -iv bin . . . cachefspack: file /bin/big marked packed YES, packed NO, nocache YES cachefspack: file /bin/medium marked packed YES, packed YES, nocache NO cachefspack: file /bin/small marked packed YES, packed NO nocache NO . . . |
上記例の最後の行は、ディレクトリの内容がキャッシュからフラッシュされていないことを示しています。
cachefspack コマンドの機能の 1 つに、パッキングリストを作成するという機能があります。
パッキングリストには、キャッシュにパックするファイルやディレクトリが入っています。ディレクトリがパッキングリストに入っている場合、そのサブディレクトリとファイルもすべてパックされます。
この機能によって、キャッシュにパックする各ファイルをそれぞれ指定するという手間が省けます。
パッキングリストを作成するには、vi などのエディタを使用して、ファイルを開きます。パッキングリストファイルの書式は、filesync コマンドで使用する書式と同じです。詳細は、filesync(1) のマニュアルページを参照してください。
パッキングリストには、次の 2 つの機能があります。
パッキングリスト内のファイルを文字通りのファイル名ではなく、正規表現として識別することができるため、ファイル名を個別に指定する必要がありません。
所有するファイルだけがパックされるようにすることで、共有ディレクトリのファイルをパックできます。
これらの機能の使い方については、cachefspack(1M) のマニュアルページを参照してください。
次の例は、パッキングリストファイルの内容を示しています。
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 |
キャッシュからファイルを削除、つまりそのパッキングを解除する場合もあります。他よりも優先度が高い一部のファイルまたはディレクトリが存在する場合があるため、重要でないファイルのパッキングを解除する必要があります。たとえば、あるプロジェクトを終了して、そのプロジェクトに関連するファイルをアーカイブしたと仮定します。次は、新しいプロジェクト、つまり新しいファイルのセットで作業することになります。
キャッシュからファイルまたはパッキングリストのパッキングを解除するには、cachefspack コマンドの -u または -U オプションを使用します。
$ cachefspack -u filename | -U cache-directory |
-u |
ファイルまたは複数のファイルのパッキングを解除することを示す。このオプションを使用する場合は、ファイル名を指定しなければならない。 |
filename |
キャッシュからパッキングを解除するファイルまたはパッキングリストの名前を示す。 |
-U |
キャッシュ中のすべてのファイルのパッキングを解除することを示す。 |
cachefspack コマンドの詳細については、マニュアルページを参照してください。
次の例は、キャッシュから /data/abc/bin/big ファイルのパッキングが解除されることを示しています。
$ cachefspack -u /data/abc/bin/big |
次の例は、キャッシュからいくつかのファイルのパッキングが解除されることを示しています。
$ cd /data/abc/bin/big $ cachefspack -u big small medium |
次の例は、パッキングリスト (ファイルのディレクトリへのパスを含むファイル) のパッキングを解除する方法を示しています。
$ cachefspack -uf list.pkg |
次の例は、キャッシュディレクトリ中のすべてのファイルのパッキングが解除されるように -U オプションを使用する方法を示しています。
$ cachefspack -U /local/mycache |
ファイルシステムを 1 つもマウントしていないキャッシュのパッキングは解除できません。-U オプションに対して、マウント済みファイルシステムを持っていないキャッシュを指定した場合、次のような出力が表示されます。
$ cachefspack -U /local/mycache cachefspack: Could not unpack cache /local/mycache, no mounted filesystems in the cache. |
cachefspack コマンドを使用すると、次のようなエラーメッセージが表示されることがあります。
achefspack: pathname - ディレクトリを オープンできません。アクセス権がありません。 |
ファイルまたはディレクトリにアクセスするための正しいアクセス権を持っていません。
適切なアクセス権を取得してください。
cachefspack: pathname - ディレクトリを オープンできません。ファイルまたはディレクトリがありません。 |
正しいファイルまたはディレクトリがありません。
入力ミスがないか確認してください。
cachefspack: pathname - ディレクトリを オープンできません。NFS のファイルハンドルが無効です。 |
アクセスしようとしたときに、ファイルまたはディレクトリがサーバーから移動または削除されていた可能性があります。
サーバー上のファイルやディレクトリにまだアクセスできることを確認してください。
cachefspack: pathname - ディレクトリを オープンできません。システムコールに割り込みがかかりました。 |
コマンドの実行中に間違って Control + C を押した可能性があります。
このコマンドを再度実行してください。
cachefspack: pathname - ディレクトリを オープンできません。I/O エラー |
ハードウェアの障害の可能性があります。
ハードウェアの接続を確認してください。
cachefspack: ディレクトリのオープンに失敗しました。 |
正しいファイルまたはディレクトリがありません。ファイル書式中の BASE コマンドの後に指定したパスが、ディレクトリではなくファイルになっている可能性があります。指定するパスはディレクトリでなければなりません。
入力ミスがないか確認してください。ファイル書式中の BASE コマンドの後に、ファイルではなくディレクトリが指定されていることを確認してください。
cachefspack: 共有オブジェクトを得られません。 |
実行可能ファイルが壊れているか、そのフォーマットを認識できません。
実行可能ファイルを交換してください。
cachefspack: filename - ファイルを pack できません。 アクセス権がありません。 |
ファイルまたはディレクトリにアクセスするための正しいアクセス権を持っていません。
適切なアクセス権を取得してください。
cachefspack: filename - ファイルを pack できません。 ファイルまたはディレクトリがありません。 |
正しいファイルまたはディレクトリがありません。
入力ミスがないか確認してください。
cachefspack: filename - ファイルを pack できません。 NFS のファイルハンドルが無効です。 |
アクセスしようとしたときに、ファイルまたはディレクトリがサーバーから移動または削除されていた可能性があります。
サーバー上のファイルやディレクトリにまだアクセスできることを確認してください。
cachefspack: filename - ファイルを pack できません。 システムコールに割り込みがかかりました。 |
コマンドの実行中に間違って Control + C を押した可能性があります。
このコマンドを再度実行してください。
cachefspack: filename - ファイルを pack できません。I/O エラー |
ハードウェアの障害の可能性があります。
ハードウェアの接続を確認してください。
cachefspack: filename - ファイルを pack できません。 デバイス上に十分な領域がありません。 |
キャッシュのディスク容量が不足しています。
ディスク容量を増やしてキャッシュのサイズを大きくする必要があります。
cachefspack: filename - ファイルを unpack できません。 アクセス権がありません。 |
ファイルまたはディレクトリにアクセスするための正しいアクセス権を持っていません。
適切なアクセス権を取得してください。
cachefspack: filename - ファイルを unpack できません。 ファイルまたはディレクトリがありません。 |
正しいファイルまたはディレクトリがありません。
入力ミスがないか確認してください。
cachefspack: filename - ファイルを unpack できません。 NFS のファイルハンドルが無効です。 |
アクセスしようとしたときに、ファイルまたはディレクトリがサーバーから移動または削除されていた可能性があります。
サーバー上のファイルやディレクトリにまだアクセスできることを確認してください。
cachefspack: filename - ファイルを unpack できません。 システムコールに割り込みがかかりました。 |
コマンドの実行中に間違って Control + C を押した可能性があります。
このコマンドを再度実行してください。
cachefspack: filename - ファイルを unpack できません。I/O エラー |
ハードウェアの障害の可能性があります。
ハードウェアの接続を確認してください。
cachefspack: `d'、`i'、`p'、`u' オプションのどれか 1 つを指定できます。 |
コマンドに対して上記オプションのうち複数のオプションが指定されています。
オプションは 1 つだけ選択してください。
cachefspack: 環境変数が見つかりません。 |
構成ファイル中で $ で指定されている環境変数を設定していません。
環境変数を適切な場所に定義してください。
cachefspack: LIST コマンドをスキップします - 動作中の bese はありません |
LIST コマンドが構成ファイル内にありますが、対応する BASE コマンドがありません。
BASE コマンドを定義してください。