LINUX.ORG.RU

История изменений

Исправление intelfx, (текущая версия) :

В моём случае это выглядит как-то так (некоторое время назад добавили более конкретный стейт not-found):

$ systemctl --all --state not-found
  UNIT                       LOAD      ACTIVE   SUB  DESCRIPTION
● plymouth-quit-wait.service not-found inactive dead plymouth-quit-wait.service
● plymouth-quit.service      not-found inactive dead plymouth-quit.service
● plymouth-start.service     not-found inactive dead plymouth-start.service
● rc-local.service           not-found inactive dead rc-local.service
● sssd.service               not-found inactive dead sssd.service
● syslog.service             not-found inactive dead syslog.service
● ypbind.service             not-found inactive dead ypbind.service
● syslog.target              not-found inactive dead syslog.target

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

8 loaded units listed.
To show all installed unit files use 'systemctl list-unit-files'.

Например, посмотрим на юнит rc-local.service. У меня в системе его нет, но systemd почему-то про него знает. Посмотрим на все зависимости, ассигнованные этому фантомному юниту:

$ systemctl show -p Requires,Requisite,Wants,BindsTo,PartOf,RequiredBy,WantedBy,BoundBy,ConsistsOf,Conflicts,ConflictedBy,Before,After,OnFailure,Triggers,TriggeredBy,PropagatesReloadTo,ReloadPropagatedFrom,JoinsNamespaceOf rc-local.service
Requires=
Requisite=
Wants=
BindsTo=
PartOf=
RequiredBy=
WantedBy=
BoundBy=
ConsistsOf=
Conflicts=
ConflictedBy=
Before=gdm.service
After=
OnFailure=
Triggers=
TriggeredBy=
PropagatesReloadTo=
ReloadPropagatedFrom=
JoinsNamespaceOf=

Соответственно, видим, что это из-за gdm.service: там прописана зависимость порядка от этого (несуществующего) юнита. Посмотрим на сам юнит:

$ systemctl cat gdm.service
# /usr/lib/systemd/system/gdm.service
[Unit]
Description=GNOME Display Manager

# replaces the getty
Conflicts=getty@tty1.service
After=getty@tty1.service

# replaces plymouth-quit since it quits plymouth on its own
Conflicts=
After=

# Needs all the dependencies of the services it's replacing
# pulled from getty@.service and
# (except for plymouth-quit-wait.service since it waits until
# plymouth is quit, which we do)
After=rc-local.service plymouth-start.service systemd-user-sessions.service

# GDM takes responsibility for stopping plymouth, so if it fails
# for any reason, make sure plymouth still stops
OnFailure=plymouth-quit.service

[Service]
ExecStart=/usr/bin/gdm
KillMode=mixed
Restart=always
IgnoreSIGPIPE=no
BusName=org.gnome.DisplayManager
StandardOutput=syslog
StandardError=inherit
EnvironmentFile=-/etc/locale.conf

[Install]
Alias=display-manager.service

Так и есть — указана зависимость After=rc-local.service.

В общем, это штатная ситуация. Надеюсь, стало понятнее.

Исходная версия intelfx, :

В моём случае это выглядит как-то так (некоторое время назад добавили более конкретный стейт not-found):

$ systemctl --all --state not-found
  UNIT                       LOAD      ACTIVE   SUB  DESCRIPTION
● plymouth-quit-wait.service not-found inactive dead plymouth-quit-wait.service
● plymouth-quit.service      not-found inactive dead plymouth-quit.service
● plymouth-start.service     not-found inactive dead plymouth-start.service
● rc-local.service           not-found inactive dead rc-local.service
● sssd.service               not-found inactive dead sssd.service
● syslog.service             not-found inactive dead syslog.service
● ypbind.service             not-found inactive dead ypbind.service
● syslog.target              not-found inactive dead syslog.target

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

8 loaded units listed.
To show all installed unit files use 'systemctl list-unit-files'.

Например, посмотрим на юнит rc-local.service. У меня в системе его нет, но systemd почему-то про него знает. Посмотрим на все зависимости, ассигнованные этому фантомному юниту:

$ systemctl show -p Requires,Requisite,Wants,BindsTo,PartOf,RequiredBy,WantedBy,BoundBy,ConsistsOf,Conflicts,ConflictedBy,Before,After,OnFailure,Triggers,TriggeredBy,PropagatesReloadTo,ReloadPropagatedFrom,JoinsNamespaceOf rc-local.service
Requires=
Requisite=
Wants=
BindsTo=
PartOf=
RequiredBy=
WantedBy=
BoundBy=
ConsistsOf=
Conflicts=
ConflictedBy=
Before=gdm.service
After=
OnFailure=
Triggers=
TriggeredBy=
PropagatesReloadTo=
ReloadPropagatedFrom=
JoinsNamespaceOf=

Соответственно, видим, что это из-за gdm.service: там прописана зависимость порядка от этого (несуществующего) юнита. Посмотрим на сам юнит:

$ systemctl cat gdm.service
$ systemctl cat gdm.service
# /usr/lib/systemd/system/gdm.service
[Unit]
Description=GNOME Display Manager

# replaces the getty
Conflicts=getty@tty1.service
After=getty@tty1.service

# replaces plymouth-quit since it quits plymouth on its own
Conflicts=
After=

# Needs all the dependencies of the services it's replacing
# pulled from getty@.service and
# (except for plymouth-quit-wait.service since it waits until
# plymouth is quit, which we do)
After=rc-local.service plymouth-start.service systemd-user-sessions.service

# GDM takes responsibility for stopping plymouth, so if it fails
# for any reason, make sure plymouth still stops
OnFailure=plymouth-quit.service

[Service]
ExecStart=/usr/bin/gdm
KillMode=mixed
Restart=always
IgnoreSIGPIPE=no
BusName=org.gnome.DisplayManager
StandardOutput=syslog
StandardError=inherit
EnvironmentFile=-/etc/locale.conf

[Install]
Alias=display-manager.service

В общем, это штатная ситуация. Надеюсь, стало понятнее.