Как использовать systemd-firstboot.service?

Я делаю изображение Debian Jessie. На начальной загрузке система имеет нет /etc/machine-id файл. Это вызывает некоторые проблемы с журналируемым, который не запускается.

Я нашел что в systemd repo:

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Unit]
Description=First Boot Wizard
Documentation=man:systemd-firstboot(1)
DefaultDependencies=no
Conflicts=shutdown.target
After=systemd-remount-fs.service
Before=systemd-sysusers.service sysinit.target shutdown.target
ConditionPathIsReadWrite=/etc
ConditionFirstBoot=yes

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=@rootbindir@/systemd-firstboot --prompt-locale --prompt-timezone --prompt-root-password
StandardOutput=tty
StandardInput=tty
StandardError=tty

Куда это должно быть помещено так, это будет работать?

В systemd 215 ConditionFirstBoot не доступен. Как иметь дело с этим?

11
задан 23 October 2015 в 15:59
1 ответ

Я немного удивлен, что вы не установили этот скрипт из простой установки systemd, но (в общем) я думаю, что ответ заключается в том, что вы должны поместить его в /etc/systemd/system.

В этой ситуации (так как вы делаете все это для того, чтобы попытаться получить машинопись, чтобы заставить работать logd), я думаю, что могу заменить ConditionFirstBoot проверкой на файл, который вам дорог,/etc/machine-id.

Поэтому я, вероятно, перепишу раздел Unit следующим образом:

[Unit]
Description=First Boot Wizard
Documentation=man:systemd-firstboot(1)
DefaultDependencies=no
Conflicts=shutdown.target
After=systemd-remount-fs.service
Before=systemd-sysusers.service sysinit.target shutdown.target
ConditionPathIsReadWrite=/etc
ConditionPathExists=!/etc/machine-id

Учитывая это, если бы можно было отправить более свежий systemd с вашим образом (я не очень хорошо разбираюсь в Debian, так что я не смог найти нигде, чтобы проверить, какая последняя поддерживаемая версия), то, возможно, стоит поискать - в systemd 215 есть несколько проблем, которые с тех пор были исправлены (https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=systemd).

1
ответ дан 2 December 2019 в 21:57

Теги

Похожие вопросы