사용 버전 : Linux 우분투(레드햇 계열) 24.04.01 LTS 버전
사용한 시스템 지역/언어 : 대한민국/한글
man init 원문 (systemd와 동일한 데이터 출력)
SYSTEMD(1) systemd SYSTEMD(1)
NAME
systemd, init - systemd system and service manager
SYNOPSIS
/usr/lib/systemd/systemd [OPTIONS...]
init [OPTIONS...] {COMMAND}
DESCRIPTION
systemd is a system and service manager for Linux operating systems.
When run as first process on boot (as PID 1), it acts as init system
that brings up and maintains userspace services. Separate instances are
started for logged-in users to start their services.
systemd is usually not invoked directly by the user, but is installed
as the /sbin/init symlink and started during early boot. The user
manager instances are started automatically through the
user@.service(5) service.
For compatibility with SysV, if the binary is called as init and is not
the first process on the machine (PID is not 1), it will execute
telinit and pass all command line arguments unmodified. That means init
and telinit are mostly equivalent when invoked from normal login
sessions. See telinit(8) for more information.
When run as a system instance, systemd interprets the configuration
file system.conf and the files in system.conf.d directories; when run
as a user instance, systemd interprets the configuration file user.conf
and the files in user.conf.d directories. See systemd-system.conf(5)
for more information.
CONCEPTS
systemd provides a dependency system between various entities called
"units" of 11 different types. Units encapsulate various objects that
are relevant for system boot-up and maintenance. The majority of units
are configured in unit configuration files, whose syntax and basic set
of options is described in systemd.unit(5), however some are created
automatically from other configuration files, dynamically from system
state or programmatically at runtime. Units may be "active" (meaning
started, bound, plugged in, ..., depending on the unit type, see
below), or "inactive" (meaning stopped, unbound, unplugged, ...), as
well as in the process of being activated or deactivated, i.e. between
the two states (these states are called "activating", "deactivating").
A special "failed" state is available as well, which is very similar to
"inactive" and is entered when the service failed in some way (process
returned error code on exit, or crashed, an operation timed out, or
after too many restarts). If this state is entered, the cause will be
logged, for later reference. Note that the various unit types may have
a number of additional substates, which are mapped to the five
generalized unit states described here.
The following unit types are available:
1. Service units, which start and control daemons and the processes
they consist of. For details, see systemd.service(5).
2. Socket units, which encapsulate local IPC or network sockets in the
system, useful for socket-based activation. For details about
socket units, see systemd.socket(5), for details on socket-based
activation and other forms of activation, see daemon(7).
3. Target units are useful to group units, or provide well-known
synchronization points during boot-up, see systemd.target(5).
4. Device units expose kernel devices in systemd and may be used to
implement device-based activation. For details, see
systemd.device(5).
5. Mount units control mount points in the file system, for details
see systemd.mount(5).
6. Automount units provide automount capabilities, for on-demand
mounting of file systems as well as parallelized boot-up. See
systemd.automount(5).
7. Timer units are useful for triggering activation of other units
based on timers. You may find details in systemd.timer(5).
8. Swap units are very similar to mount units and encapsulate memory
swap partitions or files of the operating system. They are
described in systemd.swap(5).
9. Path units may be used to activate other services when file system
objects change or are modified. See systemd.path(5).
10. Slice units may be used to group units which manage system
processes (such as service and scope units) in a hierarchical tree
for resource management purposes. See systemd.slice(5).
11. Scope units are similar to service units, but manage foreign
processes instead of starting them as well. See systemd.scope(5).
Units are named as their configuration files. Some units have special
semantics. A detailed list is available in systemd.special(7).
systemd knows various kinds of dependencies, including positive and
negative requirement dependencies (i.e. Requires= and Conflicts=) as
well as ordering dependencies (After= and Before=). NB: ordering and
requirement dependencies are orthogonal. If only a requirement
dependency exists between two units (e.g. foo.service requires
bar.service), but no ordering dependency (e.g. foo.service after
bar.service) and both are requested to start, they will be started in
parallel. It is a common pattern that both requirement and ordering
dependencies are placed between two units. Also note that the majority
of dependencies are implicitly created and maintained by systemd. In
most cases, it should be unnecessary to declare additional dependencies
manually, however it is possible to do this.
Application programs and units (via dependencies) may request state
changes of units. In systemd, these requests are encapsulated as 'jobs'
and maintained in a job queue. Jobs may succeed or can fail, their
execution is ordered based on the ordering dependencies of the units
they have been scheduled for.
On boot systemd activates the target unit default.target whose job is
to activate on-boot services and other on-boot units by pulling them in
via dependencies. Usually, the unit name is just an alias (symlink) for
either graphical.target (for fully-featured boots into the UI) or
multi-user.target (for limited console-only boots for use in embedded
or server environments, or similar; a subset of graphical.target).
However, it is at the discretion of the administrator to configure it
as an alias to any other target unit. See systemd.special(7) for
details about these target units.
On first boot, systemd will enable or disable units according to preset
policy. See systemd.preset(5) and "First Boot Semantics" in machine-
id(5).
systemd only keeps a minimal set of units loaded into memory.
Specifically, the only units that are kept loaded into memory are those
for which at least one of the following conditions is true:
1. It is in an active, activating, deactivating or failed state (i.e.
in any unit state except for "inactive")
2. It has a job queued for it
3. It is a dependency of at least one other unit that is loaded into
memory
4. It has some form of resource still allocated (e.g. a service unit
that is inactive but for which a process is still lingering that
ignored the request to be terminated)
5. It has been pinned into memory programmatically by a D-Bus call
systemd will automatically and implicitly load units from disk — if
they are not loaded yet — as soon as operations are requested for them.
Thus, in many respects, the fact whether a unit is loaded or not is
invisible to clients. Use systemctl list-units --all to comprehensively
list all units currently loaded. Any unit for which none of the
conditions above applies is promptly unloaded. Note that when a unit is
unloaded from memory its accounting data is flushed out too. However,
this data is generally not lost, as a journal log record is generated
declaring the consumed resources whenever a unit shuts down.
Processes systemd spawns are placed in individual Linux control groups
named after the unit which they belong to in the private systemd
hierarchy. (see Control Groups v2[1] for more information about control
groups, or short "cgroups"). systemd uses this to effectively keep
track of processes. Control group information is maintained in the
kernel, and is accessible via the file system hierarchy (beneath
/sys/fs/cgroup/), or in tools such as systemd-cgls(1) or ps(1) (ps xawf
-eo pid,user,cgroup,args is particularly useful to list all processes
and the systemd units they belong to.).
systemd is compatible with the SysV init system to a large degree: SysV
init scripts are supported and simply read as an alternative (though
limited) configuration file format. The SysV /dev/initctl interface is
provided, and compatibility implementations of the various SysV client
tools are available. In addition to that, various established Unix
functionality such as /etc/fstab or the utmp database are supported.
systemd has a minimal transaction system: if a unit is requested to
start up or shut down it will add it and all its dependencies to a
temporary transaction. Then, it will verify if the transaction is
consistent (i.e. whether the ordering of all units is cycle-free). If
it is not, systemd will try to fix it up, and removes non-essential
jobs from the transaction that might remove the loop. Also, systemd
tries to suppress non-essential jobs in the transaction that would stop
a running service. Finally it is checked whether the jobs of the
transaction contradict jobs that have already been queued, and
optionally the transaction is aborted then. If all worked out and the
transaction is consistent and minimized in its impact it is merged with
all already outstanding jobs and added to the run queue. Effectively
this means that before executing a requested operation, systemd will
verify that it makes sense, fixing it if possible, and only failing if
it really cannot work.
Note that transactions are generated independently of a unit's state at
runtime, hence, for example, if a start job is requested on an already
started unit, it will still generate a transaction and wake up any
inactive dependencies (and cause propagation of other jobs as per the
defined relationships). This is because the enqueued job is at the time
of execution compared to the target unit's state and is marked
successful and complete when both satisfy. However, this job also pulls
in other dependencies due to the defined relationships and thus leads
to, in our example, start jobs for any of those inactive units getting
queued as well.
systemd contains native implementations of various tasks that need to
be executed as part of the boot process. For example, it sets the
hostname or configures the loopback network device. It also sets up and
mounts various API file systems, such as /sys/ or /proc/.
For more information about the concepts and ideas behind systemd,
please refer to the Original Design Document[2].
Note that some but not all interfaces provided by systemd are covered
by the Interface Portability and Stability Promise[3].
Units may be generated dynamically at boot and system manager reload
time, for example based on other configuration files or parameters
passed on the kernel command line. For details, see
systemd.generator(7).
The D-Bus API of systemd is described in org.freedesktop.systemd1(5)
and org.freedesktop.LogControl1(5).
Systems which invoke systemd in a container or initrd environment
should implement the Container Interface[4] or initrd Interface[5]
specifications, respectively.
DIRECTORIES
System unit directories
The systemd system manager reads unit configuration from various
directories. Packages that want to install unit files shall place
them in the directory returned by pkg-config systemd
--variable=systemdsystemunitdir. Other directories checked are
/usr/local/lib/systemd/system and /usr/lib/systemd/system. User
configuration always takes precedence. pkg-config systemd
--variable=systemdsystemconfdir returns the path of the system
configuration directory. Packages should alter the content of these
directories only with the enable and disable commands of the
systemctl(1) tool. Full list of directories is provided in
systemd.unit(5).
User unit directories
Similar rules apply for the user unit directories. However, here
the XDG Base Directory specification[6] is followed to find units.
Applications should place their unit files in the directory
returned by pkg-config systemd --variable=systemduserunitdir.
Global configuration is done in the directory reported by
pkg-config systemd --variable=systemduserconfdir. The enable and
disable commands of the systemctl(1) tool can handle both global
(i.e. for all users) and private (for one user) enabling/disabling
of units. Full list of directories is provided in systemd.unit(5).
SysV init scripts directory
The location of the SysV init script directory varies between
distributions. If systemd cannot find a native unit file for a
requested service, it will look for a SysV init script of the same
name (with the .service suffix removed).
SysV runlevel link farm directory
The location of the SysV runlevel link farm directory varies
between distributions. systemd will take the link farm into account
when figuring out whether a service shall be enabled. Note that a
service unit with a native unit configuration file cannot be
started by activating it in the SysV runlevel link farm.
SIGNALS
SIGTERM
Upon receiving this signal the systemd system manager serializes
its state, reexecutes itself and deserializes the saved state
again. This is mostly equivalent to systemctl daemon-reexec.
systemd user managers will start the exit.target unit when this
signal is received. This is mostly equivalent to systemctl --user
start exit.target --job-mode=replace-irreversibly.
SIGINT
Upon receiving this signal the systemd system manager will start
the ctrl-alt-del.target unit. This is mostly equivalent to
systemctl start ctrl-alt-del.target
--job-mode=replace-irreversibly. If this signal is received more
than 7 times per 2s, an immediate reboot is triggered. Note that
pressing Ctrl+Alt+Del on the console will trigger this signal.
Hence, if a reboot is hanging, pressing Ctrl+Alt+Del more than 7
times in 2 seconds is a relatively safe way to trigger an immediate
reboot.
systemd user managers treat this signal the same way as SIGTERM.
SIGWINCH
When this signal is received the systemd system manager will start
the kbrequest.target unit. This is mostly equivalent to systemctl
start kbrequest.target.
This signal is ignored by systemd user managers.
SIGPWR
When this signal is received the systemd manager will start the
sigpwr.target unit. This is mostly equivalent to systemctl start
sigpwr.target.
SIGUSR1
When this signal is received the systemd manager will try to
reconnect to the D-Bus bus.
SIGUSR2
When this signal is received the systemd manager will log its
complete state in human-readable form. The data logged is the same
as printed by systemd-analyze dump.
SIGHUP
Reloads the complete daemon configuration. This is mostly
equivalent to systemctl daemon-reload.
SIGRTMIN+0
Enters default mode, starts the default.target unit. This is mostly
equivalent to systemctl isolate default.target.
SIGRTMIN+1
Enters rescue mode, starts the rescue.target unit. This is mostly
equivalent to systemctl isolate rescue.target.
SIGRTMIN+2
Enters emergency mode, starts the emergency.service unit. This is
mostly equivalent to systemctl isolate emergency.service.
SIGRTMIN+3
Halts the machine, starts the halt.target unit. This is mostly
equivalent to systemctl start halt.target
--job-mode=replace-irreversibly.
SIGRTMIN+4
Powers off the machine, starts the poweroff.target unit. This is
mostly equivalent to systemctl start poweroff.target
--job-mode=replace-irreversibly.
SIGRTMIN+5
Reboots the machine, starts the reboot.target unit. This is mostly
equivalent to systemctl start reboot.target
--job-mode=replace-irreversibly.
SIGRTMIN+6
Reboots the machine via kexec, starts the kexec.target unit. This
is mostly equivalent to systemctl start kexec.target
--job-mode=replace-irreversibly.
SIGRTMIN+7
Reboots userspace, starts the soft-reboot.target unit. This is
mostly equivalent to systemctl start soft-reboot.target
--job-mode=replace-irreversibly.
Added in version 254.
SIGRTMIN+13
Immediately halts the machine.
SIGRTMIN+14
Immediately powers off the machine.
SIGRTMIN+15
Immediately reboots the machine.
SIGRTMIN+16
Immediately reboots the machine with kexec.
SIGRTMIN+17
Immediately reboots the userspace.
Added in version 254.
SIGRTMIN+20
Enables display of status messages on the console, as controlled
via systemd.show_status=1 on the kernel command line.
SIGRTMIN+21
Disables display of status messages on the console, as controlled
via systemd.show_status=0 on the kernel command line.
SIGRTMIN+22
Sets the service manager's log level to "debug", in a fashion
equivalent to systemd.log_level=debug on the kernel command line.
SIGRTMIN+23
Restores the log level to its configured value. The configured
value is derived from – in order of priority – the value specified
with systemd.log-level= on the kernel command line, or the value
specified with LogLevel= in the configuration file, or the built-in
default of "info".
Added in version 239.
SIGRTMIN+24
Immediately exits the manager (only available for --user
instances).
Added in version 195.
SIGRTMIN+25
Upon receiving this signal the systemd manager will reexecute
itself. This is mostly equivalent to systemctl daemon-reexec except
that it will be done asynchronously.
The systemd system manager treats this signal the same way as
SIGTERM.
Added in version 250.
SIGRTMIN+26
Restores the log target to its configured value. The configured
value is derived from – in order of priority – the value specified
with systemd.log-target= on the kernel command line, or the value
specified with LogTarget= in the configuration file, or the
built-in default.
Added in version 239.
SIGRTMIN+27, SIGRTMIN+28
Sets the log target to "console" on SIGRTMIN+27 (or "kmsg" on
SIGRTMIN+28), in a fashion equivalent to systemd.log_target=console
(or systemd.log_target=kmsg on SIGRTMIN+28) on the kernel command
line.
Added in version 239.
ENVIRONMENT
The environment block for the system manager is initially set by the
kernel. (In particular, "key=value" assignments on the kernel command
line are turned into environment variables for PID 1). For the user
manager, the system manager sets the environment as described in the
"Environment Variables in Spawned Processes" section of
systemd.exec(5). The DefaultEnvironment= setting in the system manager
applies to all services including user@.service. Additional entries may
be configured (as for any other service) through the Environment= and
EnvironmentFile= settings for user@.service (see systemd.exec(5)).
Also, additional environment variables may be set through the
ManagerEnvironment= setting in systemd-system.conf(5) and systemd-
user.conf(5).
Some of the variables understood by systemd:
$SYSTEMD_LOG_LEVEL
The maximum log level of emitted messages (messages with a higher
log level, i.e. less important ones, will be suppressed). Either
one of (in order of decreasing importance) emerg, alert, crit, err,
warning, notice, info, debug, or an integer in the range 0...7. See
syslog(3) for more information.
This can be overridden with --log-level=.
$SYSTEMD_LOG_COLOR
A boolean. If true, messages written to the tty will be colored
according to priority.
This can be overridden with --log-color=.
$SYSTEMD_LOG_TIME
A boolean. If true, console log messages will be prefixed with a
timestamp.
This can be overridden with --log-time=.
Added in version 246.
$SYSTEMD_LOG_LOCATION
A boolean. If true, messages will be prefixed with a filename and
line number in the source code where the message originates.
This can be overridden with --log-location=.
$SYSTEMD_LOG_TID
A boolean. If true, messages will be prefixed with the current
numerical thread ID (TID).
Added in version 247.
$SYSTEMD_LOG_TARGET
The destination for log messages. One of console (log to the
attached tty), console-prefixed (log to the attached tty but with
prefixes encoding the log level and "facility", see syslog(3), kmsg
(log to the kernel circular log buffer), journal (log to the
journal), journal-or-kmsg (log to the journal if available, and to
kmsg otherwise), auto (determine the appropriate log target
automatically, the default), null (disable log output).
This can be overridden with --log-target=.
$SYSTEMD_LOG_RATELIMIT_KMSG
Whether to ratelimit kmsg or not. Takes a boolean. Defaults to
"true". If disabled, systemd will not ratelimit messages written to
kmsg.
Added in version 254.
$XDG_CONFIG_HOME, $XDG_CONFIG_DIRS, $XDG_DATA_HOME, $XDG_DATA_DIRS
The systemd user manager uses these variables in accordance to the
XDG Base Directory specification[6] to find its configuration.
$SYSTEMD_UNIT_PATH, $SYSTEMD_GENERATOR_PATH,
$SYSTEMD_ENVIRONMENT_GENERATOR_PATH
Controls where systemd looks for unit files and generators.
These variables may contain a list of paths, separated by colons
(":"). When set, if the list ends with an empty component ("...:"),
this list is prepended to the usual set of paths. Otherwise, the
specified list replaces the usual set of paths.
$SYSTEMD_PAGER
Pager to use when --no-pager is not given; overrides $PAGER. If
neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known
pager implementations are tried in turn, including less(1) and
more(1), until one is found. If no pager implementation is
discovered no pager is invoked. Setting this environment variable
to an empty string or the value "cat" is equivalent to passing
--no-pager.
Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well
as $PAGER) will be silently ignored.
$SYSTEMD_LESS
Override the options passed to less (by default "FRSXMK").
Users might want to change two options in particular:
K
This option instructs the pager to exit immediately when Ctrl+C
is pressed. To allow less to handle Ctrl+C itself to switch
back to the pager command prompt, unset this option.
If the value of $SYSTEMD_LESS does not include "K", and the
pager that is invoked is less, Ctrl+C will be ignored by the
executable, and needs to be handled by the pager.
X
This option instructs the pager to not send termcap
initialization and deinitialization strings to the terminal. It
is set by default to allow command output to remain visible in
the terminal even after the pager exits. Nevertheless, this
prevents some pager functionality from working, in particular
paged output cannot be scrolled with the mouse.
See less(1) for more discussion.
$SYSTEMD_LESSCHARSET
Override the charset passed to less (by default "utf-8", if the
invoking terminal is determined to be UTF-8 compatible).
$SYSTEMD_PAGERSECURE
Takes a boolean argument. When true, the "secure" mode of the pager
is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set
at all, secure mode is enabled if the effective UID is not the same
as the owner of the login session, see geteuid(2) and
sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set
when invoking the pager, and the pager shall disable commands that
open or create new files or start new subprocesses. When
$SYSTEMD_PAGERSECURE is not set at all, pagers which are not known
to implement secure mode will not be used. (Currently only less(1)
implements secure mode.)
Note: when commands are invoked with elevated privileges, for
example under sudo(8) or pkexec(1), care must be taken to ensure
that unintended interactive features are not enabled. "Secure" mode
for the pager may be enabled automatically as describe above.
Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited
environment allows the user to invoke arbitrary commands. Note that
if the $SYSTEMD_PAGER or $PAGER variables are to be honoured,
$SYSTEMD_PAGERSECURE must be set too. It might be reasonable to
completely disable the pager using --no-pager instead.
$SYSTEMD_COLORS
Takes a boolean argument. When true, systemd and related utilities
will use colors in their output, otherwise the output will be
monochrome. Additionally, the variable can take one of the
following special values: "16", "256" to restrict the use of colors
to the base 16 or 256 ANSI colors, respectively. This can be
specified to override the automatic decision based on $TERM and
what the console is connected to.
$SYSTEMD_URLIFY
The value must be a boolean. Controls whether clickable links
should be generated in the output for terminal emulators supporting
this. This can be specified to override the decision that systemd
makes based on $TERM and other conditions.
$LISTEN_PID, $LISTEN_FDS, $LISTEN_FDNAMES
Set by systemd for supervised processes during socket-based
activation. See sd_listen_fds(3) for more information.
$NOTIFY_SOCKET
Set by systemd for supervised processes for status and start-up
completion notification. See sd_notify(3) for more information.
For further environment variables understood by systemd and its various
components, see Known Environment Variables[7].
KERNEL COMMAND LINE
When run as the system instance, systemd parses a number of options
listed below. They can be specified as kernel command line arguments
which are parsed from a number of sources depending on the environment
in which systemd is executed. If run inside a Linux container, these
options are parsed from the command line arguments passed to systemd
itself, next to any of the command line options listed in the Options
section above. If run outside of Linux containers, these arguments are
parsed from /proc/cmdline and from the "SystemdOptions" EFI variable
(on EFI systems) instead. Options from /proc/cmdline have higher
priority.
Note: use of "SystemdOptions" is deprecated.
The following variables are understood:
systemd.unit=, rd.systemd.unit=
Overrides the unit to activate on boot. Defaults to default.target.
This may be used to temporarily boot into a different boot unit,
for example rescue.target or emergency.service. See
systemd.special(7) for details about these units. The option
prefixed with "rd." is honored only in the initrd, while the one
that is not prefixed only in the main system.
systemd.dump_core
Takes a boolean argument or enables the option if specified without
an argument. If enabled, the systemd manager (PID 1) dumps core
when it crashes. Otherwise, no core dump is created. Defaults to
enabled.
Added in version 233.
systemd.crash_chvt
Takes a positive integer, or a boolean argument. Can be also
specified without an argument, with the same effect as a positive
boolean. If a positive integer (in the range 1–63) is specified,
the system manager (PID 1) will activate the specified virtual
terminal when it crashes. Defaults to disabled, meaning that no
such switch is attempted. If set to enabled, the virtual terminal
the kernel messages are written to is used instead.
Added in version 233.
systemd.crash_shell
Takes a boolean argument or enables the option if specified without
an argument. If enabled, the system manager (PID 1) spawns a shell
when it crashes, after a 10s delay. Otherwise, no shell is spawned.
Defaults to disabled, for security reasons, as the shell is not
protected by password authentication.
Added in version 233.
systemd.crash_reboot
Takes a boolean argument or enables the option if specified without
an argument. If enabled, the system manager (PID 1) will reboot the
machine automatically when it crashes, after a 10s delay.
Otherwise, the system will hang indefinitely. Defaults to disabled,
in order to avoid a reboot loop. If combined with
systemd.crash_shell, the system is rebooted after the shell exits.
Added in version 227.
systemd.confirm_spawn
Takes a boolean argument or a path to the virtual console where the
confirmation messages should be emitted. Can be also specified
without an argument, with the same effect as a positive boolean. If
enabled, the system manager (PID 1) asks for confirmation when
spawning processes using /dev/console. If a path or a console name
(such as "ttyS0") is provided, the virtual console pointed to by
this path or described by the give name will be used instead.
Defaults to disabled.
Added in version 233.
systemd.service_watchdogs=
Takes a boolean argument. If disabled, all service runtime
watchdogs (WatchdogSec=) and emergency actions (e.g. OnFailure= or
StartLimitAction=) are ignored by the system manager (PID 1); see
systemd.service(5). Defaults to enabled, i.e. watchdogs and failure
actions are processed normally. The hardware watchdog is not
affected by this option.
Added in version 237.
systemd.show_status
Takes a boolean argument or the constants error and auto. Can be
also specified without an argument, with the same effect as a
positive boolean. If enabled, the systemd manager (PID 1) shows
terse service status updates on the console during bootup. With
error, only messages about failures are shown, but boot is
otherwise quiet. auto behaves like false until there is a
significant delay in boot. Defaults to enabled, unless quiet is
passed as kernel command line option, in which case it defaults to
error. If specified overrides the system manager configuration file
option ShowStatus=, see systemd-system.conf(5).
Added in version 233.
systemd.status_unit_format=
Takes name, description or combined as the value. If name, the
system manager will use unit names in status messages. If combined,
the system manager will use unit names and description in status
messages. When specified, overrides the system manager
configuration file option StatusUnitFormat=, see systemd-
system.conf(5).
Added in version 243.
systemd.log_color, systemd.log_level=, systemd.log_location,
systemd.log_target=, systemd.log_time, systemd.log_tid,
systemd.log_ratelimit_kmsg
Controls log output, with the same effect as the
$SYSTEMD_LOG_COLOR, $SYSTEMD_LOG_LEVEL, $SYSTEMD_LOG_LOCATION,
$SYSTEMD_LOG_TARGET, $SYSTEMD_LOG_TIME, $SYSTEMD_LOG_TID and
$SYSTEMD_LOG_RATELIMIT_KMSG environment variables described above.
systemd.log_color, systemd.log_location, systemd.log_time,
systemd.log_tid and systemd.log_ratelimit_kmsg can be specified
without an argument, with the same effect as a positive boolean.
systemd.default_standard_output=, systemd.default_standard_error=
Controls default standard output and error output for services and
sockets. That is, controls the default for StandardOutput= and
StandardError= (see systemd.exec(5) for details). Takes one of
inherit, null, tty, journal, journal+console, kmsg, kmsg+console.
If the argument is omitted systemd.default-standard-output=
defaults to journal and systemd.default-standard-error= to inherit.
systemd.setenv=
Takes a string argument in the form VARIABLE=VALUE. May be used to
set default environment variables to add to forked child processes.
May be used more than once to set multiple variables.
systemd.machine_id=
Takes a 32 character hex value to be used for setting the
machine-id. Intended mostly for network booting where the same
machine-id is desired for every boot.
Added in version 229.
systemd.set_credential=, systemd.set_credential_binary=
Sets a system credential, which can then be propagated to system
services using the ImportCredential= or LoadCredential= setting,
see systemd.exec(5) for details. Takes a pair of credential name
and value, separated by a colon. The systemd.set_credential=
parameter expects the credential value in literal text form, the
systemd.set_credential_binary= parameter takes binary data encoded
in Base64. Note that the kernel command line is typically
accessible by unprivileged programs in /proc/cmdline. Thus, this
mechanism is troff:<standard input>:1550: warning [p 16, 6.5i]: cannot break line
not suitable for transferring sensitive data. Use it
only for data that is not sensitive (e.g. public keys/certificates,
rather than private keys), or in testing/debugging environments.
For further information see System and Service Credentials[8]
documentation.
Added in version 251.
systemd.import_credentials=
Takes a boolean argument. If false disables importing credentials
from the kernel command line, the DMI/SMBIOS OEM string table, the
qemu_fw_cfg subsystem or the EFI kernel stub.
Added in version 251.
quiet
Turn off status output at boot, much like systemd.show_status=no
would. Note that this option is also read by the kernel itself and
disables kernel log output. Passing this option hence turns off the
usual output from both the system manager and the kernel.
Added in version 186.
debug
Turn on debugging output. This is equivalent to
systemd.log_level=debug. Note that this option is also read by the
kernel itself and enables kernel debug output. Passing this option
hence turns on the debug output from both the system manager and
the kernel.
Added in version 205.
emergency, rd.emergency, -b
Boot into emergency mode. This is equivalent to
systemd.unit=emergency.target or rd.systemd.unit=emergency.target,
respectively, and provided for compatibility reasons and to be
easier to type.
Added in version 186.
rescue, rd.rescue, single, s, S, 1
Boot into rescue mode. This is equivalent to
systemd.unit=rescue.target or rd.systemd.unit=rescue.target,
respectively, and provided for compatibility reasons and to be
easier to type.
Added in version 186.
2, 3, 4, 5
Boot into the specified legacy SysV runlevel. These are equivalent
to systemd.unit=runlevel2.target, systemd.unit=runlevel3.target,
systemd.unit=runlevel4.target, and systemd.unit=runlevel5.target,
respectively, and provided for compatibility reasons and to be
easier to type.
Added in version 186.
locale.LANG=, locale.LANGUAGE=, locale.LC_CTYPE=, locale.LC_NUMERIC=,
locale.LC_TIME=, locale.LC_COLLATE=, locale.LC_MONETARY=,
locale.LC_MESSAGES=, locale.LC_PAPER=, locale.LC_NAME=,
locale.LC_ADDRESS=, locale.LC_TELEPHONE=, locale.LC_MEASUREMENT=,
locale.LC_IDENTIFICATION=
Set the system locale to use. This overrides the settings in
/etc/locale.conf. For more information, see locale.conf(5) and
locale(7).
Added in version 186.
For other kernel command line parameters understood by components of
the core OS, please refer to kernel-command-line(7).
SYSTEM CREDENTIALS
During initialization the service manager will import credentials from
various sources into the system's set of credentials, which can then be
propagated into services and consumed by generators:
• When the service manager first initializes it will read system
credentials from SMBIOS Type 11 vendor strings
io.systemd.credential:name=value, and
io.systemd.credential.binary:name=value.
• At the same time it will import credentials from QEMU "fw_cfg".
(Note that the SMBIOS mechanism is generally preferred, because it
is faster and generic.)
• Credentials may be passed via the kernel command line, using the
systemd.set-credential= parameter, see above.
• Credentials may be passed from the UEFI environment via systemd-
stub(7).
• When the service manager is invoked during the initrd → host
transition it will import all files in /run/credentials/@initrd/ as
system credentials.
Invoke systemd-creds(1) as follows to see the list of credentials
passed into the system:
# systemd-creds --system list
For further information see System and Service Credentials[8]
documentation.
The service manager when run as PID 1 consumes the following system
credentials:
vmm.notify_socket
Contains a AF_VSOCK or AF_UNIX address where to send a READY=1
notification datagram when the system has finished booting. See
sd_notify(3) for more information. Note that in case the hypervisor
does not support SOCK_DGRAM over AF_VSOCK, SOCK_SEQPACKET will be
tried instead. The credential payload for AF_VSOCK should be in the
form "vsock:CID:PORT".
This feature is useful for hypervisors/VMMs or other processes on
the host to receive a notification via VSOCK when a virtual machine
has finished booting.
Added in version 254.
system.machine_id
Takes a 128bit hexadecimal ID to initialize /etc/machine-id from,
if the file is not set up yet. See machine-id(5) for details.
Added in version 254.
OPTIONS
systemd is only very rarely invoked directly, since it is started early
and is already running by the time users may interact with it.
Normally, tools like systemctl(1) are used to give commands to the
manager. Since systemd is usually not invoked directly, the options
listed below are mostly useful for debugging and special purposes.
Introspection and debugging options
Those options are used for testing and introspection, and systemd may
be invoked with them at any time:
--dump-configuration-items
Dump understood unit configuration items. This outputs a terse but
complete list of configuration items understood in unit definition
files.
--dump-bus-properties
Dump exposed bus properties. This outputs a terse but complete list
of properties exposed on D-Bus.
Added in version 239.
--test
Determine the initial start-up transaction (i.e. the list of jobs
enqueued at start-up), dump it and exit — without actually
executing any of the determined jobs. This option is useful for
debugging only. Note that during regular service manager start-up
additional units not shown by this operation may be started,
because hardware, socket, bus or other kinds of activation might
add additional jobs as the transaction is executed. Use --system to
request the initial transaction of the system service manager (this
is also the implied default), combine with --user to request the
initial transaction of the per-user service manager instead.
--system, --user
When used in conjunction with --test, selects whether to calculate
the initial transaction for the system instance or for a per-user
instance. These options have no effect when invoked without --test,
as during regular (i.e. non---test) invocations the service manager
will automatically detect whether it shall operate in system or
per-user mode, by checking whether the PID it is run as is 1 or
not. Note that it is not supported booting and maintaining a system
with the service manager running in --system mode but with a PID
other than 1.
-h, --help
Print a short help text and exit.
--version
Print a short version string and exit.
Options that duplicate kernel command line settings
Those options correspond directly to options listed above in "Kernel
Command Line". Both forms may be used equivalently for the system
manager, but it is recommended to use the forms listed above in this
context, because they are properly namespaced. When an option is
specified both on the kernel command line and as a normal command line
argument, the latter has higher precedence.
When systemd is used as a user manager, the kernel command line is
ignored and only the options described below are understood.
Nevertheless, systemd is usually started in this mode through the
user@.service(5) service, which is shared between all users. It may be
more convenient to use configuration files to modify settings (see
systemd-user.conf(5)), or environment variables. See the "Environment"
section above for a discussion of how the environment block is set.
--unit=
Set default unit to activate on startup. If not specified, defaults
to default.target. See systemd.unit= above.
--dump-core
Enable core dumping on crash. This switch has no effect when
running as user instance. Same as systemd.dump_core= above.
--crash-vt=VT
Switch to a specific virtual console (VT) on crash. This switch has
no effect when running as user instance. Same as
systemd.crash_chvt= above (but not the different spelling!).
Added in version 227.
--crash-shell
Run a shell on crash. This switch has no effect when running as
user instance. See systemd.crash_shell= above.
--crash-reboot
Automatically reboot the system on crash. This switch has no effect
when running as user instance. See systemd.crash_reboot above.
Added in version 227.
--confirm-spawn
Ask for confirmation when spawning processes. This switch has no
effect when run as user instance. See systemd.confirm_spawn above.
--show-status
Show terse unit status information on the console during boot-up
and shutdown. See systemd.show_status above.
Added in version 244.
--log-color
Highlight important log messages. See systemd.log_color above.
Added in version 244.
--log-level=
Set log level. See systemd.log_level above.
--log-location
Include code location in log messages. See systemd.log_location
above.
Added in version 244.
--log-target=
Set log target. See systemd.log_target above.
--log-time=
Prefix console messages with timestamp. See systemd.log_time above.
Added in version 246.
--machine-id=
Override the machine-id set on the hard drive. See
systemd.machine_id= above.
Added in version 229.
--service-watchdogs
Globally enable/disable all service watchdog timeouts and emergency
actions. See systemd.service_watchdogs above.
Added in version 237.
--default-standard-output=, --default-standard-error=
Sets the default output or error output for all services and
sockets, respectively. See systemd.default_standard_output= and
systemd.default_standard_error= above.
SOCKETS AND FIFOS
/run/systemd/notify
Daemon status notification socket. This is an AF_UNIX datagram
socket and is used to implement the daemon notification logic as
implemented by sd_notify(3).
/run/systemd/private
Used internally as communication channel between systemctl(1) and
the systemd process. This is an AF_UNIX stream socket. This
interface is private to systemd and should not be used in external
projects.
/dev/initctl
Limited compatibility support for the SysV client interface, as
implemented by the systemd-initctl.service unit. This is a named
pipe in the file system. This interface is obsolete and should not
be used in new applications.
HISTORY
systemd 252
Kernel command-line arguments systemd.unified_cgroup_hierarchy and
systemd.legacy_systemd_cgroup_controller were deprecated. Please
switch to the unified cgroup hierarchy.
Added in version 252.
SEE ALSO
The systemd Homepage[9], systemd-system.conf(5), locale.conf(5),
systemctl(1), journalctl(1), systemd-notify(1), daemon(7), sd-
daemon(3), org.freedesktop.systemd1(5), systemd.unit(5),
systemd.special(7), pkg-config(1), kernel-command-line(7), bootup(7),
systemd.directives(7)
NOTES
1. Control Groups v2
https://docs.kernel.org/admin-guide/cgroup-v2.html
2. Original Design Document
https://0pointer.de/blog/projects/systemd.html
3. Interface Portability and Stability Promise
https://systemd.io/PORTABILITY_AND_STABILITY/
4. Container Interface
https://systemd.io/CONTAINER_INTERFACE
5. initrd Interface
https://systemd.io/INITRD_INTERFACE/
6. XDG Base Directory specification
https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
7. Known Environment Variables
https://systemd.io/ENVIRONMENT
8. System and Service Credentials
https://systemd.io/CREDENTIALS
9. systemd Homepage
https://systemd.io/
systemd 255 SYSTEMD(1)
man init 번역기 번역본
Systemd (1) Systemd Systemd (1)
이름
Systemd, Init -Systemd System 및 Service Manager
개요
/usr/lib/systemd/systemd [옵션 ...]
init [옵션 ...] {명령}
설명
SystemD는 Linux 운영 체제의 시스템 및 서비스 관리자입니다.
부팅에서 첫 번째 프로세스로 실행되면 (PID 1)이 Init 시스템 역할을합니다.
이는 사용자 공간 서비스를 제기하고 유지합니다. 별도의 인스턴스입니다
로그인 한 사용자가 서비스를 시작하도록 시작했습니다.
SystemD는 일반적으로 사용자가 직접 호출하지 않지만 설치됩니다.
/sbin /init symlink로서 일찍 부팅하는 동안 시작했습니다. 사용자
관리자 인스턴스는
user@.Service (5) 서비스.
SYSV와의 호환성을 위해 이진을 init로 호출하고
기계의 첫 번째 프로세스 (PID는 1이 아닙니다).
모든 명령 줄 인수를 수정하지 않은 텔린트 및 통과. 그것은 init를 의미합니다
텔린은 정상 로그인에서 호출 될 때 대부분 동일합니다.
세션. 자세한 내용은 Telinit (8)를 참조하십시오.
시스템 인스턴스로 실행되면 SystemD는 구성을 해석합니다.
System.conf.d 디렉토리의 파일 System.conf 및 파일; 실행할 때
사용자 인스턴스로 SystemD는 구성 파일 user.conf를 해석합니다.
그리고 user.conf.d 디렉토리의 파일. SystemD-System.conf (5) 참조
자세한 정보.
개념
SystemD는 호출 된 다양한 엔티티간에 종속성 시스템을 제공합니다
11 가지 유형의 "단위". 유닛은 다양한 물체를 캡슐화합니다
시스템 부팅 및 유지 보수와 관련이 있습니다. 대부분의 단위
구문 및 기본 세트의 단위 구성 파일로 구성됩니다.
옵션의 옵션은 SystemD.Unit (5)에 설명되어 있지만 일부는 생성됩니다.
시스템과 동적으로 다른 구성 파일에서 자동으로
런타임에 상태 또는 프로그래밍 방식으로. 단위는 "활성"(의미) 일 수 있습니다
시작, 바운드, 플러그인, ..., 단위 유형에 따라
아래) 또는 "비활성"(의미가 중지, 바운드, 플러그를 뽑지 못한다)
활성화 또는 비활성화 과정에서, 즉
두 상태 (이 상태는 "활성화", "비활성화").
특별한 "실패한"상태도 사용할 수 있으며 이는 매우 유사합니다.
"비활성"이며 서비스가 어떤 식 으로든 실패했을 때 입력됩니다 ( 프로세스
종료시 반환 된 오류 코드 또는 충돌, 작업 시간이 초과되거나
너무 많은 재시작 후). 이 상태가 입력되면 원인이 될 것입니다
나중에 참조하기 위해 기록. 다양한 단위 유형에 가질 수 있습니다
다수의 추가 변전소.
여기에 설명 된 일반화 된 단위 상태.
다음 단위 유형을 사용할 수 있습니다.
1. 데몬과 프로세스를 시작하고 제어하는 서비스 단위
그들은 구성합니다. 자세한 내용은 SystemD.Service (5)를 참조하십시오.
2. 로컬 IPC 또는 네트워크 소켓을 캡슐화하는 소켓 장치
소켓 기반 활성화에 유용한 시스템. 자세한 내용은
소켓 단위는 소켓 기반에 대한 자세한 내용은 SystemD.Socket (5)을 참조하십시오
활성화 및 기타 형태의 활성화, 데몬 (7)을 참조하십시오.
3. 대상 단위는 단위 그룹에 유용하거나 잘 알려진 것을 제공합니다.
부팅 중에 동기화 지점에서 SystemD.Target (5)을 참조하십시오.
4. 장치 장치는 시스템에 커널 장치를 노출 시키며 사용될 수 있습니다.
장치 기반 활성화를 구현하십시오. 자세한 내용은 참조하십시오
Systemd.device (5).
5. 마운트 단위 세부 사항은 파일 시스템의 마운트 포인트를 제어합니다.
SystemD.mount (5)를 참조하십시오.
6. Automount 장치는 주문형 기능을 제공합니다
병렬화 된 부팅뿐만 아니라 파일 시스템 장착. 보다
SystemD.Automount (5).
7. 타이머 유닛은 다른 장치의 활성화를 트리거하는 데 유용합니다.
타이머를 기반으로합니다. SystemD.Timer (5)에서 세부 사항을 찾을 수 있습니다.
8. 스왑 장치는 마운트 장치와 매우 유사하며 메모리를 캡슐화합니다.
운영 체제의 파티션 또는 파일을 교체합니다. 그들은입니다
SystemD.Swap (5)에 설명되어 있습니다.
9. 파일 시스템시 Path Units는 다른 서비스를 활성화하는 데 사용될 수 있습니다.
객체가 변경되거나 수정됩니다. SystemD.Path (5)를 참조하십시오.
10. 슬라이스 장치는 시스템을 관리하는 단위 그룹에 사용될 수 있습니다.
계층 적 트리의 프로세스 (예 : 서비스 및 스코프 단위)
자원 관리 목적. Systemd.slice (5)를 참조하십시오.
11. 스코프 단위는 서비스 단위와 비슷하지만 외국 관리
프로세스를 시작하는 대신 프로세스. SystemD.Scope (5)를 참조하십시오.
장치는 구성 파일로 명명되었습니다. 일부 유닛은 특별합니다
의미론. 자세한 목록은 SystemD.special (7)에서 사용할 수 있습니다.
Systemd는 긍정적 인 것과 같은 다양한 종류의 의존성을 알고 있습니다
부정적인 요구 사항 종속성 (예 : 요구 = 및 충돌 =)
순서 종속성 (후 = 및 전 =). NB : 주문 및
요구 사항 종속성은 직교입니다. 요구 사항 만
의존성은 두 단위 사이에 존재합니다 (예 : Foo.Service 요구 사항
Bar.Service)이지만 주문 의존성은 없습니다 (예 : foo.service 이후
Bar.Service) 및 둘 다 시작을 요청하면 시작됩니다.
평행한. 요구 사항과 주문이 모두 공통적 인 패턴입니다.
종속성은 두 단위 사이에 배치됩니다. 또한 대다수
종속성의 종속성은 SystemD에 의해 암시 적으로 생성되고 유지됩니다. ~ 안에
대부분의 경우 추가 종속성을 선언하는 것은 불필요해야합니다.
그러나 수동으로이를 수행 할 수 있습니다.
응용 프로그램 및 단위 (종속성을 통해)는 상태를 요청할 수 있습니다
단위의 변경. SystemD에서 이러한 요청은 '작업'으로 캡슐화됩니다.
작업 대기열에서 유지되었습니다. 일자리가 성공하거나 실패 할 수 있습니다
실행은 단위의 순서 종속성에 따라 주문됩니다.
그들은 예정되어 있습니다.
Boot Systemd에서 대상 단위 기본값을 활성화합니다.
온 부팅 서비스 및 기타 온 부팅 장치를 활성화하여
종속성을 통해. 일반적으로 단위 이름은 단지 별칭 (Symlink)입니다.
graphical.target (UI에 완전히 기능 한 부츠의 경우) 또는
Multi-User.target (제한된 콘솔 전용 부츠 용
또는 서버 환경 또는 이와 유사한; Graphical.target의 하위 집합).
그러나 관리자의 재량에 따라
다른 대상 단위와의 별칭으로. Systemd.special (7)을 참조하십시오
이 대상 단위에 대한 자세한 내용.
첫 번째 부팅에서 SystemD는 사전 설정에 따라 장치를 활성화 또는 비활성화합니다.
정책. 기계의 SystemD.Preset (5) 및 "First Boot Semantics"를 참조하십시오.
ID (5).
SystemD는 최소한의 장치 세트 만 메모리에로드합니다.
특히 메모리에로드 된 유일한 단위는
다음 조건 중 하나 이상이 사실입니다.
1. 그것은 적극적이고 활성화, 비활성화 또는 실패 상태에있다 (즉, 즉.
"비활성"을 제외한 모든 단위 상태에서
2. 그것은 그것을 위해 대기하는 일자리가 있습니다
3.로드 된 적어도 하나의 다른 장치의 종속성입니다.
메모리
4. 여전히 할당 된 자원의 형태가 있습니다 (예 : 서비스 장치
그것은 비활성이지만 프로세스가 여전히 남아 있습니다.
종료 요청을 무시했습니다)
5. D- 버스 호출에 의해 프로그래밍 방식으로 메모리에 고정되었습니다.
SystemD는 디스크에서 자동으로 및 암시 적으로로드됩니다.
그들은 아직로드되지 않았습니다 - 운영이 요청 되 자마자.
따라서 많은 측면에서 장치가로드되었는지 여부는
고객에게는 보이지 않습니다. SystemCTL List-Units를 모두 사용하여 포괄적으로 사용하십시오
현재로드 된 모든 장치를 나열하십시오. 아무것도없는 단위
위의 조건은 즉시 언로드됩니다. 장치가있을 때
메모리에서 언로드 된 회계 데이터도 플러시됩니다. 하지만,
저널 로그 레코드가 생성 되므로이 데이터는 일반적으로 손실되지 않습니다.
장치가 종료 될 때마다 소비 된 리소스를 선언합니다.
Processes Systemd Spawn은 개별 Linux 제어 그룹에 배치됩니다.
개인 시스템에 속한 단위의 이름을 따서 명명되었습니다.
계층. (제어에 대한 자세한 내용은 제어 그룹 v2 [1]를 참조하십시오
그룹 또는 짧은 "cgroups"). SystemD는 이것을 효과적으로 유지하기 위해 이것을 사용합니다
프로세스 트랙. 제어 그룹 정보는 다음에 유지됩니다
커널은 파일 시스템 계층을 통해 액세스 할 수 있습니다 (아래.
/SYS/FS/CGROUP/) 또는 SystemD-CGLS (1) 또는 PS (1) (PS XAWF와 같은 도구)
-EO PID, 사용자, CGROUP, ARGS는 모든 프로세스를 나열하는 데 특히 유용합니다
그리고 그들이 속한 시스템 단위.).
SystemD는 SYSV Init 시스템과 대량으로 호환됩니다 :
Init Scripts가 지원되며 대안으로 간단히 읽습니다 (그러나
제한) 구성 파일 형식. sysv /dev /initctl 인터페이스는 다음과 같습니다
다양한 SYSV 클라이언트의 제공 및 호환성 구현
도구를 사용할 수 있습니다. 그 외에도 다양한 유닉스
/etc /fstab 또는 UTMP 데이터베이스와 같은 기능이 지원됩니다.
Systemd는 최소한의 트랜잭션 시스템이 있습니다. 단위가 요청 된 경우
시작하거나 종료하면 추가 및 모든 종속성이
임시 거래. 그런 다음 거래가 있는지 확인합니다
일관성 (즉, 모든 단위의 순서가주기가 없는지 여부). 만약에
SystemD는 그것을 고치려고 시도하고 비 필수적인 것을 제거합니다.
루프를 제거 할 수있는 거래의 작업. 또한 SystemD
중단 될 거래에서 비 필수 작업을 억제하려고합니다.
달리기 서비스. 마지막으로 작업의 작업 여부가 확인됩니다
거래는 이미 대기중인 작업과 모순됩니다
선택적으로 거래가 중단됩니다. 모든 것이 해결된다면
거래는 일관되며 그 영향에 최소화됩니다.
이미 뛰어난 작업을하고 런 큐에 추가되었습니다. 효과적으로
이것은 요청 된 작업을 실행하기 전에 Systemd가
그것을 확인하십시오 의미가 있으면, 가능하다면 고치고,
실제로 작동 할 수 없습니다.
트랜잭션은 단위의 상태와 독립적으로 생성됩니다.
예를 들어, 시작 작업이 이미 요청 된 경우 런타임.
시작 단위는 여전히 거래를 생성하고
비활성 의존성 (및 다른 작업의 전파를 유발합니다.
정의 된 관계). 이는 당시에 큐인 직업이 있기 때문입니다.
대상 단위의 상태에 비해 실행 중이며 표시됩니다.
둘 다 만족할 때 성공하고 완료합니다. 그러나이 직업도 당겨집니다
정의 된 관계로 인한 다른 종속성에서
이 예에서는 비활성화 된 유닛의 작업을 시작합니다.
대기했습니다.
Systemd에는 필요한 다양한 작업의 기본 구현이 포함되어 있습니다.
부팅 프로세스의 일부로 실행됩니다. 예를 들어, 설정을 설정합니다
호스트 이름 또는 루프백 네트워크 장치를 구성합니다. 또한 설정 및
/sys /또는 /proc /와 같은 다양한 API 파일 시스템을 마운트합니다.
Systemd의 개념과 아이디어에 대한 자세한 내용은
원래 디자인 문서 [2]를 참조하십시오.
SystemD에서 제공하는 모든 인터페이스는 아니지만 일부는 덮여 있습니다.
인터페이스 이식성 및 안정성 약속에 의해 [3].
부팅 및 시스템 관리자 재 장전시 유닛이 동적으로 생성 될 수 있습니다.
예를 들어 다른 구성 파일 또는 매개 변수를 기반으로 한 시간
커널 명령 줄에 전달되었습니다. 자세한 내용은 참조하십시오
Systemd. Generator (7).
시스템의 D-BUS API는 org.freedesk.systop.system1 (5)에 설명되어 있습니다.
및 org.freedesktop.logcontrol1 (5).
컨테이너 또는 초기 환경에서 SystemD를 호출하는 시스템
컨테이너 인터페이스 [4] 또는 InitRD 인터페이스 [5]를 구현해야합니다.
사양.
디렉토리
시스템 단위 디렉토리
SystemD System Manager는 다양한에서 단위 구성을 읽습니다
디렉토리. 장치 파일을 설치하려는 패키지가 배치됩니다
PKG-Config Systemd에 의해 반환 된 디렉토리에 있습니다
-variable = SystemDsyStemUnitDir. 확인 된 다른 디렉토리가 있습니다
/usr/local/lib/systemd/system 및/usr/lib/systemd/system. 사용자
구성은 항상 우선합니다. pkg-config systemd
-variable = SystemDsystemConfdir 시스템의 경로를 반환합니다
구성 디렉토리. 패키지는 이들의 내용을 변경해야합니다
활성화 및 비활성화 명령이있는 디렉토리
SystemCTL (1) 도구. 전체 디렉토리 목록이 제공됩니다
SystemD.Unit (5).
사용자 단위 디렉토리
사용자 단위 디렉토리에도 유사한 규칙이 적용됩니다. 그러나 여기
XDG Base Directory Specification [6]을 따라 단위를 찾습니다.
응용 프로그램은 해당 장치 파일을 디렉토리에 배치해야합니다
pkg-config systemd에 의해 반환-Variable = SystemDuserUnitdir.
글로벌 구성은보고 된 디렉토리에서 수행됩니다
pkg-config systemd --variable = SystemDuserConfdir. 활성화 및
SystemCTL의 명령 비활성화 (1) 도구는 글로벌을 모두 처리 할 수 있습니다.
(즉, 모든 사용자의 경우) 및 개인 (한 사용자의 경우) 활성화/비활성화
단위의. 전체 디렉토리 목록은 SystemD.Unit (5)에 제공됩니다.
SYSV Init 스크립트 디렉토리
sysv init 스크립트 디렉토리의 위치는
분포. SystemD가
요청 된 서비스, 그것은 sysv init 스크립트를 찾을 것입니다.
이름 (.Service 접미사가 제거 된 상태).
Sysv Runlevel Link Farm 디렉토리
SYSV Runlevel Link Farm 디렉토리의 위치는 다양합니다.
분포 사이. SystemD는 링크 팜을 고려합니다
서비스가 활성화되어야하는지 여부를 파악할 때. a
기본 단위 구성 파일이있는 서비스 단위는
SYSV Runlevel Link Farm에서 활성화하여 시작했습니다.
신호
SIGTERM
이 신호를 받으면 Systemd System Manager는 직렬화됩니다
그 상태는 그 자체로 재 실행되고 저장된 상태를 요구합니다
다시. 이것은 대부분 SystemCTL Daemon-Reexec와 동일합니다.
Systemd 사용자 관리자는 출구를 시작합니다.
신호가 접수됩니다. 이것은 대부분 SystemCTL -user와 동일합니다
출구를 시작하십시오 .target-job-mode = 교체 직접적으로.
시그니트
이 신호를 받으면 SystemD System Manager가 시작됩니다.
ctrl-alt-del.target 장치. 이것은 대부분과 같습니다
SystemCTL 시작 Ctrl-Alt-Del.target을 시작합니다
-job-mode = 교체-역할 수 있습니다. 이 신호가 더 많이 수신되면
2 초당 7 회 이하의 즉시 재부팅이 트리거됩니다. 주목하십시오
콘솔에서 Ctrl+Alt+DEL을 누르면이 신호가 트리거됩니다.
따라서 재부팅이 매달려있는 경우 Ctrl+Alt+Del을 7 개 이상 누릅니다.
2 초 만에 시간은 즉각적인 것을 트리거하는 비교적 안전한 방법입니다.
재부팅.
SystemD 사용자 관리자는이 신호를 SIGTERT와 동일한 방식으로 취급합니다.
시그윈
이 신호가 수신되면 SystemD System Manager가 시작됩니다.
KBREQUEST.TARGET 장치. 이것은 대부분 SystemCTL과 동일합니다
kbrequest.target을 시작하십시오.
이 신호는 SystemD 사용자 관리자에 의해 무시됩니다.
SIGPWR
이 신호를 받으면 SystemD 관리자가 시작합니다.
SIGPWR.TARGET 장치. 이것은 대부분 SystemCTL 시작과 동일합니다
SIGPWR.TARGET.
sigusr1
이 신호를 받으면 SystemD 관리자는
D-BUS 버스에 다시 연결하십시오.
Sigusr2
이 신호가 수신되면 SystemD Manager가 로그인합니다.
인간이 읽을 수있는 형태의 완전한 상태. 기록 된 데이터는 동일합니다
SystemD-Analyze 덤프에 의해 인쇄 된대로.
Sighup
완전한 데몬 구성을 다시로드합니다. 이것은 대부분입니다
SystemCTL 데몬 롤로드와 동일합니다.
sigrtmin+0
기본 모드로 입력하고 기본값을 시작합니다. 이것은 대부분입니다
systemctl 분리 기본값과 동일합니다.
sigrtmin+1
구조 모드로 들어가서 구조를 시작합니다. 이것은 대부분입니다
SystemCTL과 동일합니다.
Sigrtmin+2
비상 모드로 들어가서 긴급 상황을 시작합니다. 이것은
SystemCTL 분리 비상 사태와 동일합니다.
Sigrtmin+3
기계를 중단하고 Halt.Target 장치를 시작합니다. 이것은 대부분입니다
systemctl에 해당하는 START HALT.TARGET에 해당합니다
-job-mode = 교체-역할 수 있습니다.
Sigrtmin+4
기계에서 전원을 공급하고 PowerOff.target 장치를 시작합니다. 이것은
SystemCTL START POWEROFF.TARGET과 대부분 동일합니다
-job-mode = 교체-역할 수 있습니다.
Sigrtmin+5
기계를 재부팅하고 재부팅을 시작합니다. 이것은 대부분입니다
SystemCTL에 해당하는 START REBOOT.TARGET에 해당합니다
-job-mode = 교체-역할 수 있습니다.
Sigrtmin+6
Kexec을 통해 기계를 재부팅하고 Kexec.target 장치를 시작합니다. 이것
대부분 SystemCTL 시작 kexec.target과 동일합니다
-job-mode = 교체-역할 수 있습니다.
Sigrtmin+7
사용자 공간을 재부팅하고 Soft-Reboot.target 장치를 시작합니다. 이것은
대부분 SystemCTL에 해당하는 Soft-Reboot.target과 동일합니다
-job-mode = 교체-역할 수 있습니다.
버전 254에 추가.
Sigrtmin+13
기계가 즉시 중단됩니다.
Sigrtmin+14
기계에서 즉시 전력을 공급합니다.
Sigrtmin+15
즉시 기계를 재부팅합니다.
Sigrtmin+16
즉시 kexec으로 기계를 재부팅합니다.
Sigrtmin+17
즉시 사용자 공간을 재부팅합니다.
버전 254에 추가.
Sigrtmin+20
제어 된대로 콘솔에 상태 메시지 표시를 활성화합니다.
커널 명령 줄에서 SystemD.show_status = 1을 통해.
Sigrtmin+21
제어 된대로 콘솔에 상태 메시지 표시를 비활성화합니다.
커널 명령 줄에서 SystemD.show_status = 0을 통해.
Sigrtmin+22
서비스 관리자의 로그 레벨을 "디버그"로 설정합니다.
커널 명령 줄에서 systemd.log_level = 디버그에 해당합니다.
Sigrtmin+23
로그 레벨을 구성된 값으로 복원합니다. 구성된
값은 지정된 값에서 우선 순위에서 파생됩니다.
커널 명령 줄에 systemd.log-level = 또는 값으로
구성 파일에서 loglevel =로 지정되거나 내장 된
"정보"의 기본값.
버전 239에 추가되었습니다.
Sigrtmin+24
즉시 관리자를 종료합니다 (-user에서만 사용할 수 있습니다
인스턴스).
버전 195에 추가되었습니다.
Sigrtmin+25
이 신호를 받으면 SystemD Manager는 다시 실행됩니다
그 자체. 이것은 대부분 SystemCTL Daemon-Reexec을 제외하고 동일합니다
그것은 비동기 적으로 이루어질 것입니다.
Systemd System Manager는이 신호를
SIGTERM.
버전 250에 추가되었습니다.
Sigrtmin+26
로그 대상을 구성된 값으로 복원합니다. 구성된
값은 지정된 값에서 우선 순위에서 파생됩니다.
커널 명령 줄에 systemd.log-target = 또는 값으로
configuration 파일 또는
내장 기본값.
버전 239에 추가되었습니다.
Sigrtmin+27, Sigrtmin+28
Sigrtmin+27 (또는 "kmsg"에서 로그 대상을 "콘솔"으로 설정합니다.
sygrtmin+28), systemd.log_target = console과 동등한 방식으로
커널 명령에서 (또는 systemd.log_target = kmsg)
선.
버전 239에 추가되었습니다.
환경
시스템 관리자의 환경 블록은 처음에
핵심. (특히 커널 명령의 "key = value"할당
라인은 PID 1의 환경 변수로 바뀝니다. 사용자를 위해
관리자, 시스템 관리자는 다음에 설명 된대로 환경을 설정합니다.
"스폰 된 프로세스의 환경 변수"섹션
Systemd.exec (5). 시스템 관리자의 DefaultEnvironment = 설정
user@.service를 포함한 모든 서비스에 적용됩니다. 추가 항목이있을 수 있습니다
환경을 통해 (다른 서비스에 대해) 구성하십시오 = 및
EnvironmentFile = user@.Service의 설정 (SystemD.Exec (5) 참조).
또한 추가 환경 변수는
ManagerEnvironment = SystemD-System.conf (5) 및 SystemD-의 설정
user.conf (5).
SystemD에 의해 이해되는 일부 변수 :
$ SystemD_LOG_LEVEL
방출 된 메시지의 최대 로그 레벨 (더 높은 메시지
로그 레벨, 즉 덜 중요한 레벨은 억제됩니다). 어느 하나
(중요성 감소의 순서대로) Emerg, Alert, Crit, Err,
경고, 통지, 정보, 디버그 또는 범위의 정수 0 ... 7. 보다
자세한 내용은 Syslog (3).
이것은-로그 레벨 =로 재정의 할 수 있습니다.
$ SystemD_LOG_COLOR
부울. 사실이라면 TTY에 작성된 메시지는 색상이됩니다.
우선 순위에 따라.
이것은-log-color =로 재정의 할 수 있습니다.
$ SystemD_LOG_TIME
부울. 사실이라면 콘솔 로그 메시지가
타임 스탬프.
-로그 타임 =로 재정의 할 수 있습니다.
버전 246에 추가되었습니다.
$ systemd_log_location
부울. 사실이라면 메시지는 파일 이름으로 접두사로 표시됩니다.
메시지가 시작된 소스 코드의 줄 번호.
이것은-log-location =로 재정의 할 수 있습니다.
$ SystemD_LOG_TID
부울. 사실이라면 메시지는 현재와 접두사를 만듭니다
수치 스레드 ID (TID).
버전 247에 추가되었습니다.
$ SystemD_LOG_TARGET
로그 메시지의 대상. 콘솔 중 하나 (로그 로그
첨부 된 tty), 콘솔 준비 (부착 된 tty에 로그인하지만
로그 레벨 및 "시설"인코딩 접두사, syslog (3), KMSG 참조
(커널 원형 로그 버퍼에 로그인), 저널 (로그 로그
저널), Journal-or-KMSG (가능한 경우 저널에 로그인하고
KMSG 그렇지 않으면), 자동 (적절한 로그 대상을 결정하십시오
자동으로, 기본값), null (로그 출력 비활성화).
-로그-타겟 =으로 재정의 할 수 있습니다.
$ SystemD_LOG_RATELIMIT_KMSG
ratelimit kmsg인지 여부. 부울을 취합니다. 기본값
"진실". 비활성화 된 경우 SystemD는 Ratelimit 메시지가 작성하지 않습니다
KMSG.
버전 254에 추가.
$ XDG_CONFIG_HOME, $ XDG_CONFIG_DIRS, $ XDG_DATA_HOME, $ XDG_DATA_DIRS
SystemD 사용자 관리자는이 변수를
XDG Base Directory Specification [6]은 구성을 찾습니다.
$ systemd_unit_path, $ SystemD_Generator_Path,
$ Systemd_environment_generator_path
SystemD가 단위 파일 및 생성기를 찾는 위치를 제어합니다.
이 변수에는 콜론으로 분리 된 경로 목록이 포함될 수 있습니다.
( ":"). 설정하면 목록이 빈 구성 요소 ( "... :")로 끝나면
이 목록은 일반적인 경로 세트로 선정됩니다. 그렇지 않으면
지정된 목록은 일반적인 경로 세트를 대체합니다.
$ systemd_pager
-파거가 주어지지 않을 때 사용할 호출기; $ pager를 무시합니다. 만약에
$ systemd_pager 나 $ pager가 설정되어 있지 않습니다. 잘 알려진 세트
적은 (1) 및
더 많은 (1), 하나가 발견 될 때까지. 호출기 구현이없는 경우
발견 된 호출기는 발견되지 않았습니다. 이 환경 변수 설정
빈 문자열 또는 "고양이"값으로 통과하는 것과 같습니다.
-노파거.
참고 : $ systemd_pagersecure가 설정되지 않은 경우 $ systemd_pager (또한
$ Pager)는 조용히 무시됩니다.
$ systemd_less
전달 된 옵션을 더 적게 무시합니다 (기본적으로 "FRSXMK").
사용자는 특히 두 가지 옵션을 변경할 수 있습니다.
케이
이 옵션은 Ctrl+C 일 때 호출기에 즉시 종료하도록 지시합니다.
눌렀습니다. CTRL+C 자체를 스위치로 처리 할 수 없습니다
Pager 명령 프롬프트로 돌아가서이 옵션을 설정하지 마십시오.
$ SystemD_Less의 값에 "k"가 포함되지 않은 경우
호출 된 호출기는 더 적습니다. Ctrl+C는
실행 파일, 호출기가 처리해야합니다.
엑스
이 옵션은 호출기에게 TermCap을 보내지 않도록 지시합니다
터미널에 대한 초기화 및 탈환 문자열. 그것
명령 출력이 표시되도록 기본적으로 설정됩니다.
호출기가 종료 된 후에도 터미널. 그럼에도 불구하고,이
일부 호출기 기능이 특히 작동하는 것을 방지합니다
마우스로 PAGED 출력을 스크롤 할 수 없습니다.
더 많은 토론은 덜 (1)를 참조하십시오.
$ Systemd_lessCharset
charset을 더 적게 통과했습니다 (기본적으로 "UTF-8".
호출 터미널은 UTF-8 호환되는 것으로 결정됩니다).
$ SystemD_Pagersecure
부울 논쟁을 취합니다. 사실이라면 호출기의 "보안"모드
활성화되었습니다. 거짓 인 경우 비활성화 된 경우. $ systemd_pagersecure가 설정되지 않은 경우
효과적인 UID가 동일하지 않으면 보안 모드가 활성화됩니다.
로그인 세션의 소유자로서 Geteuid (2) 및
sd_pid_get_owner_uid (3). 보안 모드에서는 덜 소송 = 1이 설정됩니다
호출기를 호출 할 때, 호출기는
새 파일을 열거 나 생성하거나 새 하위 프로세스를 시작하십시오. 언제
$ SystemD_PagerSecure는 전혀 설정되지 않았습니다.
보안 모드를 구현하려면 사용되지 않습니다. (현재 덜 (1)
보안 모드를 구현합니다.)
참고 : 명령이 높은 권한으로 호출 될 때
Sudo (8) 또는 Pkexec (1)에 따른 예, 보장하려면주의를 기울여야합니다.
의도하지 않은 대화식 기능은 활성화되지 않습니다. "안전한"모드
호출기의 경우 위에서 설명한대로 자동으로 활성화 될 수 있습니다.
SystemD_PagerSecure = 0 또는 상속에서 제거하지 않음
환경을 통해 사용자는 임의의 명령을 호출 할 수 있습니다. 주목하십시오
$ SystemD_Pager 또는 $ Pager 변수가 영예를 얻으려면
$ SystemD_Pagersecure도 설정해야합니다. 합리적 일 수 있습니다
대신 -no-pager를 사용하여 호출기를 완전히 비활성화하십시오.
$ SystemD_COLORS
부울 논쟁을 취합니다. 사실, 시스템 및 관련 유틸리티
출력에서 색상을 사용하면 출력이
단색화. 또한 변수는 중 하나를 사용할 수 있습니다
특수 값 다음 : "16", "256"색상 사용을 제한합니다.
각각베이스 16 또는 256 ANSI 색상으로. 이것은 될 수 있습니다
$ 용어를 기준으로 자동 결정을 무시하도록 지정되었습니다.
콘솔이 연결된 것.
$ SystemD_URLIFY
값은 부울 여야합니다. 클릭 가능한 링크 여부를 제어합니다
지지하는 터미널 에뮬레이터의 출력에서 생성해야합니다.
이것. 이것은 SystemD의 결정을 무시하도록 지정할 수 있습니다.
$ 기간 및 기타 조건을 기준으로합니다.
$ listen_pid, $ listen_fds, $ listen_fdnames
소켓 기반 동안 감독 프로세스를 위해 SystemD에 의해 설정됩니다
활성화. 자세한 내용은 sd_listen_fds (3)를 참조하십시오.
$ notify_socket
상태 및 스타트 업에 대한 감독 프로세스를 위해 SystemD에 의해 설정
완료 알림. 자세한 내용은 SD_Notify (3)를 참조하십시오.
추가 환경 변수는 SystemD와 그 다양성에 의해 이해됩니다.
구성 요소, 알려진 환경 변수를 참조하십시오 [7].
커널 명령 줄
시스템 인스턴스로 실행되면 SystemD는 여러 옵션을 구문 분석합니다.
아래에 나열되어 있습니다. 커널 명령 줄 인수로 지정할 수 있습니다
환경에 따라 여러 출처에서 구문 분석
SystemD가 실행되는 곳. Linux 컨테이너 내부에서 실행되는 경우
옵션은 SystemD로 전달 된 명령 줄 인수에서 구문 분석됩니다.
자체, 옵션에 나열된 명령 줄 옵션 옆에
위의 섹션. Linux 컨테이너 외부에서 실행되면 이러한 주장은 다음과 같습니다
/proc /cmdline에서 구문 분석 및 "SystemDoptions"EFI 변수에서
(EFI 시스템에서) 대신. /proc /cmdline의 옵션이 더 높습니다
우선 사항.
참고 : "SystemDoptions"사용은 더 이상 사용되지 않습니다.
다음 변수가 이해됩니다.
systemd.unit =, rd.systemd.unit =
부팅에서 활성화하기 위해 장치를 무시합니다. 기본값으로 기본값.
일시적으로 다른 부트 장치로 부팅하는 데 사용될 수 있습니다.
예를 들어 Rescue.target 또는 Emergency.service. 보다
이 단위에 대한 자세한 내용은 SystemD.Special (7). 옵션
"Rd"로 접두사. Initrd에서만 영광을 누리고 있습니다
주 시스템에서만 접두사가 아닙니다.
Systemd.dump_core
부울 논쟁을 취하거나 지정된 경우 옵션을 활성화합니다.
논쟁. 활성화 된 경우 SystemD Manager (PID 1)는 코어를 덤프합니다
충돌 할 때. 그렇지 않으면 코어 덤프가 생성되지 않습니다. 기본값
활성화.
버전 233에 추가되었습니다.
Systemd.Crash_chvt
긍정적 인 정수 또는 부울 논쟁을 취합니다. 또한 될 수 있습니다
긍정적 인 것과 동일한 효과를 가진 주장없이 지정
부울. 양의 정수 (1-63 범위)가 지정된 경우
시스템 관리자 (PID 1)는 지정된 가상을 활성화합니다.
충돌시 터미널. 기본값은 비활성화 된 것입니다
이러한 스위치가 시도됩니다. 활성화로 설정된 경우 가상 터미널입니다
커널 메시지는 대신 사용됩니다.
버전 233에 추가되었습니다.
Systemd.crash_shell
부울 논쟁을 취하거나 지정된 경우 옵션을 활성화합니다.
논쟁. 활성화 된 경우 시스템 관리자 (PID 1)가 쉘을 생성합니다.
충돌하면 10 초 지연 후. 그렇지 않으면 껍질이 생성되지 않습니다.
보안상의 이유로 쉘이
비밀번호 인증에 의해 보호됩니다.
버전 233에 추가되었습니다.
systemd.crash_reboot
부울 논쟁을 취하거나 지정된 경우 옵션을 활성화합니다.
논쟁. 활성화 된 경우 시스템 관리자 (PID 1)가 다시 부팅합니다.
10 초 지연 후 충돌하면 자동으로 기계.
그렇지 않으면 시스템이 무기한으로 매달려 있습니다. 기본값으로 비활성화하고
재부팅 루프를 피하기 위해. 결합 된 경우
Systemd.crash_shell, 쉘 종료 후 시스템이 재부팅됩니다.
버전 227에 추가.
Systemd.confirm_spawn
부울 논쟁이나 가상 콘솔로가는 경로를 취합니다.
확인 메시지가 방출되어야합니다. 지정할 수도 있습니다
긍정적 인 부울과 같은 효과를 가진 논쟁없이. 만약에
활성화 된 시스템 관리자 (PID 1)는 확인을 요청합니다.
/dev /console을 사용한 산란 프로세스. 경로 또는 콘솔 이름 인 경우
( "Ttys0"과 같은) 제공, 가상 콘솔이
이 경로 또는 Give Name에 의해 설명되는 것은 대신 사용됩니다.
기본값은 비활성화됩니다.
버전 233에 추가되었습니다.
SystemD.Service_WatchDogs =
부울 논쟁을 취합니다. 비활성화 된 경우 모든 서비스 런타임
WatchDogs (WatchDogsec =) 및 비상 조치 (예 : onfailure = 또는
startLimitaction =)는 시스템 관리자 (PID 1)에 의해 무시됩니다. 보다
SystemD.Service (5). 기본값이 활성화, 즉 워치 독 및 실패
조치는 정상적으로 처리됩니다. 하드웨어 감시자는 아닙니다
이 옵션의 영향을받습니다.
버전 237에 추가되었습니다.
Systemd.show_status
부울 논쟁 또는 상수 오류 및 자동을 취합니다. 할 수 있습니다
또한 논쟁없이 지정,
긍정적 인 부울. 활성화 된 경우 SystemD Manager (PID 1)가 표시됩니다
부팅하는 동안 콘솔에서 Terse 서비스 상태 업데이트. 와 함께
오류, 실패에 대한 메시지 만 표시되지만 부팅은
그렇지 않으면 조용합니다. 자동이 될 때까지 자동은 거짓처럼 행동합니다
부팅의 상당한 지연. 조용하지 않는 한 기본값이 활성화됩니다
커널 명령 줄 옵션으로 전달되었으며,이 경우 기본값
오류. 지정된 경우 시스템 관리자 구성 파일을 재정의합니다
옵션 showstatus =, systemd-system.conf (5)를 참조하십시오.
버전 233에 추가되었습니다.
systemd.status_unit_format =
이름, 설명을 취하거나 값으로 결합합니다. 이름 인 경우
시스템 관리자는 상태 메시지에서 단위 이름을 사용합니다. 결합 된 경우
시스템 관리자는 상태에서 단위 이름과 설명을 사용합니다.
메시지. 지정되면 시스템 관리자를 재정의합니다
구성 파일 옵션 statusUnitformat =, systemd- 참조
System.conf (5).
버전 243에 추가되었습니다.
systemd.log_color, systemd.log_level =, systemd.log_location,
systemd.log_target =, systemd.log_time, systemd.log_tid,
SystemD.LOG_RATELIMIT_KMSG
로그 출력을 제어합니다
$ systemd_log_color, $ SystemD_LOG_LEVEL, $ SYSTEMD_LOG_LOCATE,
$ SystemD_LOG_TARGET, $ SYSTEMD_LOG_TIME, $ SYSTEMD_LOG_TID 및
$ SystemD_LOG_RATELIMIT_KMSG 환경 변수 위에서 설명했습니다.
systemd.log_color, systemd.log_location, systemd.log_time,
SystemD.LOG_TID 및 SYSTEMD.LOG_RATELIMIT_KMSG를 지정할 수 있습니다
긍정적 인 부울과 같은 효과를 가진 논쟁없이.
systemd.default_standard_output =, systemd.default_standard_error =
서비스에 대한 기본 표준 출력 및 오류 출력을 제어합니다.
소켓. 즉, StandardOutput = 및.의 기본값을 제어합니다
StandardError = (자세한 내용은 SystemD.Exec (5)를 참조하십시오). 하나를 취합니다
상속, NULL, TTY, 저널, 저널+콘솔, KMSG, KMSG+콘솔.
인수가 생략되면 systemd.default-standard output =
기본값은 저널 및 SystemD.Default-Standard-Orror = 상속합니다.
systemd.setenv =
형식 변수 = 값으로 문자열 인수를 취합니다. 익숙 할 수 있습니다
기본 환경 변수를 포크 아동 프로세스에 추가하도록 설정하십시오.
여러 변수를 설정하기 위해 두 번 이상 사용될 수 있습니다.
Systemd.machine_id =
설정에 사용하는 32 자 16 진수 값을 사용합니다.
기계 ID. 주로 같은 곳에서 네트워크 부팅을위한 것입니다
Machine-ID는 모든 부팅에 대해 요구됩니다.
버전 229에 추가.
systemd.set_credential =, systemd.set_credential_binary =
시스템 자격 증명을 설정 한 다음 시스템으로 전파 될 수 있습니다.
importcredential = 또는 loadcredential = setting을 사용하는 서비스,
자세한 내용은 SystemD.Exec (5)를 참조하십시오. 자격 증명 이름 쌍을 취합니다
결장으로 분리 된 가치. systemd.set_credential =
매개 변수는 문자 그럴 텍스트 형식의 자격 증명 값을 기대합니다.
Systemd.set_credential_binary = 매개 변수는 이진 데이터를 인코딩합니다
Base64에서. 커널 명령 줄은 일반적으로입니다
/proc /cmdline에서 비실한 프로그램으로 액세스 할 수 있습니다. 따라서 이것은
메커니즘은 troff : <표준 입력> : 1550 : 경고 [p 16, 6.5i] : 라인을 깨뜨릴 수 없습니다.
민감한 데이터를 전송하는 데 적합하지 않습니다. 사용하십시오
민감하지 않은 데이터 (예 : 공개 키/인증서,
개인 키가 아닌) 또는 테스트/디버깅 환경.
자세한 내용은 시스템 및 서비스 자격 증명을 참조하십시오 [8]
선적 서류 비치.
버전 251에 추가되었습니다.
systemd.import_credentials =
부울 논쟁을 취합니다. False가 자격 증명 가져 오기를 비활성화하는 경우
커널 명령 줄, DMI/SMBIOS OEM 문자열 테이블,
QEMU_FW_CFG 서브 시스템 또는 EFI 커널 스텁.
버전 251에 추가되었습니다.
조용한
systemd.show_status = no와 매우 유사한 부팅시 상태 출력을 끄십시오
일 것이다. 이 옵션은 커널 자체에서도 읽습니다.
커널 로그 출력을 비활성화합니다. 이 옵션을 전달하여 꺼집니다
시스템 관리자와 커널의 일반적인 출력.
버전 186에 추가되었습니다.
디버그
디버깅 출력을 켭니다. 이것은 동일합니다
SystemD.LOG_LEVEL = 디버그. 이 옵션은 또한 읽습니다
커널 자체 및 커널 디버그 출력을 활성화합니다. 이 옵션을 전달합니다
따라서 시스템 관리자와
커널.
버전 205에 추가되었습니다.
응급, Rd.Emergency, -B
비상 모드로 부팅하십시오. 이것은 동일합니다
SystemD.Unit = Emergency 또는 Rd.Systemd.Unit = Emergency.Target,
각각, 호환성 이유와 그에 대한 제공
더 쉽게 입력하기 쉽습니다.
버전 186에 추가되었습니다.
Rescue, Rd.rescue, Single, S, S, 1
구조 모드로 부팅하십시오. 이것은 동일합니다
Systemd.unit = rescue.target 또는 rd.systemd.unit = rescue.target,
각각, 호환성 이유와 그에 대한 제공
더 쉽게 입력하기 쉽습니다.
버전 186에 추가되었습니다.
2, 3, 4, 5
지정된 레거시 SYSV 런 레벨로 부팅하십시오. 이것들은 동일합니다
to systemd.unit = runlevel2.target, systemd.unit = renlevel3.target,
systemd.unit = runlevel4.target 및 systemd.unit = runlevel5.target,
각각, 호환성 이유와 그에 대한 제공
더 쉽게 입력하기 쉽습니다.
버전 186에 추가되었습니다.
locale.lang =, locale.language =, locale.lc_ctype =, locale.lc_numeric =,
locale.lc_time =, locale.lc_collate =, locale.lc_monetary =,
locale.lc_messages =, locale.lc_paper =, locale.lc_name =,
locale.lc_address =, locale.lc_telephone =, locale.lc_measurement =,
locale.lc_identification =
사용하도록 시스템 로케일을 설정하십시오. 이것은 설정을 무시합니다
/etc/locale.conf. 자세한 내용은 locale.conf (5) 및
로케일 (7).
버전 186에 추가되었습니다.
다른 커널 명령 줄 매개 변수의 경우 구성 요소에 의해 이해됩니다.
핵심 OS는 커널 명령형 (7)을 참조하십시오.
시스템 자격 증명
초기화 중에 서비스 관리자는 자격 증명을 가져옵니다
시스템의 자격 증명 세트에 대한 다양한 소스는
서비스로 전파되고 발전기에 의해 소비됩니다.
• 서비스 관리자가 처음 초기화되면 시스템을 읽습니다.
SMBIOS 유형 11 공급 업체 문자열의 자격 증명
io.systemd.credential : name = value 및
io.systemd.credential.binary : name = value.
• 동시에 QEMU "FW_CFG"에서 자격 증명을 가져옵니다.
(SMBIOS 메커니즘은 일반적으로 선호됩니다.
더 빠르고 일반적입니다.)
• 자격 증명은 커널 명령 줄을 통해 전달 될 수 있습니다.
SystemD.Set-Credential = 매개 변수, 위 참조.
• 자격 증명은 시스템을 통해 UEFI 환경에서 전달 될 수 있습니다.
스터브 (7).
• 서비스 관리자가 InitRD → 호스트 중에 호출되는 경우
전환 그것은/run/credentials/@initrd/as의 모든 파일을 가져옵니다
시스템 자격 증명.
자격 증명 목록을 보려면 다음과 같이 SystemD-CREDS (1) 호출
시스템에 전달 :
# SystemD-Creds-시스템 목록
자세한 내용은 시스템 및 서비스 자격 증명을 참조하십시오 [8]
선적 서류 비치.
PID 1으로 실행할 때 서비스 관리자는 다음 시스템을 소비합니다.
신임장:
vmm.notify_socket
AF_VSOCK 또는 AF_UNIX 주소가 포함되어 있습니다.
알림 데이터 그램 시스템이 부팅을 마쳤을 때. 보다
자세한 내용은 sd_notify (3). 하이퍼 바이저의 경우에 주목하십시오
AF_VSOCK을 통해 SOCK_DGRAM을 지원하지 않으면 SOCK_SEQPACKET이 있습니다
대신 시도했습니다. AF_VSOCK의 자격 증명 페이로드는
양식 "vsock : cid : port".
이 기능은 하이퍼 바이저/VMMS 또는 기타 프로세스에 유용합니다.
가상 머신 일 때 VSOCK을 통해 알림을받을 호스트
부팅이 완료되었습니다.
버전 254에 추가.
System.Machine_id
/etc /machine-id를 초기화하기 위해 128 비트 16 진수 ID를 사용하여,
파일이 아직 설정되지 않은 경우 자세한 내용은 Machine-ID (5)를 참조하십시오.
버전 254에 추가.
옵션
SystemD는 일찍 시작되기 때문에 직접적으로 거의 호출되지 않습니다.
사용자가 상호 작용할 수있는 시간에 의해 이미 실행 중입니다.
일반적으로 SystemCTL (1)과 같은 도구는
관리자. SystemD는 일반적으로 직접 호출되지 않으므로 옵션이 있습니다
아래에 나열된 것은 주로 디버깅 및 특별한 목적에 유용합니다.
내성 및 디버깅 옵션
이러한 옵션은 테스트 및 내성에 사용되며 Systemd는
언제든지 그들과 함께 불러야합니다.
-덤프-구성-항목
덤프 이해 단위 구성 항목. 이것은 간결한 것을 출력하지만
단위 정의에서 이해되는 구성 항목의 전체 목록
파일.
-덤프-버스-단점
노출 된 버스 속성을 덤프합니다. 이것은 간결하지만 전체 목록을 출력합니다
D- 버스에 노출 된 속성.
버전 239에 추가되었습니다.
--시험
초기 시작 트랜잭션 결정 (즉, 작업 목록
스타트 업에 kequeued), 버리고 나가서-실제로
결정된 작업을 실행합니다. 이 옵션은 유용합니다
디버깅 만. 정기 서비스 관리자 시작 중에는 주목하십시오
이 작업으로 표시되지 않은 추가 장치가 시작될 수 있습니다.
하드웨어, 소켓, 버스 또는 기타 종류의 활성화가
거래가 실행되면 추가 작업을 추가하십시오. -시스템을 사용하십시오
시스템 서비스 관리자의 초기 트랜잭션을 요청합니다 (이것은
또한 묵시적 기본값) -사용자와 결합하여
대신 사용자 당 서비스 관리자의 초기 거래.
-시스템, --user
-테스트와 함께 사용하면 계산 여부를 선택합니다.
시스템 인스턴스 또는 사용자마다의 초기 트랜잭션
사례. 이 옵션은 -테스트없이 호출 할 때 영향을 미치지 않습니다.
정기적으로 (즉, 비 --- 테스트) 호출하는 동안 서비스 관리자를 보냅니다
시스템에서 작동할지 여부를 자동으로 감지하거나
사용자 당 모드, PID가 1으로 실행되는지 확인하여
아니다. 시스템 부팅 및 유지 관리가 지원되지 않습니다.
서비스 관리자가 -시스템 모드에서 실행되지만 PID를 사용하면
1 이외.
-h, -help
짧은 도움말 텍스트를 인쇄하고 종료하십시오.
--버전
짧은 버전 문자열을 인쇄하고 종료하십시오.
커널 명령 줄 설정을 복제하는 옵션
이러한 옵션은 위에 나열된 "커널에 나열된 옵션에 직접 해당합니다.
명령 줄 ". 두 양식 모두 시스템에 동등하게 사용할 수 있습니다.
관리자이지만 위에 나열된 양식을 사용하는 것이 좋습니다.
컨텍스트는 제대로 네임 스패닝되어 있기 때문입니다. 옵션이있는 경우
커널 명령 줄과 일반 명령 줄에 지정
논쟁, 후자는 우선 순위가 더 높다.
SystemD가 사용자 관리자로 사용되면 커널 명령 줄은
무시되며 아래에 설명 된 옵션 만 이해됩니다.
그럼에도 불구하고 SystemD는 일반적 으로이 모드에서 시작됩니다.
user@.service (5) 서비스는 모든 사용자간에 공유됩니다. 그럴 수도 있습니다
구성 파일을 사용하여 설정을 수정하는 것이 더 편리합니다 (참조
SystemD-User.conf (5)) 또는 환경 변수. "환경"을 참조하십시오
위의 섹션 환경 블록 설정 방법에 대한 논의.
--unit =
시작시 기본 장치를 설정하십시오. 지정되지 않은 경우 기본값
기본적으로 표적. SystemD.Unit = 위를 참조하십시오.
-덤프 코어
충돌시 코어 덤핑을 활성화하십시오. 이 스위치는 언제 영향을 미치지 않습니다
사용자 인스턴스로 실행됩니다. systemd.dump_core = 위와 동일합니다.
-Crash-vt = vt
충돌시 특정 가상 콘솔 (VT)으로 전환하십시오. 이 스위치에는 있습니다
사용자 인스턴스로 실행할 때는 영향을 미치지 않습니다. 동일
systemd.crash_chvt = 위 (하지만 다른 철자는 아님).
버전 227에 추가.
-Crash-shell
충돌시 쉘을 실행하십시오. 이 스위치는 AS를 실행할 때 영향을 미치지 않습니다
사용자 인스턴스. Systemd.crash_shell = 위를 참조하십시오.
-Crash-Reboot
충돌시 시스템을 자동으로 재부팅합니다. 이 스위치는 효과가 없습니다
사용자 인스턴스로 실행할 때. 위의 SystemD.Crash_Reboot를 참조하십시오.
버전 227에 추가.
-조정 된 스폰
산란 과정이있을 때 확인을 요청하십시오. 이 스위치에는 없음이 없습니다
사용자 인스턴스로 실행할 때 효과. 위의 SystemD.confirm_spawn을 참조하십시오.
-쇼-스테 투스
부팅 중에 콘솔에 Terse 단위 상태 정보 표시
그리고 종료. 위의 SystemD.show_status를 참조하십시오.
버전 244에 추가되었습니다.
-로그 콜로
중요한 로그 메시지를 강조하십시오. 위의 systemd.log_color를 참조하십시오.
버전 244에 추가되었습니다.
-로그 레벨 =
로그 레벨을 설정하십시오. 위의 SystemD.log_level을 참조하십시오.
-로그-위치
로그 메시지에 코드 위치를 포함합니다. systemd.log_location을 참조하십시오
위에.
버전 244에 추가되었습니다.
-로그-타겟 =
로그 대상을 설정하십시오. 위의 SystemD.LOG_TARGET을 참조하십시오.
-로그 타임 =
타임 스탬프가있는 접두사 콘솔 메시지. 위의 systemd.log_time을 참조하십시오.
버전 246에 추가되었습니다.
-마치-ID =
하드 드라이브에서 기계 ID 세트를 대체하십시오. 보다
systemd.machine_id = 위.
버전 229에 추가.
-서비스-시계
모든 서비스 감시 시간 초과 및 응급 상황을 전 세계적으로 활성화/비활성화합니다
행위. 위의 SystemD.Service_watchDogs를 참조하십시오.
버전 237에 추가되었습니다.
--default-standard output =,-default-standard-error =
모든 서비스에 대한 기본 출력 또는 오류 출력을 설정하고
소켓. systemd.default_standard_output = 및
systemd.default_standard_error = 위.
소켓과 FIFO
/run/systemd/notify
데몬 상태 알림 소켓. 이것은 AF_UNIX 데이터 그램입니다
소켓 및 데몬 알림 로직을 다음과 같이 구현하는 데 사용됩니다.
sd_notify (3)에 의해 구현되었습니다.
/run/systemd/private
내부적으로 SystemCTL (1)과 간의 통신 채널로 사용됩니다
시스템 프로세스. 이것은 AF_UNIX 스트림 소켓입니다. 이것
인터페이스는 SystemD에서 비공개이며 외부에서 사용해서는 안됩니다.
프로젝트.
/dev/initctl
SYSV 클라이언트 인터페이스에 대한 제한된 호환성 지원
SystemD-Initctl.Service 장치에 의해 구현되었습니다. 이것은 명명 된 것입니다
파일 시스템의 파이프. 이 인터페이스는 더 이상 사용되지 않아서는 안됩니다
새로운 응용 프로그램에 사용됩니다.
역사
시스템 252
커널 명령 줄 인수 systemd.unified_cgroup_hierarchy 및
Systemd.legacy_systemd_cgroup_controller가 더 이상 사용되지 않았습니다. 제발
통합 CGROUP 계층으로 전환하십시오.
버전 252에 추가.
참조하십시오
SystemD 홈페이지 [9], SystemD-System.conf (5), locale.conf (5),
SystemCtl (1), JournalCtl (1), SystemD-Notify (1), 데몬 (7), SD-
데몬 (3), org.freedesktop.systemd1 (5), SystemD.Unit (5),
SystemD.Special (7), PKG-Config (1), 커널-커맨드 라인 (7), Bootup (7),
Systemd.directives (7)
메모
1. 제어 그룹 v2
https://docs.kernel.org/admin-guide/cgroup-v2.html
2. 원본 디자인 문서
https://0pointer.de/blog/projects/systemd.html
3. 인터페이스 이식성 및 안정성 약속
https://systemd.io/portability_and_stability/
4. 컨테이너 인터페이스
https://systemd.io/container_interface
5. Initrd 인터페이스
https://systemd.io/initrd_interface/
6. XDG베이스 디렉토리 사양
https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
7. 알려진 환경 변수
https://systemd.io/environment
8. 시스템 및 서비스 자격 증명
https://systemd.io/credentials
9. Systemd 홈페이지
https://systemd.io/
Systemd 255 Systemd (1)
1. 우분투 24.04LTS 기준으로 init와 systemd는 같은 기능을 공유하며 manual을 살펴보아도 같은 manual이 출력되는 것을 확인할 수 있다.
2. systemd는 가장 먼저 시행되는 데몬으로 필요한 다른 데몬들을 실행하고 관리하는 데몬이다.
3. systemctl 명령어를 통해서 systemd를 조작할 수 있다.
runlevel을 수정할 때는 telinit 기능을 이용하라는 내용이 있어 해당 내용도 추가로 정리한다.
man telinit 원문
TELINIT(8) telinit TELINIT(8)
NAME
telinit - Change SysV runlevel
SYNOPSIS
telinit [OPTIONS...] {COMMAND}
DESCRIPTION
telinit may be used to change the SysV system runlevel. Since the
concept of SysV runlevels is obsolete the runlevel requests will be
transparently translated into systemd unit activation requests.
OPTIONS
The following options are understood:
--help
Print a short help text and exit.
--no-wall
Do not send wall message before reboot/halt/power-off.
The following commands are understood:
0
Power-off the machine. This is translated into an activation
request for poweroff.target and is equivalent to systemctl
poweroff.
6
Reboot the machine. This is translated into an activation request
for reboot.target and is equivalent to systemctl reboot.
2, 3, 4, 5
Change the SysV runlevel. This is translated into an activation
request for runlevel2.target, runlevel3.target, ... and is
equivalent to systemctl isolate runlevel2.target, systemctl isolate
runlevel3.target, ...
1, s, S
Change into system rescue mode. This is translated into an
activation request for rescue.target and is equivalent to systemctl
rescue.
q, Q
Reload daemon configuration. This is equivalent to systemctl
daemon-reload.
u, U
Serialize state, reexecute daemon and deserialize state again. This
is equivalent to systemctl daemon-reexec.
EXIT STATUS
On success, 0 is returned, a non-zero failure code otherwise.
NOTES
This is a legacy command available for compatibility only. It should
not be used anymore, as the concept of runlevels is obsolete.
SEE ALSO
systemd(1), systemctl(1), wall(1)
systemd 255 TELINIT(8)
man telinit 번역기 번역본
Telinit (8) Telinit Telıt (8)
이름
Telinit- SYSV Runlevel 변경
개요
Telinit [옵션 ...] {명령}
설명
Telinit은 SYSV System Runlevel을 변경하는 데 사용될 수 있습니다. 이후
sysv runlevels의 개념은 unrollevel 요청이
Systemd 단위 활성화 요청으로 투명하게 변환됩니다.
옵션
다음 옵션이 이해됩니다.
--돕다
짧은 도움말 텍스트를 인쇄하고 종료하십시오.
-벽
재부팅/Halt/Power-Off 전에 벽 메시지를 보내지 마십시오.
다음 명령이 이해됩니다.
0
기계 전원. 이것은 활성화로 번역됩니다
PowerOff.target에 대한 요청 및 SystemCTL과 동일합니다
파워 오프.
6
기계를 재부팅하십시오. 이것은 활성화 요청으로 변환됩니다
reboot.target의 경우 SystemCTL 재부팅과 동일합니다.
2, 3, 4, 5
sysv runlevel을 변경하십시오. 이것은 활성화로 번역됩니다
runlevel2.target, runlevel3.target, ... 그리고 is
SystemCTL 분리에 해당합니다
runlevel3.target, ...
1, s, s
시스템 구조 모드로 변경. 이것은로 번역됩니다
rescue.target에 대한 활성화 요청 및 SystemCTL과 동일합니다
구조하다.
Q, Q
다시로드 데몬 구성. 이것은 SystemCTL과 동일합니다
데몬-릴로드.
u, u
상태를 연속화하고, 데몬을 다시 실행하고, 다시 상태를 제외시킵니다. 이것
SystemCTL Daemon-Reexec과 동일합니다.
종료 상태
성공시 0이 반환되고 0이 아닌 실패 코드가 반환됩니다.
메모
이것은 호환성에만 사용할 수있는 레거시 명령입니다. 해야합니다
런 레벨의 개념은 더 이상 사용되지 않으므로 더 이상 사용하지 않습니다.
참조하십시오
Systemd (1), SystemCtl (1), 벽 (1)
Systemd 255 Telinit (8)
'IT 공부내용 정리 > Linux' 카테고리의 다른 글
| 터미널 명령어 - shutdown 시스템(컴퓨터)을 종료하고 싶을 때 (0) | 2025.03.14 |
|---|---|
| 터미널 명령어 - systemctl 리눅스의 데몬(서비스)을 관리하려면 (0) | 2025.03.14 |
| 리눅스 데몬(윈도우 서비스) (0) | 2025.03.14 |
| 터미널 명령어 - crontab 주기적인 반복 명령을 내리고 싶을 때 (0) | 2025.03.14 |
| 터미널 명령어 - at 시간을 지정한 명령을 내릴 때(작업 예약) (0) | 2025.03.14 |