GNU/Linux >> Belajar Linux >  >> Linux

Linux – Bagaimana Systemd Memulai Tanpa Default.target?

Dokumentasi systemd dan berbagai sumber online menyatakan bahwa systemd harus memulai (secara default) target "khusus" yang disebut "default.target". Hal ini dimungkinkan untuk mengubah ini dengan systemctl set-default yang pada dasarnya membuat symlink dari default.target ke target yang diinginkan.

Namun di sistem saya tidak ada file seperti itu. Tidak ada /etc/systemd/system/default.target, tidak ada /usr/lib/systemd/system/default.target (sebenarnya file ini tidak ada di seluruh sistem). Sistem masih booting. Pertanyaan saya bagaimana bisa?

(Tentu saja saya bisa membuat symlink sendiri, saya hanya ingin tahu bagaimana mungkin mendefinisikan default tanpa default.target)

Info tambahan:

# systemctl get-default
graphical.target

Jadi target default saya adalah graphics.target. Tapi di mana (dan bagaimana) itu didefinisikan?

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

Jawaban yang Diterima:

Gentoo mengubah lokasi file systemd menjadi /lib/systemd pada bulan Juli 2017. Di sistem saya, saya dapat melihat symlink default di /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

Jika Anda menambahkan symlink di /etc/systemd/system (seperti systemctl set-default tidak), itu akan menimpa pengaturan default distribusi.


Linux
  1. Bagaimana mengubah runlevel pada sistem RHEL 7 Linux

  2. Cara Mengubah Runlevel Default di Debian 10 / Debian 9

  3. Cara Mendaftar Layanan Systemd di Linux

  1. Bagaimana saya mengonfigurasi Vim sebagai editor default saya di Linux

  2. Cara Menemukan Koneksi SSH Aktif di Linux

  3. Linux – Bagaimana Cara Mengatur Afinitas Cpu Default Untuk Semua Daemon Di Systemd?

  1. Cara menggunakan dd di Linux tanpa merusak disk Anda

  2. Cara Menguji Paket Tanpa Menginstalnya Di Linux

  3. Cara membuat layanan Systemd di Linux