Почему-то при загрузке роутера не стартует avahi. Точнее по syslog-у видно что он доходит до строчки "Registering HINFO" и все - тишина. Валится без объяснения причин. pid файл естественно остается.
Причем если зайти по SSH и запустить его вручную то он прекрасно работает.
Запуск avahi у меня происходит как обычно: из post-mount стартует /opt/etc/init.d/rc, а он уже перебирает скрипты в /opt/etc/init.d/ и запускает их в порядке индексов.
В самом S50avahi перед запуском демона создается пользователь avahi:
Code:
....
if ! grep -q avahi: /etc/passwd; then
echo -n "No avahi user found, creating it... "
adduser -h /opt/var/run/avahi-daemon -g "$NAME" -s /bin/false -D -H avahi > /dev/null #2>&1
if [ ! $? = 0 ]; then
return 255
echo "failed"
else
echo "done"
fi
fi
echo "Starting $NAME ... "
/opt/sbin/avahi-daemon -D -f /opt/etc/avahi/avahi-daemon.conf
....
Сперва я начал проверять чем же отличается "окружение" в момент запуска из post-mount и "вручную". Отличий почти нет. И там и там $PATH заполнен, whoami показывает admin. Разве что переменная среды USER не установлена.
Причем до avahi-daemon запускается только openvpn который нормально работает. А после avahi больше сервисов нет.
Добавление --debug к праметрам запуска avahi-daemon эффекта не дает.
Задержка sleep 2 тоже не исправляет ситуацию.
Единственное что остается перепроверять демон по крону и рестартовать его, но это на крайний случай.
Еще я заметил что avahi игнорирует HOME директорию пользователя и упорно лепит pid-файл в /opt/var/run/avahi-daemon/.
Если у кого есть идеи куда копать - подскажите.