プログラム コードを /var/cache に保存するのはなぜですか?

プログラム コードを /var/cache に保存するのはなぜですか?

Ubuntu で実行されている Java / Tomcat スタックを継承しました。クラッシュしたので再起動しようとしています。プログラム コードは、ファイル システムで見つかった構成ファイルを使用しているようです。

問題は、引き継ぎ書の中に次のメモを見つけたことです。

the app code is in /var/lib/tomcat6/webapps/PCRTiler
config and helping files are in /var/cache/tomcat6/work/PCRTiler
/work/PCRTiler is a symlink for /var/cache/tomcat6/work/PCRTiler

/var/cache の下に tomcat6 ディレクトリがありません。また、/ に work というシンボリック リンクも見つかりません。基になるディレクトリが削除された場合、リンクは破壊されますか?

プログラム固有のコードを /var/cache に保存するのは標準的な方法ですか? また、このディレクトリは永続的なものですか?

編集

/var/cache と /var/lib にコピーしていると思われる install.sh スクリプトが見つかりました

#!/bin/bash
rm -rf /var/lib/tomcat6/webapps/PCRTiler
rm -rf /var/cache/tomcat6/work/PCRTiler
mkdir -p /var/lib/tomcat6/webapps/PCRTiler
mkdir -p /var/cache/tomcat6/work/PCRTiler
cp -r * /var/lib/tomcat6/webapps/PCRTiler
cp -r /var/lib/tomcat6/webapps/PCRTiler/cache_skel/* /var/cache/tomcat6/work/PCRTiler
chown -R tomcat:tomcat /var/cache/tomcat6/work/PCRTiler
chown -R root:root /var/lib/tomcat6/webapps/PCRTiler
service tomcat6 restart

答え1

のガイドラインによれば、Linux ファイルシステム階層:

/var/キャッシュ

アプリケーションからのキャッシュされたデータ用です。このようなデータは、時間のかかる I/O または計算の結果としてローカルに生成されます。このデータは通常、再生成または復元できます。/var/spool とは異なり、ここのファイルはデータを失うことなく削除できます。このデータは、アプリケーションの呼び出しからシステムの再起動まで有効です。キャッシュされたデータ用の別のディレクトリが存在するため、システム管理者は /var 内の他のディレクトリとは異なるディスクおよびバックアップ ポリシーを設定できます。

最後の文は正当性を示していると思われますが、この場合は主な説明とは矛盾しているように聞こえます。「このようなデータは、時間のかかる I/O または計算の結果としてローカルに生成されます。」

これは、単に個人による風変わりな、または無知な選択だったのかもしれません。 にアプリケーション固有のディレクトリを作成し/var/cache、それが永続的であることは珍しくありませんが、そこにソース ファイルや構成ファイルを置くのは少し普通ではないと思います。アプリケーション コード用のパス外のディレクトリ ツリーが必要な場合、より標準的な場所は です/opt

ただし、Apache などの Web サーバーでは、一部のモジュール アプリケーション コードを のカスタム サブディレクトリに保存するのが一般的である/varため、これが前例となります。

関連情報