Я создаю образ Debian Jessie. При загрузке в системе нет /etc/machine-id
файл. Это вызывает некоторые проблемы с журналом, который не запускается.
Я обнаружил, что в репозитории systemd:
# 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 недоступен. Как с этим бороться?
Я немного удивлен, что у вас не было этого скрипта после простой установки systemd, но (в целом) я думаю, что ответ заключается в том, что вы должны поместить его в /etc/systemd/system
.
В этой ситуации (поскольку вы делаете все это, чтобы попытаться получить идентификатор машины, чтобы заставить журнал работать), я думаю, я мог бы заменить 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).