systemd-firstboot initialisiert die grundlegenden Systemeinstellungen interaktiv während des ersten Systemstarts oder nichtinteraktiv bei einem Offline-Systemabbild. Der Dienst wird während des Systemstarts gestartet, falls ConditionFirstBoot=yes erfüllt ist. Dies bedeutet im Wesentlichen, dass /etc/ nicht befüllt ist, siehe systemd.unit(5) für Details.
Die folgenden Einstellungen können konfiguriert werden:
•Die Maschinenkennung des Systems
•Die Locale des Systems, genauer die zwei Locale-Variablen LANG= und LC_MESSAGES
•Die Tastaturzuordnung des Systems
•Die Zeitzone des Systems
•Der Rechnername des Systems
•Die bei der Installation von Kernelabbildern verwandte Kernelbefehlszeile
•Das Passwort und die Shell des Benutzers »root«
Jedes der Felder kann entweder interaktiv durch Benutzer abgefragt, nicht interaktiv über die Befehlszeile des Werkzeugs gesetzt oder von einem Wirtssystem, das zum Einrichten des Systemabbildes verwandt wird, kopiert werden.
Falls eine Einstellung bereits initialisiert ist, wird sie nicht überschrieben und der Benutzer wird nicht für die Einstellung befragt.
Beachten Sie, dass dieses Werkzeug direkt auf dem Dateisystem agiert und keine laufenden Systemdienste beteiligt, anders als localectl(1), timedatectl(1) oder hostnamectl(1). Dies erlaubt systemd-firstboot auf eingehängten, aber nicht gestarteten Plattenabbildern und in der frühen Systemstartphase zu agieren. Es wird nicht empfohlen, systemd-firstboot im laufenden System zu verwenden, nachdem dieses eingerichtet wurde.
Die folgenden Optionen werden verstanden:
--root=Wurzel
Akzeptiert einen Verzeichnispfad als Argument. Allen Pfaden wird der übergebene alternative
Wurzelpfad vorangestellt, einschließlich Konfigurationssuchpfaden. Dies ist zur Arbeit auf Systemabbildern nützlich, die auf dem angegebenen Verzeichnis eingehängt sind, statt auf dem Wirtssystem selbst.
Hinzugefügt in Version 216.
--image=Pfad
Akzeptiert einen Pfad zu einer Plattenabbilddatei oder einem Blockgerätenamen. Falls angegeben, werden alle Aktionen auf das Dateisystem in dem angegebenen Plattenabbild angewandt. Dies ist ähnlich zu
--root=, agiert aber auf Dateisystemen, die in Plattenabbildern oder Blockgeräten gespeichert sind. Das Plattenabbild sollte entweder nur ein Dateisystem oder eine Reihe von Dateisystemen innerhalb einer GPT-Partitionstabelle enthalten, die der
Spezifikation für auffindbare Partitionen[1] folgt. Für weitere Informationen über unterstützte Plattenabbilder, siehe den Schalter von
systemd-nspawn(1) mit dem gleichen Namen.
Hinzugefügt in Version 246.
--locale=LOCALE, --locale-messages=LOCALE
Setzt die System-Locale, genauer die Einstellungen
LANG= und
LC_MESSAGES. Das Argument sollte ein gültiger Locale-Kennzeichner wie »de_DE.UTF-8« sein. Dies steuert die Konfigurationsdatei
locale.conf(5).
Hinzugefügt in Version 216.
--keymap=TASTENZUORDNUNG
Setzt die Systemtastaturbelegung. Das Argument sollte eine gültige Tastaturzuordnung sein, wie »de-latin1«. Dies steuert den Eintrag »KEYMAP« in der Konfigurationsdatei
vconsole.conf(5).
Hinzugefügt in Version 236.
--timezone=ZEITZONE
Setzt die Zeitzone des Systems. Das Argument sollte ein gültiger Zeitzonenkennzeichner wie »Europe/Berlin« sein. Dies steuert den Symlink
localtime(5).
Hinzugefügt in Version 216.
--hostname=RECHNERNAME
Setzt den Rechnernamen des Systems. Das Argument sollte ein zum DNS kompatibler Rechnername sein. Dies steuert die Konfigurationsdatei
hostname(5).
Hinzugefügt in Version 216.
--setup-machine-id
Initialisiert die Maschinenkennung des Systems auf eine zufällige Kennung. Dies steuert die Datei
machine-id(5).
Diese Option funktioniert nur in Kombination mit --root= oder --image=. Auf einem laufenden System wird die Maschinenkennung vom Verwalter mit Hilfe von systemd-machine-id-commit.service(8) geschrieben.
Hinzugefügt in Version 216.
--machine-id=KENNUNG
Setzt die Maschinenkennung des Systems auf den angegebenen Wert. Es gelten die gleichen Beschränkungen wie bei
--setup-machine-id.
Hinzugefügt in Version 216.
--root-password=PASSWORT, --root-password-file=PFAD, --root-password-hashed=GEHASHTES_PASSWORT
Setzt das Passwort des Benutzers root des Systems. Dies erstellt/verändert die
passwd(5)- und
shadow(5)-Datei. Diese Einstellung existiert auf drei Arten:
--root-password= akzeptiert das zu setzende Passwort direkt auf der Befehlszeile,
--root-password-file= liest es aus einer Datei und
--root-password-hashed= akzeptiert ein bereits gehashtes Passwort auf der Befehlszeile. Siehe
shadow(5) für weitere Informationen über das Format der gehashten Passwörter. Beachten Sie, dass die Angabe von Passwörtern auf der Befehlszeile nicht empfohlen wird, da andere Benutzer durch einfachen Aufruf von
ps(1) sie beobachten könnten.
Hinzugefügt in Version 216.
--root-shell=SHELL
Setzt die Shell des Benutzer root des Systems. Dies erstellt/verändert die Datei
passwd(5).
Hinzugefügt in Version 246.
--kernel-command-line=BEFEHLSZEILE
Setzt die Kernelbefehlszeile des Systems. Dies steuert die Datei /etc/kernel/cmdline, die von
kernel-install(8) verwandt wird.
Hinzugefügt in Version 246.
--prompt-locale, --prompt-keymap, --prompt-timezone, --prompt-hostname, --prompt-root-password, --prompt-root-shell
Fragt den Benutzer interaktiv nach einer bestimmten grundlegenden Einstellung. Beachten Sie, dass jede explizit angegebene Einstellung auf der Befehlszeile Vorrang hat und der Benutzer nicht danach gefragt wird.
Hinzugefügt in Version 216.
--prompt
Fragt nach der Locale, Tastenzuordnung, Zeitzone, dem Rechnernamen, dem Passwort und der Shell von root. Dies ist äquivalent zur Angabe der Kombination von
--prompt-locale,
--prompt-keymap,
--prompt-timezone,
--prompt-hostname,
--prompt-root-password,
--prompt-root-shell.
Hinzugefügt in Version 216.
--copy-locale, --copy-keymap, --copy-timezone, --copy-root-password, --copy-root-shell
Kopiert eine bestimmte grundlegende Eigenschaft vom Rechner. Dies funktioniert nur in Kombination mit
--root= oder
--image=.
Hinzugefügt in Version 216.
--copy
Kopiert die Locale, Tastenzuordnung, Zeitzone, das root-Passwort und die Shell vom Rechner. Dies ist äquivalent zur Angabe der Kombination von
--copy-locale,
--copy-keymap,
--copy-timezone,
--copy-root-password,
--copy-root-shell.
Hinzugefügt in Version 216.
--force
Schreibt Konfiguration selbst wenn die relevanten Dateien bereits existieren. Ohne diese Option verändert oder ersetzt
systemd-firstboot bestehende Dateien nicht. Beachten Sie, dass bei der Konfiguration des Kontos von Root selbst mit dieser Option
systemd-firstboot nur den Eintrag des Benutzers »root« verändert und andere Einträge in /etc/passwd und /etc/shadow intakt lässt.
Hinzugefügt in Version 246.
--reset
Entfernt, falls angegeben, alle mittels
systemd-firstboot konfigurierten bestehenden Dateien. Beachten Sie, dass die Dateien unabhängig davon, ob sie mit einem neuen Wert konfiguriert wurden, entfernt werden. Diese Aktion stellt sicher, dass der nächste Start des Abbilds als erster Systemstart betrachtet wird und
systemd-firstboot erneut zur Konfiguration aller entfernten Dateien auffordern wird.
Hinzugefügt in Version 254.
--delete-root-password
Entfernt das Passwort vom Benutzer root des Systems und aktiviert die Anmeldung als root ohne Passwort, außer das Konto von root ist gesperrt. Beachten Sie, dass dies extrem unsicher ist und daher diese Option nicht leichtfertig verwandt werden sollte.
Hinzugefügt in Version 246.
--welcome=
Akzeptiert ein logisches Argument. Standardmäßig wird dem Benutzer bei der Aufforderung zur Eingabe von Konfigurationsoptionen ein kurzer Begrüßungstext gezeigt, bevor die erste Frage gestellt wird. Übergeben Sie falsch an diese Option, um diesen Begrüßungstext abzuschalten.
Hinzugefügt in Version 246.
-h, --help
Zeigt einen kurzen Hilfetext an und beendet das Programm.
--version
Zeigt eine kurze Versionszeichenkette an und beendet das Programm.
systemd-firstboot unterstützt die Dienste-Anmeldedaten-Logik, wie sie von ImportCredential=/LoadCredential=/SetCredential= implementiert ist (siehe systemd.exec(1) für Details). Die folgenden Anmeldedaten werden verwandt, wenn sie hereingereicht werden:
passwd.hashed-password.root, passwd.plaintext-password.root
Ein gehashtes oder eine Klartextversion des Passworts für root, anstelle den Benutzer zu fragen. Diese Anmeldedaten sind identisch zu den für den Dienst
systemd-sysusers.service(8) definierten.
Hinzugefügt in Version 249.
passwd.shell.root
Legt das Shell-Programm, das für das festgelegte Konto verwandt werden soll, fest. Äquivalent zu dem für den Dienst
systemd-sysusers.service(8) definierten Anmeldedatum gleichen Namens.
Hinzugefügt in Version 249.
firstboot.locale, firstboot.locale-messages
Diese Anmeldedaten legen die Locale-Einstellungen fest, die während des ersten Systemstarts gesetzt werden, anstelle den Benutzer zu fragen.
Hinzugefügt in Version 249.
firstboot.keymap
Dieses Anmeldedatum legen die Tastatureinstellungen fest, die während des ersten Systemstarts gesetzt werden, anstelle den Benutzer zu fragen.
Beachten Sie den Zusammenhang zu der von systemd-vconsole-setup.service(8) verstandenen Zugangsberechtigung vconsole.keymap: beide betreffen letztendlich die gleiche Einstellung, aber zuerst wird firstboot.keymap in /etc/vconsole.conf beim ersten Systemstart geschrieben (falls nicht bereits konfiguriert) und dann durch systemd-vconsole-setup von dort gelesen, während vconsole.keymap bei jedem Systemstart gelesen und nicht dauerhaft auf Platte geschrieben wird (aber jede Konfiguration in vconsole.conf hat Vorrang, falls vorhanden).
Hinzugefügt in Version 249.
firstboot.timezone
Dieses Anmeldedatum legt die beim ersten Systemstart zu setzende System-Zeitzoneneinstellung fest, anstelle den Benutzer zu fragen.
Hinzugefügt in Version 249.
Beachten Sie, dass standardmäßig die Unit-Datei systemd-firstboot.service so eingerichtet ist, dass sie die aufgeführten Anmeldedaten vom Diensteverwalter erbt. Wird daher der Container mit einem leeren /etc/ erstmalig aufgerufen, kann das Passwort des Benutzers root wie folgt auf »systemd« konfiguriert werden:
# systemd-nspawn --image=… --set-credential=firstboot.locale:de_DE.UTF-8 …
Beachten Sie, dass diese Anmeldedaten nur während des ersten Systemstartprozesses gelesen und angewandt werden. Sobald sie angewandt wurden, bleiben sie für nachfolgende Systemstarts angewandt und die Anmeldedaten werden nicht mehr weiter betrachtet.