Не правильные права на /etc/quagga, т.к. нет возможности юзеру quagga писать в папку. Вот как в пакете сделано: drwxr-xr-x 2 root root 0 Мар 22 20:22 /etc/quagga -rw-rw---- 1 root quagga 453 Мар 22 20:22 /etc/quagga/bgpd.conf
А этому юзеру точно надо писать (что он может писать, это я в курсе) ? Что-то я стараюсь конфиг править напрямую. Если настраивать с консоли, то, при записи, слишком много лишних интерфейсов перечисляется, точнее все.
По моему мнению, в этой программе из двух подходов (использовать команду write и не использовать) ни один на практике не оказывается заметно более эффективным. Поэтому лично я бы оставил всё как оно уже сложилось.
(В ответ на комментарий №2) > По моему мнению, в этой программе из двух подходов (использовать команду write > и не использовать) ни один на практике не оказывается заметно более > эффективным. Поэтому лично я бы оставил всё как оно уже сложилось. Не могу согласиться. Т.е. по умолчанию Вы предлагаете отключить терминальный режим, т.к. записать сделанные в нем изменения в конфиг не возможно. И это при отсутствие нормального service blabla reload. Нормального, т.к. там делается restart и ошибка допущенная в конфиге приводит к остановке сервиса. А при write в терминальном режиме производится проверка корректности конфига, что очень помогает.
(In reply to comment #3) > Т.е. по умолчанию Вы предлагаете отключить терминальный режим, т.к. > записать сделанные в нем изменения в конфиг не возможно. Это не единственное, для чего нужен терминальный режим. Там ещё разные текущие моменты можно смотреть. Маршруты в таблицах, например. > А при write в терминальном режиме производится проверка корректности > конфига Единственный плюс... Только это не при write, а просто при настройке.
Добавление в init-скрипты в restat() вот такого кода устроит в качестве решения ? $ZNAME --dryrun &>/dev/null RETVAL=$? if [ $RETVAL > 0 ]; then echo "Service $ZNAME is not restarted: config's test failed. Try '$ZNAME --dryrun'" exit $RETVAL fi
В общем, собираю новую версию. Ещё добавил в sysconfig/quagga #QCONFFILESRIGHT="RW" В init.d/zebra: if [ $QCONFFILESRIGHT -eq "RW" ]; then chmod 770 /etc/quagga fi
Что-то я ошибок в условиях понаделел... В итоге, соответственно, if [ $[ $RETVAL > 0 ] == 1 ]; then и if [ x$QCONFFILESRIGHT = 'xRW' ]; then
quagga-0.99.17-alt1 -> sisyphus: * Thu Sep 23 2010 Sergey Y. Afonin <asy@altlinux> 0.99.17-alt1 - new version - added checking of configs when restarting services - configurable permissions for /etc/quagga (ALT #23467)
*** Bug 33337 has been marked as a duplicate of this bug. ***