[sisyphus] ez-ipupdate: критика

sergey ivanov =?iso-8859-1?q?seriv_=CE=C1_parkheights=2Edyndns=2Eorg?=
Вт Июн 1 17:43:21 MSD 2004


Yura Zotov пишет:

>Обнаружил, что инитскрипт для ez-ipupdate срабатывает с ошибками.
>Разборки выявили как банальные опечатки, так и более
>принципиальные недочёты. На основе этого скрипта и
>/etc/init.d/template я написал новый скрипт, который работает как
>положено. Он прицеплен. Предлагаю включить в пакет ez-ipupdate
>новый скрипт вместо старого.
>
>P.S. Не совсем понял, какой смысл в выделении файла
>ez-ipupdate.pid в отдельный каталог /var/run/ez-ipupdate/.
>По-моему его было бы правильнее держать вместе с остальными
>pid-файлами в /var/run/. Ведь с lock-файлом вы (обращение к
>мантейнеру пакета) так и поступали, оставляя его в
>/var/lock/subsys/.
>  
>
Большое спасибо за критику и за предложенный скрипт.
    Я попытался разобраться с pid-файлом. Нашел способ, как его можно 
держать в /var/run а не в специальной поддиректории. Для этого нужно:
1) передать создание этого файла start-stop-daemon'у, который работает с 
правами root;
2) для этого передать с помощью хитрости, например, приклеив к параметру 
$EZ_PID ключик --make-pidfile,  который функциями 
/etc/rc.d/init.d/functions напрямую не поддерживается;
3) и потом ещё надо отнять у ez-ipupdate функциональность демона, 
отсоединяющегося от консоли в которой был запущен, иначе 
start-stop-daemon получает pid не того процесса, который будет работать, 
а того который создается для запуска
этого демона и тут же завершается.
    Поэтому я решил что лучше оставить с pid-файлами как есть, то есть 
создать для них поддиректорию в которую имеет право писать 
непривилегированный юзер.
    Однако мне показалось, что примерно ту же функциональность, что и 
pid-файлы, обеспечивают lock-файлы. И тогда непонятно, чем может быть 
оправдано одновременное применение /var/lock/subsystem/* файлов и 
pid-файлов в одном скрипте. Я пробовал, и у меня функции condrestart и 
condreload хорошо работали и с ипользованием просто пути к исполнимой 
программе /usr/sbin/ez-ipupdate, и с использованием pid-файлов.
    Однако я не решился удалить из стартового скрипта все упоминания об 
lock-файлах, так как не нашел документации или описаний, из которых 
можно было бы понять к чему это может привести. Если кто-нибудь 
подскажет, буду очень благодарен.
    Исправленная версия ez-ipupdate направлена в incoming.
   
    С уважением,
          Сергей Иванов.



Подробная информация о списке рассылки Sisyphus