Bug 33512

Summary: Краш X-сервера на старте системы с sysv и NetworkManager
Product: Sisyphus Reporter: Speccyfighter <zxwarior>
Component: openntpdAssignee: placeholder <placeholder>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: asy, glebfm, ldv, mike, placeholder
Version: unstable   
Hardware: all   
OS: Linux   

Description Speccyfighter 2017-05-29 23:57:29 MSK
На системе с NetworkManager:

Попытка выключить в NM сеть и уйти на перезагрузку, чтобы включение сети разрешить через рулез при наличии в группе, на старте системы приводит к обрушению Х-сервера. Поднятие Х-сов возможно через init. 

Виноват ntpd:
Если сеть отключается с перезагрузкой, на загрузке сначала стартует сервис dm. После него, при отсутствии сети, сервис ntpd долго не может отработать, gdm (gdm2.20) не успевает подняться и Х-сы рушатся.

Возможно их поднятие через
init 3
init 5

Или чтобы X-сы не рушились на старте системы с sysv и NetworkManager, попросить ntpd не устанавливать время на старте системы:

grep ^NTPD /etc/sysconfig/ntpd
NTPD_ARGS=-S


Условие по которому запустится или не запустится демон ntpd, касается etcnet

$ grep NETW  /etc/init.d/ntpd
	is_yes "$NETWORKING" || return 0

$ grep NETW /etc/sysconfig/network
NETWORKING=yes

$ sed -n '5p; 34p' /etc/init.d/network
# description: /etc/net is network configuration software
SourceIfNotEmpty /etc/sysconfig/network


но не NetworkManager

$ grep . /var/lib/NetworkManager/NetworkManager.state
[main]
NetworkingEnabled=true
WirelessEnabled=false
WWANEnabled=true

$ nmcli r
WIFI-HW  WIFI      WWAN-HW  WWAN   
enabled  disabled  enabled  enabled

$ nmcli n
enabled


Дефолтно сервис ntpd стартует 90-тым по очереди.
Если ntpd не запрещать на старте синхронизировать время, но попросить его на старте системы стартовать 40-вым, т.е. перед сервисом dm, то у ntpd будет где-то 15-тисекундная задержка на старте системы, но падения X-сервера уже не будет:

# grep chkconfig /etc/rc.d/init.d/network
# chkconfig: 345 10 90

# grep chkconfig /etc/rc.d/init.d/NetworkManager
# chkconfig: - 12 90

# grep chkconfig /etc/rc.d/init.d/ntpd
# chkconfig: - 40 60

# find /etc/rc.d/ -name "S*ntpd"
/etc/rc.d/rc3.d/S40ntpd
/etc/rc.d/rc4.d/S40ntpd
/etc/rc.d/rc5.d/S40ntpd
/etc/rc.d/rc2.d/S40ntpd

# find /etc/rc.d/ -name "S*dm"
/etc/rc.d/rc5.d/S45dm


Это же относится и к ntpd из пакета ntpd.

Вопрос:
Возможно ли в пакете openntpd поправить init-скрипт, чтобы сервис ntpd стартовал предположим 40-вым по очереди, т.е. перед сервисом dm (но после сервиса network или NetworkManager)?
Для того, чтобы в системе с sysv и NetworkManager, при отключенной сети X-сервер не падал. Если ntpd устанавливать время на старте не запрещено.