プログラムコードが/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ため、これは先例です。

おすすめ記事