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
設定は無視されます。