GNU/Linux >> Znalost Linux >  >> Linux

Linux – Jak začít Systemd bez Default.target?

Dokumentace systemd a různé online zdroje deklarují, že systemd by měl (ve výchozím nastavení) spustit „speciální“ cíl nazvaný „default.target“. Je možné to změnit pomocí systemctl set-default, který v podstatě vytvoří symbolický odkaz z default.target na požadovaný cíl.

V mém systému však žádný takový soubor neexistuje. Žádné /etc/systemd/system/default.target, žádné /usr/lib/systemd/system/default.target (ve skutečnosti tento soubor neexistuje v celém systému). Systém se stále spouští. Moje otázka zní, jak to může být?

(Symbolický odkaz bych si samozřejmě mohl udělat sám, jen bych chtěl vědět, jak je možné definovat výchozí hodnotu bez default.target)

Další informace:

# systemctl get-default
graphical.target

Můj výchozí cíl je tedy graphical.target. Ale kde (a jak) je definován?

# 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'.

Přijatá odpověď:

Gentoo změnilo umístění souborů systemd na /lib/systemd v červenci 2017. V mém systému vidím výchozí symbolický odkaz v /lib/systemd/system :

$ ls -l /lib/systemd/system/default.target
lrwxrwxrwx 1 root root 16 Apr  2 15:48 /lib/systemd/system/default.target -> graphical.target

Pokud přidáte symbolický odkaz do /etc/systemd/system (jako systemctl set-default ano), přepíše výchozí nastavení distribuce.


Linux
  1. Jak změnit výchozí úroveň běhu v Debianu 10 / Debianu 9

  2. Jak otestovat balíček bez jeho instalace v Linuxu

  3. jak spustit server tomcat v linuxu?

  1. Jak změnit úroveň běhu v systému RHEL 7 Linux

  2. Jak najít aktivní připojení SSH v systému Linux

  3. Jak vytvořit službu Systemd v Linuxu

  1. Linux – Jak nastavit výchozí afinitu CPU pro všechny démony v Systemd?

  2. Jak najít výchozí IP bránu v Linuxu

  3. Jak vypsat Systemd Services v Linuxu