Die Systemd-Dokumentation und verschiedene Online-Quellen erklären, dass Systemd (standardmäßig) das „spezielle“ Ziel namens „default.target“ starten sollte. Es ist möglich, dies durch systemctl set-default zu ändern, was im Grunde einen Symlink von default.target zum gewünschten Ziel erstellt.
In meinem System gibt es jedoch keine solche Datei. Kein /etc/systemd/system/default.target, kein /usr/lib/systemd/system/default.target (tatsächlich existiert diese Datei nicht im ganzen System). Das System bootet noch. Meine Frage ist, wie kann das sein?
(Natürlich könnte ich selbst einen Symlink erstellen, ich möchte nur wissen, wie es möglich ist, einen Standard ohne default.target zu definieren)
Zusätzliche Informationen:
# systemctl get-default
graphical.target
Mein Standardziel ist also graphic.target. Aber wo (und wie) wird es definiert?
# find /usr/lib -iname "default.target" # no results
# find /etc -iname "default.target" # no results
# lsb_release -a
LSB Version: n/a
Distributor ID: Gentoo
Description: Gentoo Base System release 2.4.1
Release: 2.4.1
Codename: n/a
# systemctl list-units --type=target
UNIT LOAD ACTIVE SUB DESCRIPTION
basic.target loaded active active Basic System
getty.target loaded active active Login Prompts
graphical.target loaded active active Graphical Interface
local-fs-pre.target loaded active active Local File Systems (Pre)
local-fs.target loaded active active Local File Systems
machines.target loaded active active Containers
multi-user.target loaded active active Multi-User System
network-online.target loaded active active Network is Online
network.target loaded active active Network
nss-lookup.target loaded active active Host and Network Name Lookups
paths.target loaded active active Paths
remote-fs.target loaded active active Remote File Systems
slices.target loaded active active Slices
sockets.target loaded active active Sockets
sound.target loaded active active Sound Card
swap.target loaded active active Swap
sysinit.target loaded active active System Initialization
timers.target loaded active active Timers
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.
18 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.
Akzeptierte Antwort:
Gentoo hat den Speicherort der systemd-Dateien in /lib/systemd
geändert im Juli 2017. Auf meinem System kann ich den standardmäßigen Symlink in /lib/systemd/system
sehen :
$ ls -l /lib/systemd/system/default.target
lrwxrwxrwx 1 root root 16 Apr 2 15:48 /lib/systemd/system/default.target -> graphical.target
Wenn Sie einen Symlink in /etc/systemd/system
hinzufügen (wie systemctl set-default
tut), wird die Standardeinstellung der Distribution überschrieben.