LINUX.ORG.RU
решено ФорумAdmin

Systemd с condition failed.

 


0

1

Проблема с тем, что у многих сервисов есть condition failed.
Например

● systemd-sysusers.service - Create System Users
   Loaded: loaded (/usr/lib/systemd/system/systemd-sysusers.service; static; vendor preset: disabled)
   Active: inactive (dead)
Condition: start condition failed at Mon 2018-11-26 07:55:08 UTC; 1min 28s ago
           └─ ConditionNeedsUpdate=/etc was not met
     Docs: man:sysusers.d(5)
           man:systemd-sysusers.service(8)

У одних /etc требует обновления.
У другого /var/lib/machines.raw.
Вот еще например.
● systemd-binfmt.service - Set Up Additional Binary Formats
   Loaded: loaded (/usr/lib/systemd/system/systemd-binfmt.service; static; vendor preset: disabled)
   Active: inactive (dead)
Condition: start condition failed at Mon 2018-11-26 07:55:08 UTC; 6min ago
           ├─ ConditionDirectoryNotEmpty=|/lib/binfmt.d was not met
           ├─ ConditionDirectoryNotEmpty=|/usr/lib/binfmt.d was not met
           ├─ ConditionDirectoryNotEmpty=|/usr/local/lib/binfmt.d was not met
           ├─ ConditionDirectoryNotEmpty=|/etc/binfmt.d was not met
           └─ ConditionDirectoryNotEmpty=|/run/binfmt.d was not met
     Docs: man:systemd-binfmt.service(8)
           man:binfmt.d(5)
           https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html
           https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
Как эти ошибки исправить? Поиск не помогает. Даже чтение man не помогло.
И почему это вообще вылезает?


Это не ошибки. Это условный запуск. «Condition ... was not met» означает, что запускать этот юнит нет необходимости.

Например, если юнит отвечает за настройку binfmt, то запускать его нет необходимости, если в системе нет конфигов binfmt.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

Эм... Ок, понятненько вроде.
Тогда почему именно так их маркируют?
Почему их не делать в таком виде

● umount.target - Unmount All Filesystems
   Loaded: loaded (/usr/lib/systemd/system/umount.target; static; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:systemd.special(7)
А то этот condition failed больше в заблуждение вводит.

Sorcus
() автор топика
Ответ на: комментарий от Sorcus

Почему их не делать в таком виде

Ты просто предлагаешь выкинуть «Condition:»? Но зачем? В том виде, в котором ты предложил, невозможно отличить юнит, который и не пытались запустить, от юнита, для которого не сработало одно из условий.

А то этот condition failed больше в заблуждение вводит.

У systemd нет задачи быть интуитивно понятным для кульхацкеров, которые не прочитали ман, полезли в кишки, увидели там незнакомое слово и испугались. Иди на https://github.com/systemd/systemd/issues и высказывай там свои ценные замечания.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

В том виде, в котором ты предложил, невозможно отличить юнит, который и не пытались запустить, от юнита, для которого не сработало одно из условий.

Ок, хорошо.

У systemd нет задачи быть интуитивно понятным для кульхацкеров, которые не прочитали ман, полезли в кишки, увидели там незнакомое слово и испугались.

Вот не надо, man я читал. Но возможно не совсем внимательно.
В этом да, мой косяк.
Но за информацию спасибо, добра тебе.

Sorcus
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.