GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Comment démarrer Systemd sans Default.target ?

La documentation systemd et diverses sources en ligne déclarent que systemd doit démarrer (par défaut) la cible "spéciale" appelée "default.target". Il est possible de changer cela par systemctl set-default qui crée essentiellement un lien symbolique de default.target vers la cible souhaitée.

Cependant, dans mon système, il n'y a pas un tel fichier. Pas de /etc/systemd/system/default.target, pas de /usr/lib/systemd/system/default.target (en fait ce fichier n'existe pas dans tout le système). Le système est toujours en train de démarrer. Ma question est comment est-ce possible ?

(Bien sûr, je pourrais faire un lien symbolique moi-même, je veux juste savoir comment il est possible de définir une valeur par défaut sans default.target)

Informations supplémentaires :

# systemctl get-default
graphical.target

Ma cible par défaut est donc graphic.target. Mais où (et comment) est-il défini ?

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

Réponse acceptée :

Gentoo a changé l'emplacement des fichiers systemd en /lib/systemd en juillet 2017. Sur mon système, je peux voir le lien symbolique par défaut dans /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

Si vous ajoutez un lien symbolique dans /etc/systemd/system (comme systemctl set-default fait), il remplacera le paramètre par défaut de la distribution.


Linux
  1. Comment utiliser dd sous Linux sans détruire votre disque

  2. Comment changer un niveau d'exécution sur le système RHEL 7 Linux

  3. Comment trouver des connexions SSH actives sous Linux

  4. Comment créer un service Systemd sous Linux

  5. Comment trouver l'adresse IP de la passerelle par défaut sous Linux

Comment désactiver la suspension et l'hibernation sous Linux

Comment changer le fichier journal Sudo par défaut sous Linux

Comment vérifier le niveau d'exécution sous Linux

Comment changer le shell par défaut dans le système Linux

Comment exécuter un script Shell en tant que service SystemD sous Linux

Obarun - Une distribution Linux basée sur Arch sans Systemd