GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Wie startet man Systemd ohne Default.target?

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.


Linux
  1. So verwenden Sie dd unter Linux, ohne Ihre Festplatte zu zerstören

  2. So ändern Sie einen Runlevel auf einem RHEL 7-Linux-System

  3. So finden Sie aktive SSH-Verbindungen unter Linux

  4. So ändern Sie den Standard-Runlevel in Debian 10 / Debian 9

  5. So testen Sie ein Paket, ohne es unter Linux zu installieren

So deaktivieren Sie Suspend und Hibernation in Linux

So ändern Sie die Standard-Sudo-Protokolldatei in Linux

So überprüfen Sie den Runlevel unter Linux

So ändern Sie die Standard-Shell im Linux-System

So führen Sie Shell-Skript als SystemD-Dienst in Linux aus

Obarun – Eine Arch-basierte Linux-Distribution ohne Systemd