小さなユーティリティを書くときには、少量のデータを保持したい場合があります。〜サイ実行。これは通常キャッシュ目的ですが、プログラムがデーモンとして実行されることを望まない場合です。これについての合意はありますか?ファイルを作成する/tmp
のは通常、メモリに保存され、閉じられたときにのみ消去されるため、当然のように見えますが、他の方法があるかどうか疑問に思います。また、ファイル名を指定するルールがありますか/tmp
?
ベストアンサー1
システム管理者がプログラムをインストールし、時々データを削除しても構わない場合は、以下にディレクトリを作成してください。/var/cache
。以下のファイルはシステム管理者がいつでも削除できますが、/var/cache
通常はシステムのディスク容量が不足していない限り削除されません。これを制御できないように管理する/var/cache/YOUR-DIRECTORY
のはアプリケーションの責任です。
システム管理者がプログラムをインストールし、アプリケーション制御なしでデータを絶対に削除しないでください。/var/lib
。
この目的には使用しないでください/tmp
。再起動時に消去されることがあります(しばしばはい)。/tmp
アプリケーションへの個々の呼び出し間で保持されないデータにのみ適用されます。どちらかを使用しないでください/var/tmp
。通常、再起動時には削除されませんが、システム管理者はいつでも削除することを選択できます。
個々のユーザーがアプリケーションを実行し、各ユーザーが独自のデータセットを持っている場合、ファイルはユーザーのホームディレクトリになければなりません。以下を使用する以外に、ユーザーホームディレクトリのファイルを構成するための従来のUnix標準はありません。名前が.
("dotfile")で始まるファイル。現代的な基準がありますが、XDGFreeDesktopの仕様。キャッシュデータ(削除が可能でパフォーマンス以外には影響しません)の場合、デフォルトでに設定されている下にディレクトリを作成するか、$XDG_CACHE_HOME
ホーム~/.cache
ディレクトリの直下にディレクトリを作成します(この場合)。 (で始まる)。$XDG_DATA_HOME
~/.local/share
.