systemd 문서와 다양한 온라인 리소스에는 systemd가 (기본적으로) "default.target"이라는 "특수" 대상을 시작해야 한다고 명시되어 있습니다. 이 설정은 기본적으로 default.target에서 원하는 대상으로의 심볼릭 링크를 생성하는 systemctl set-default를 통해 변경할 수 있습니다.
하지만 내 시스템에는 그런 파일이 없습니다. /etc/systemd/system/default.target 및 /usr/lib/systemd/system/default.target이 없습니다(사실 이 파일은 전체 시스템에 존재하지 않습니다). 시스템이 아직 부팅 중입니다. 내 질문은 어떻게 이런 일이 일어날 수 있습니까?
(물론 심볼릭 링크를 직접 만들 수도 있습니다. default.target 없이 기본값을 정의하는 방법을 알고 싶습니다.)
추가 정보:
# systemctl get-default
graphical.target
그래서 내 기본 대상은 graphic.target입니다. 하지만 어디서(그리고 어떻게) 정의되나요?
# 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'.
답변1
루트 다이어그램systemd 파일의 위치를 다음으로 변경하십시오./lib/systemd
2017년 7월. 내 시스템에서는 다음 위치에서 기본 심볼릭 링크를 볼 수 있습니다 /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
/etc/systemd/system
(당신처럼 ) 심볼릭 링크를 추가하면 systemctl set-default
배포의 기본 설정이 무시됩니다.