
Я унаследовал стек Java / Tomcat, работающий на Ubuntu. Он завис, и я пытаюсь его перезапустить. Похоже, что код программы использует файл конфигурации, который я нашел в файловой системе.
Проблема в том, что в акте приема-передачи я нашел вот такую записку:
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, и является ли этот каталог каким-либо образом постоянным?
РЕДАКТИРОВАТЬ
Нашел скрипт install.sh, который, похоже, копирует в /var/cache и /var/lib
#!/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/кэш
Предназначен для кэшированных данных из приложений. Такие данные генерируются локально в результате трудоемкого ввода-вывода или вычисления. Эти данные, как правило, могут быть регенерированы или восстановлены. В отличие от /var/spool, файлы здесь можно удалять без потери данных. Эти данные остаются действительными между вызовами приложения и перезагрузкой системы.Наличие отдельного каталога для кэшированных данных позволяет системным администраторам устанавливать различные политики для дисков и резервного копирования из других каталогов в /var.
Я предполагаю, что последнее предложение может служить оправданием, хотя в данном случае оно звучит как противоречие основному описанию: «Такие данные генерируются локально в результате трудоемкого ввода-вывода или вычислений».
Это может быть просто эксцентричным или невежественным выбором отдельного человека. Нет ничего необычного в создании каталогов, специфичных для приложений, /var/cache
и они сохраняются, но я думаю, что немного необычно размещать там исходные файлы или файлы конфигурации. Более нормативным местом, если вам нужно дерево каталогов вне пути для кода приложения, будет /opt
.
Однако для веб-серверов, таких как Apache, нормально хранить некоторый модульный код приложения в пользовательском подкаталоге /var
, так что это прецедент.