Я пытаюсь использовать следующий код в моем spec-файле, я устанавливаю мое приложение как отдельный экземпляр tomcat.
# Symlink $CATALINA_BASE/logs to /var/log/$SERVICE_NAME.
# If it's already there, we'll get rid of it and make a new symlink.
if [ -h "$RPM_INSTALL_PREFIX/logs" ]; then
# It's a symlink, so just remove it.
rm -f $RPM_INSTALL_PREFIX/logs
fi
# If it's still there, and it's a directory, see if we can rmdir it.
if [ -d "$RPM_INSTALL_PREFIX/logs" ]; then
rmdir $RPM_INSTALL_PREFIX/logs >/dev/null 2>&1 || :
fi
if [ -e "$RPM_INSTALL_PREFIX/logs" ]; then
# It's probably either a file or a dir, so we'll move it.
mv $RPM_INSTALL_PREFIX/logs $RPM_INSTALL_PREFIX/logs.rpmsave || :
fi
ln -s /var/log/$SERVICE_NAME $RPM_INSTALL_PREFIX/logs || :
Когда этот код работает с -i
, он создает и оставляет там символическую ссылку.
Когда я запускаю новую версию rpm с -U
, он выполняет этот код, и символическая ссылка создается правильно, но когда команда rpm завершается, символическая ссылка удаляется.
Если я запускаю-U --force
во второй раз, после чего символическая ссылка остается.
Как заставить -U
остаться без использования --force
?