
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
ため、これが前例となります。