[sisyphus] polkit warning

Михаил mike.almateia на gmail.com
Пн Май 21 14:22:08 MSK 2012


On 21 мая 2012 09:29:33 Vladimir Didenko wrote:
> On 20 мая 2012 23:52:51 Mike wrote:
> 
> > 1. У вас сервис avahi-daemon.service включён? Что говорит systemctl
> > status avahi-daemon.service  при работающей машине?
> 
> Выключен
> 
> $ systemctl status avahi-daemon.service
> avahi-daemon.service - Avahi mDNS/DNS-SD Stack
>           Loaded: loaded (/lib/systemd/system/avahi-daemon.service; 
disabled)
>           Active: inactive (dead)
>           CGroup: name=systemd:/system/avahi-daemon.service
> 
> > 2. Если при выключаении зависаение происходит, в момент выключения были
> > ли настроены тунели/спец. сетевые устройства в /etc/net, не
> > подконтрольные NetworkManager?
> 
> Я не использую NetworkManager. В etcnet настроен только ethernet. 
> 

Похоже нашёл в чём может быть проблема, по крайней мере у меня 
воспроизводится.
Для начала вспомним, unit сервис avahi использует механизм запуска dbus. т.е. 
для опеделения окончания старта сервиса systemd смотрит в dbus и ждёт когда 
сервис в нём зарегистрируется.

Если в системе имеется сетевой интерфейс, не под контролем NetworkManager, при 
выключении машины, systemd запускает задачу (job) "stop network.service", 
который по сути просто init скрипт, скрипт в свою очередь при при выключении 
интерфейса, выполняет другой скрипт ifdown-post в котором выполняется service 
condrestart avahi-daemon. Вызов condrestart транслируется в systemd как 
restart, systemd по запросу стартует avahi-daemon.service, но т.к. dbus к этом 
моменту уже не в системе, avahi не стартует, но systemd ожидает его появления 
в dbus шине и никогда не дожётся.
Пока не завершится задание на restart avahi-daemon.service, не завершится 
network.service, что и останавливает выключение.


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