New upstream version 233

This commit is contained in:
Martin Pitt 2017-03-02 10:44:39 +01:00
parent 8a584da277
commit 2897b34385
775 changed files with 50388 additions and 12104 deletions

View File

@ -18,7 +18,7 @@ Following these guidelines makes it easier for us to process your issue, and ens
* Please make sure to test your change before submitting the PR. See [HACKING](https://raw.githubusercontent.com/systemd/systemd/master/HACKING) for details how to do this.
* Make sure to run "make check" locally, before posting your PR. We use a CI system, meaning we don't even look at your PR, if the build and tests don't pass.
* If you need to update the code in an existing PR, force-push into the same branch, overriding old commits with new versions.
* After you have pushed a new version, try to remove the `reviewed/needs-rework` label. Also add a comment about the new version (no notification is sent just for the commits, so it's easy to miss the update without an explicit comment).
* After you have pushed a new version, add a comment about the new version (no notification is sent just for the commits, so it's easy to miss the update without an explicit comment). If you are a member of the systemd project on github, remove the `reviewed/needs-rework` label.
## Final Words

10
.gitignore vendored
View File

@ -19,6 +19,7 @@
/*.tar.bz2
/*.tar.gz
/*.tar.xz
/30-systemd-environment-d-generator
/GPATH
/GRTAGS
/GSYMS
@ -67,6 +68,7 @@
/systemd-debug-generator
/systemd-delta
/systemd-detect-virt
/systemd-dissect
/systemd-escape
/systemd-export
/systemd-firstboot
@ -125,6 +127,9 @@
/systemd-update-utmp
/systemd-user-sessions
/systemd-vconsole-setup
/systemd-veritysetup
/systemd-veritysetup-generator
/systemd-volatile-root
/tags
/test-acd
/test-acl-util
@ -180,6 +185,7 @@
/test-dhcp-option
/test-dhcp-server
/test-dhcp6-client
/test-dissect-image
/test-dns-domain
/test-dns-packet
/test-dnssec
@ -189,6 +195,7 @@
/test-env-util
/test-escape
/test-event
/test-exec-util
/test-execute
/test-extract-word
/test-fd-util
@ -198,6 +205,7 @@
/test-fs-util
/test-fstab-util
/test-glob-util
/test-hash
/test-hashmap
/test-hexdecoct
/test-hostname
@ -214,6 +222,7 @@
/test-journal
/test-journal-enum
/test-journal-flush
/test-journal-importer
/test-journal-init
/test-journal-interleaving
/test-journal-match
@ -236,6 +245,7 @@
/test-loopback
/test-machine-tables
/test-mmap-cache
/test-mount-util
/test-namespace
/test-ndisc-rs
/test-netlink

View File

@ -89,3 +89,16 @@ Eric Cook <llua@users.noreply.github.com>
Lukáš Nykrýn <lnykryn@redhat.com>
Heikki Kemppainen <heikki.kemppainen@nokia.com>
Hendrik Brueckner <hbrueckner@users.noreply.github.com>
Alexandros Frantzis <alexandros.frantzis@canonical.com>
Alexander Kochetkov <al.kochet@gmail.com>
Fionn Cleary <clearyf@tcd.ie>
Michel Kraus <github@demonsphere.de> <27o@users.noreply.github.com>
Charles (Chas) Williams <ciwillia@brocade.com>
Emil Soleyman <emil@soleyman.com>
Dmitry Khlebnikov <dmitry.khlebnikov@rea-group.com> <galaxy4public@users.noreply.github.com>
Antoine Eiche <lewo@abesis.fr>
Gianluca Boiano <morf3089@gmail.com>
Paolo Giangrandi <paolo@luccalug.it>
Karl Kraus <karl.kraus@tum.de> <laqueray@gmail.com>
Tibor Nagy <xnagytibor@gmail.com>
Stuart McLaren <stuart.mclaren@hp.com>

1
.mkosi/Makefile Symbolic link
View File

@ -0,0 +1 @@
../src/Makefile

82
.mkosi/mkosi.debian Normal file
View File

@ -0,0 +1,82 @@
# This file is part of systemd.
#
# Copyright 2016 Daniel Rusek
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# systemd is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
# This is a settings file for OS image generation using mkosi (https://github.com/systemd/mkosi).
# Simply invoke "mkosi" in the project directory to build an OS image.
[Distribution]
Distribution=debian
Release=unstable
[Output]
Format=raw_btrfs
Bootable=yes
[Partitions]
RootSize=2G
[Packages]
BuildPackages=
acl
autoconf
automake
diffutils
docbook-xml
docbook-xsl
gcc
git
gnu-efi
gperf
intltool
iptables-dev
libacl1-dev
libaudit-dev
libblkid-dev
libbz2-dev
libcap-dev
libcryptsetup-dev
libcurl4-gnutls-dev
libdbus-1-dev
libdw-dev
libfdisk-dev
libgcrypt20-dev
libgnutls28-dev
libidn11-dev
libkmod-dev
liblzma-dev
liblz4-dev
liblz4-tool
libmicrohttpd-dev
libmount-dev
libpam0g-dev
libqrencode-dev
libseccomp-dev
libsmartcols-dev
libtool
libxkbcommon-dev
make
pkg-config
python3
python3-lxml
tree
uuid-dev
xsltproc
xz-utils
Packages=
libqrencode3
locales

View File

@ -27,7 +27,7 @@ Format=raw_btrfs
Bootable=yes
[Partitions]
RootSize=2G
RootSize=3G
[Packages]
BuildPackages=
@ -37,6 +37,7 @@ BuildPackages=
bzip2-devel
cryptsetup-devel
dbus-devel
diffutils
docbook-style-xsl
elfutils-devel
gcc
@ -68,4 +69,5 @@ BuildPackages=
python3-devel
python3-lxml
qrencode-devel
tree
xz-devel

View File

@ -429,3 +429,8 @@
and Linux/GNU-specific APIs, we generally prefer the POSIX APIs. If there
aren't, we are happy to use GNU or Linux APIs, and expect non-GNU
implementations of libc to catch up with glibc.
- Whenever installing a signal handler, make sure to set SA_RESTART for it, so
that interrupted system calls are automatically restarted, and we minimize
hassles with handling EINTR (in particular as EINTR handling is pretty broken
on Linux).

View File

@ -25,22 +25,20 @@ HOWTO:
NTP POOL:
By default, timesyncd uses the Google NTP servers
time[1-4].google.com. They serve time that is not standards
compliant, and can be up to .5s off. Google does not
officially support these servers for the broader
audience. Distributions and vendors really should not ship
OSes or devices with these NTP servers configured. Instead,
please register your own vendor pool at ntp.org and make it
the built-in default by passing --with-ntp-servers= to
configure. Registering vendor pools is free:
By default, timesyncd uses the Google Public NTP servers
time[1-4].google.com. They serve time that uses a leap second
smear, and can be up to .5s off from servers that use stepped
leap seconds.
https://developers.google.com/time/smear
If you prefer to use leap second steps, please register your own
vendor pool at ntp.org and make it the built-in default by
passing --with-ntp-servers= to configure. Registering vendor
pools is free:
http://www.pool.ntp.org/en/vendors.html
Again, if you ship your software or device with the default
NTP servers, then you will get served wrong time, and will
rely on services that might not be supported for long.
PAM:
The default PAM config shipped by systemd is really bare bones.
It does not include many modules your distro might want to enable

66
ENVIRONMENT.md Normal file
View File

@ -0,0 +1,66 @@
# Known Environment Variables
A number of systemd components take additional runtime parameters via
environment variables. Many of these environment variables are not supported at
the same level as command line switches and other interfaces are: we don't
document them in the man pages and we make no stability guarantees for
them. While they generally are unlikely to be dropped any time soon again, we
do not want to guarantee that they stay around for good either.
Below is an (incomprehensive) list of the environment variables understood by
the various tools. Note that this list only covers environment variables not
documented in the proper man pages.
All tools:
* `$SYSTEMD_IGNORE_CHROOT=1` — if set, don't check whether being invoked in a
chroot() environment. This is particularly relevant for systemctl, as it will
not alter its behaviour for chroot() environments if set. (Normally it
refrains from talking to PID 1 in such a case.)
* `$SD_EVENT_PROFILE_DELAYS=1` — if set, the sd-event event loop implementation
will print latency information at runtime.
* `$SYSTEMD_PROC_CMDLINE` — if set, may contain a string that is used as kernel
command line instead of the actual one readable from /proc/cmdline. This is
useful for debugging, in order to test generators and other code against
specific kernel command lines.
systemctl:
* `$SYSTEMCTL_FORCE_BUS=1` — if set, do not connect to PID1's private D-Bus
listener, and instead always connect through the dbus-daemon D-bus broker.
* `$SYSTEMCTL_INSTALL_CLIENT_SIDE=1` — if set, enable or disable unit files on
the client side, instead of asking PID 1 to do this.
* `$SYSTEMCTL_SKIP_SYSV=1` — if set, do not call out to SysV compatibility hooks.
systemd-nspawn:
* `$UNIFIED_CGROUP_HIERARCHY=1` — if set, force nspawn into unified cgroup
hierarchy mode.
* `$SYSTEMD_NSPAWN_API_VFS_WRITABLE=1` — if set, make /sys and /proc/sys and
friends writable in the container. If set to "network", leave only
/proc/sys/net writable.
* `$SYSTEMD_NSPAWN_CONTAINER_SERVICE=…` — override the "service" name nspawn
uses to register with machined. If unset defaults to "nspawn", but with this
variable may be set to any other value.
* `$SYSTEMD_NSPAWN_USE_CGNS=0` — if set, do not use cgroup namespacing, even if
it is available.
* `$SYSTEMD_NSPAWN_LOCK=0` — if set, do not lock container images when running.
systemd-logind:
* `$SYSTEMD_BYPASS_HIBERNATION_MEMORY_CHECK=1` — if set, report that
hibernation is available even if the swap devices do not provide enough room
for it.
installed systemd tests:
* `$SYSTEMD_TEST_DATA` — override the location of test data. This is useful if
a test executable is moved to an arbitrary location.

View File

@ -51,12 +51,14 @@ systemd's build dependencies:
Putting this all together, here's a series of commands for preparing a patch
for systemd (this example is for Fedora):
$ sudo dnf builddep systemd # install build dependencies
$ sudo dnf install mkosi # install tool to quickly build images
$ git clone https://github.com/systemd/systemd.git
$ cd systemd
$ vim src/core/main.c # or wherever you'd like to make your changes
$ dnf builddep systemd # install build dependencies
$ ./autogen.sh c # configure the source tree
$ make -j `nproc` # build it locally, see if everything compiles fine
$ make -j `nproc` check # run some simple regression tests
$ sudo mkosi # build a test image
$ sudo systemd-nspawn -bi image.raw # boot up the test image
$ git add -p # interactively put together your patch

View File

@ -11,6 +11,7 @@ MANPAGES += \
man/bootup.7 \
man/busctl.1 \
man/daemon.7 \
man/environment.d.5 \
man/file-hierarchy.7 \
man/halt.8 \
man/hostname.5 \
@ -110,6 +111,7 @@ MANPAGES += \
man/systemd-debug-generator.8 \
man/systemd-delta.1 \
man/systemd-detect-virt.1 \
man/systemd-environment-d-generator.8 \
man/systemd-escape.1 \
man/systemd-fsck@.service.8 \
man/systemd-fstab-generator.8 \
@ -142,9 +144,11 @@ MANPAGES += \
man/systemd-tty-ask-password-agent.1 \
man/systemd-udevd.service.8 \
man/systemd-update-done.service.8 \
man/systemd-volatile-root.service.8 \
man/systemd.1 \
man/systemd.automount.5 \
man/systemd.device.5 \
man/systemd.environment-generator.7 \
man/systemd.exec.5 \
man/systemd.generator.7 \
man/systemd.journal-fields.7 \
@ -183,6 +187,7 @@ MANPAGES += \
man/udev_new.3 \
man/udevadm.8
MANPAGES_ALIAS += \
man/30-systemd-environment-d-generator.8 \
man/SD_ALERT.3 \
man/SD_BUS_ERROR_ACCESS_DENIED.3 \
man/SD_BUS_ERROR_ADDRESS_IN_USE.3 \
@ -239,6 +244,7 @@ MANPAGES_ALIAS += \
man/SD_ID128_FORMAT_STR.3 \
man/SD_ID128_FORMAT_VAL.3 \
man/SD_ID128_MAKE.3 \
man/SD_ID128_MAKE_STR.3 \
man/SD_ID128_NULL.3 \
man/SD_INFO.3 \
man/SD_JOURNAL_APPEND.3 \
@ -397,11 +403,13 @@ MANPAGES_ALIAS += \
man/sd_id128_from_string.3 \
man/sd_id128_get_boot.3 \
man/sd_id128_get_invocation.3 \
man/sd_id128_get_machine_app_specific.3 \
man/sd_id128_is_null.3 \
man/sd_id128_t.3 \
man/sd_is_mq.3 \
man/sd_is_socket.3 \
man/sd_is_socket_inet.3 \
man/sd_is_socket_sockaddr.3 \
man/sd_is_socket_unix.3 \
man/sd_is_special.3 \
man/sd_journal.3 \
@ -478,8 +486,10 @@ MANPAGES_ALIAS += \
man/systemd-udevd-control.socket.8 \
man/systemd-udevd-kernel.socket.8 \
man/systemd-udevd.8 \
man/systemd-umount.1 \
man/systemd-update-done.8 \
man/systemd-user.conf.5 \
man/systemd-volatile-root.8 \
man/udev_device_get_action.3 \
man/udev_device_get_devlinks_list_entry.3 \
man/udev_device_get_devnode.3 \
@ -536,6 +546,7 @@ MANPAGES_ALIAS += \
man/udev_ref.3 \
man/udev_unref.3 \
man/user.conf.d.5
man/30-systemd-environment-d-generator.8: man/systemd-environment-d-generator.8
man/SD_ALERT.3: man/sd-daemon.3
man/SD_BUS_ERROR_ACCESS_DENIED.3: man/sd-bus-errors.3
man/SD_BUS_ERROR_ADDRESS_IN_USE.3: man/sd-bus-errors.3
@ -592,6 +603,7 @@ man/SD_ID128_CONST_STR.3: man/sd-id128.3
man/SD_ID128_FORMAT_STR.3: man/sd-id128.3
man/SD_ID128_FORMAT_VAL.3: man/sd-id128.3
man/SD_ID128_MAKE.3: man/sd-id128.3
man/SD_ID128_MAKE_STR.3: man/sd-id128.3
man/SD_ID128_NULL.3: man/sd-id128.3
man/SD_INFO.3: man/sd-daemon.3
man/SD_JOURNAL_APPEND.3: man/sd_journal_get_fd.3
@ -750,11 +762,13 @@ man/sd_id128_equal.3: man/sd-id128.3
man/sd_id128_from_string.3: man/sd_id128_to_string.3
man/sd_id128_get_boot.3: man/sd_id128_get_machine.3
man/sd_id128_get_invocation.3: man/sd_id128_get_machine.3
man/sd_id128_get_machine_app_specific.3: man/sd_id128_get_machine.3
man/sd_id128_is_null.3: man/sd-id128.3
man/sd_id128_t.3: man/sd-id128.3
man/sd_is_mq.3: man/sd_is_fifo.3
man/sd_is_socket.3: man/sd_is_fifo.3
man/sd_is_socket_inet.3: man/sd_is_fifo.3
man/sd_is_socket_sockaddr.3: man/sd_is_fifo.3
man/sd_is_socket_unix.3: man/sd_is_fifo.3
man/sd_is_special.3: man/sd_is_fifo.3
man/sd_journal.3: man/sd_journal_open.3
@ -831,8 +845,10 @@ man/systemd-tmpfiles-setup.service.8: man/systemd-tmpfiles.8
man/systemd-udevd-control.socket.8: man/systemd-udevd.service.8
man/systemd-udevd-kernel.socket.8: man/systemd-udevd.service.8
man/systemd-udevd.8: man/systemd-udevd.service.8
man/systemd-umount.1: man/systemd-mount.1
man/systemd-update-done.8: man/systemd-update-done.service.8
man/systemd-user.conf.5: man/systemd-system.conf.5
man/systemd-volatile-root.8: man/systemd-volatile-root.service.8
man/udev_device_get_action.3: man/udev_device_get_syspath.3
man/udev_device_get_devlinks_list_entry.3: man/udev_device_has_tag.3
man/udev_device_get_devnode.3: man/udev_device_get_syspath.3
@ -889,6 +905,9 @@ man/udev_monitor_unref.3: man/udev_monitor_new_from_netlink.3
man/udev_ref.3: man/udev_new.3
man/udev_unref.3: man/udev_new.3
man/user.conf.d.5: man/systemd-system.conf.5
man/30-systemd-environment-d-generator.html: man/systemd-environment-d-generator.html
$(html-alias)
man/SD_ALERT.html: man/sd-daemon.html
$(html-alias)
@ -1057,6 +1076,9 @@ man/SD_ID128_FORMAT_VAL.html: man/sd-id128.html
man/SD_ID128_MAKE.html: man/sd-id128.html
$(html-alias)
man/SD_ID128_MAKE_STR.html: man/sd-id128.html
$(html-alias)
man/SD_ID128_NULL.html: man/sd-id128.html
$(html-alias)
@ -1531,6 +1553,9 @@ man/sd_id128_get_boot.html: man/sd_id128_get_machine.html
man/sd_id128_get_invocation.html: man/sd_id128_get_machine.html
$(html-alias)
man/sd_id128_get_machine_app_specific.html: man/sd_id128_get_machine.html
$(html-alias)
man/sd_id128_is_null.html: man/sd-id128.html
$(html-alias)
@ -1546,6 +1571,9 @@ man/sd_is_socket.html: man/sd_is_fifo.html
man/sd_is_socket_inet.html: man/sd_is_fifo.html
$(html-alias)
man/sd_is_socket_sockaddr.html: man/sd_is_fifo.html
$(html-alias)
man/sd_is_socket_unix.html: man/sd_is_fifo.html
$(html-alias)
@ -1774,12 +1802,18 @@ man/systemd-udevd-kernel.socket.html: man/systemd-udevd.service.html
man/systemd-udevd.html: man/systemd-udevd.service.html
$(html-alias)
man/systemd-umount.html: man/systemd-mount.html
$(html-alias)
man/systemd-update-done.html: man/systemd-update-done.service.html
$(html-alias)
man/systemd-user.conf.html: man/systemd-system.conf.html
$(html-alias)
man/systemd-volatile-root.html: man/systemd-volatile-root.service.html
$(html-alias)
man/udev_device_get_action.html: man/udev_device_get_syspath.html
$(html-alias)
@ -2260,13 +2294,20 @@ if HAVE_LIBCRYPTSETUP
MANPAGES += \
man/crypttab.5 \
man/systemd-cryptsetup-generator.8 \
man/systemd-cryptsetup@.service.8
man/systemd-cryptsetup@.service.8 \
man/systemd-veritysetup-generator.8 \
man/systemd-veritysetup@.service.8
MANPAGES_ALIAS += \
man/systemd-cryptsetup.8
man/systemd-cryptsetup.8 \
man/systemd-veritysetup.8
man/systemd-cryptsetup.8: man/systemd-cryptsetup@.service.8
man/systemd-veritysetup.8: man/systemd-veritysetup@.service.8
man/systemd-cryptsetup.html: man/systemd-cryptsetup@.service.html
$(html-alias)
man/systemd-veritysetup.html: man/systemd-veritysetup@.service.html
$(html-alias)
endif
if HAVE_MICROHTTPD
@ -2607,6 +2648,7 @@ EXTRA_DIST += \
man/crypttab.xml \
man/daemon.xml \
man/dnssec-trust-anchors.d.xml \
man/environment.d.xml \
man/file-hierarchy.xml \
man/halt.xml \
man/hostname.xml \
@ -2739,6 +2781,7 @@ EXTRA_DIST += \
man/systemd-debug-generator.xml \
man/systemd-delta.xml \
man/systemd-detect-virt.xml \
man/systemd-environment-d-generator.xml \
man/systemd-escape.xml \
man/systemd-firstboot.xml \
man/systemd-fsck@.service.xml \
@ -2794,8 +2837,12 @@ EXTRA_DIST += \
man/systemd-update-utmp.service.xml \
man/systemd-user-sessions.service.xml \
man/systemd-vconsole-setup.service.xml \
man/systemd-veritysetup-generator.xml \
man/systemd-veritysetup@.service.xml \
man/systemd-volatile-root.service.xml \
man/systemd.automount.xml \
man/systemd.device.xml \
man/systemd.environment-generator.xml \
man/systemd.exec.xml \
man/systemd.generator.xml \
man/systemd.journal-fields.xml \

View File

@ -39,12 +39,12 @@ SUBDIRS = . po
.PRECIOUS: $(TEST_SUITE_LOG) Makefile
LIBUDEV_CURRENT=7
LIBUDEV_REVISION=5
LIBUDEV_REVISION=6
LIBUDEV_AGE=6
LIBSYSTEMD_CURRENT=17
LIBSYSTEMD_CURRENT=18
LIBSYSTEMD_REVISION=0
LIBSYSTEMD_AGE=17
LIBSYSTEMD_AGE=18
# Dirs of external packages
dbuspolicydir=@dbuspolicydir@
@ -55,6 +55,8 @@ pamconfdir=@pamconfdir@
pkgconfigdatadir=$(datadir)/pkgconfig
pkgconfiglibdir=$(libdir)/pkgconfig
polkitpolicydir=$(datadir)/polkit-1/actions
polkitrulesdir=$(datadir)/polkit-1/rules.d
polkitpkladir=$(localstatedir)/lib/polkit-1/localauthority/10-vendor.d
bashcompletiondir=@bashcompletiondir@
zshcompletiondir=@zshcompletiondir@
rpmmacrosdir=$(prefix)/lib/rpm/macros.d
@ -66,6 +68,7 @@ catalogstatedir=$(systemdstatedir)/catalog
xinitrcdir=$(sysconfdir)/X11/xinit/xinitrc.d
# Our own, non-special dirs
environmentdir=$(prefix)/lib/environment.d
pkgsysconfdir=$(sysconfdir)/systemd
userunitdir=$(prefix)/lib/systemd/user
userpresetdir=$(prefix)/lib/systemd/user-preset
@ -78,6 +81,8 @@ networkdir=$(rootprefix)/lib/systemd/network
pkgincludedir=$(includedir)/systemd
systemgeneratordir=$(rootlibexecdir)/system-generators
usergeneratordir=$(prefix)/lib/systemd/user-generators
systemenvgeneratordir=$(prefix)/lib/systemd/system-environment-generators
userenvgeneratordir=$(prefix)/lib/systemd/user-environment-generators
systemshutdowndir=$(rootlibexecdir)/system-shutdown
systemsleepdir=$(rootlibexecdir)/system-sleep
systemunitdir=$(rootprefix)/lib/systemd/system
@ -91,6 +96,7 @@ kernelinstalldir = $(prefix)/lib/kernel/install.d
factory_etcdir = $(datadir)/factory/etc
factory_pamdir = $(datadir)/factory/etc/pam.d
bootlibdir = $(prefix)/lib/systemd/boot/efi
testsdir = $(prefix)/lib/systemd/tests
# And these are the special ones for /
rootprefix=@rootprefix@
@ -116,6 +122,8 @@ pkgconfiglib_DATA =
polkitpolicy_in_in_files =
polkitpolicy_in_files =
polkitpolicy_files =
polkitrules_files =
polkitpkla_files =
dist_udevrules_DATA =
nodist_udevrules_DATA =
dist_pkgsysconf_DATA =
@ -129,6 +137,7 @@ check_DATA =
dist_rootlibexec_DATA =
tests=
manual_tests =
TEST_DATA_FILES =
TEST_EXTENSIONS = .py
PY_LOG_COMPILER = $(PYTHON)
DISABLE_HARD_ERRORS = yes
@ -145,7 +154,8 @@ TESTS =
endif
AM_TESTS_ENVIRONMENT = \
export SYSTEMD_KBD_MODEL_MAP=$(abs_top_srcdir)/src/locale/kbd-model-map; \
export SYSTEMD_LANGUAGE_FALLBACK_MAP=$(abs_top_srcdir)/src/locale/language-fallback-map;
export SYSTEMD_LANGUAGE_FALLBACK_MAP=$(abs_top_srcdir)/src/locale/language-fallback-map; \
export PATH=$(abs_top_builddir):$$PATH;
if ENABLE_BASH_COMPLETION
dist_bashcompletion_DATA = $(dist_bashcompletion_data)
@ -200,6 +210,8 @@ AM_CPPFLAGS = \
-DSYSTEMD_CRYPTSETUP_PATH=\"$(rootlibexecdir)/systemd-cryptsetup\" \
-DSYSTEM_GENERATOR_PATH=\"$(systemgeneratordir)\" \
-DUSER_GENERATOR_PATH=\"$(usergeneratordir)\" \
-DSYSTEM_ENV_GENERATOR_PATH=\"$(systemenvgeneratordir)\" \
-DUSER_ENV_GENERATOR_PATH=\"$(userenvgeneratordir)\" \
-DSYSTEM_SHUTDOWN_PATH=\"$(systemshutdowndir)\" \
-DSYSTEM_SLEEP_PATH=\"$(systemsleepdir)\" \
-DSYSTEMD_KBD_MODEL_MAP=\"$(pkgdatadir)/kbd-model-map\" \
@ -213,7 +225,6 @@ AM_CPPFLAGS = \
-DLIBDIR=\"$(libdir)\" \
-DROOTLIBDIR=\"$(rootlibdir)\" \
-DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \
-DTEST_DIR=\"$(abs_top_srcdir)/test\" \
-I $(top_srcdir)/src \
-I $(top_builddir)/src/basic \
-I $(top_srcdir)/src/basic \
@ -245,6 +256,8 @@ AM_CPPFLAGS = \
-I $(top_srcdir)/src/libsystemd/sd-device \
-I $(top_srcdir)/src/libsystemd/sd-id128 \
-I $(top_srcdir)/src/libsystemd-network \
-DABS_SRC_DIR=\"$(abs_top_srcdir)\" \
-DABS_BUILD_DIR=\"$(abs_top_builddir)\" \
$(OUR_CPPFLAGS)
AM_CFLAGS = $(OUR_CFLAGS)
@ -299,6 +312,10 @@ endef
install-directories-hook:
$(MKDIR_P) $(addprefix $(DESTDIR),$(INSTALL_DIRS))
install-environment-conf-hook: install-directories-hook
$(AM_V_LN)$(LN_S) --relative -f $(DESTDIR)$(sysconfdir)/environment \
$(DESTDIR)$(environmentdir)/99-environment.conf
install-aliases-hook:
set -- $(SYSTEM_UNIT_ALIASES) && \
dir=$(systemunitdir) && $(install-aliases)
@ -332,11 +349,14 @@ INSTALL_EXEC_HOOKS += \
install-target-wants-hook \
install-directories-hook \
install-aliases-hook \
install-touch-usr-hook
INSTALL_EXEC_HOOKS += \
install-touch-usr-hook \
install-busnames-target-wants-hook
if ENABLE_ENVIRONMENT_D
INSTALL_EXEC_HOOKS += \
install-environment-conf-hook
endif
# ------------------------------------------------------------------------------
AM_V_M4 = $(AM_V_M4_$(V))
AM_V_M4_ = $(AM_V_M4_$(AM_DEFAULT_VERBOSITY))
@ -392,6 +412,7 @@ rootlibexec_PROGRAMS = \
systemd-initctl \
systemd-shutdown \
systemd-remount-fs \
systemd-volatile-root \
systemd-reply-password \
systemd-fsck \
systemd-ac-power \
@ -400,6 +421,11 @@ rootlibexec_PROGRAMS = \
systemd-socket-proxyd \
systemd-update-done
if HAVE_BLKID
rootlibexec_PROGRAMS += \
systemd-dissect
endif
if HAVE_UTMP
rootlibexec_PROGRAMS += \
systemd-update-utmp
@ -411,6 +437,11 @@ systemgenerator_PROGRAMS = \
systemd-system-update-generator \
systemd-debug-generator
if ENABLE_ENVIRONMENT_D
userenvgenerator_PROGRAMS = \
30-systemd-environment-d-generator
endif
dist_bashcompletion_data = \
shell-completion/bash/busctl \
shell-completion/bash/journalctl \
@ -525,8 +556,10 @@ nodist_systemunit_DATA = \
units/serial-getty@.service \
units/console-getty.service \
units/container-getty@.service \
units/system-update-cleanup.service \
units/systemd-initctl.service \
units/systemd-remount-fs.service \
units/systemd-volatile-root.service \
units/systemd-ask-password-wall.service \
units/systemd-ask-password-console.service \
units/systemd-sysctl.service \
@ -588,8 +621,10 @@ EXTRA_DIST += \
units/console-getty.service.m4.in \
units/container-getty@.service.m4.in \
units/rescue.service.in \
units/system-update-cleanup.service.in \
units/systemd-initctl.service.in \
units/systemd-remount-fs.service.in \
units/systemd-volatile-root.service.in \
units/systemd-update-utmp.service.in \
units/systemd-update-utmp-runlevel.service.in \
units/systemd-ask-password-wall.service.in \
@ -633,7 +668,6 @@ EXTRA_DIST += \
units/halt-local.service.in
GENERAL_ALIASES += \
$(systemunitdir)/reboot.target $(pkgsysconfdir)/system/ctrl-alt-del.target \
$(systemunitdir)/machines.target $(pkgsysconfdir)/system/multi-user.target.wants/machines.target
dist_doc_DATA = \
@ -659,6 +693,15 @@ EXTRA_DIST += \
@INTLTOOL_POLICY_RULE@
systemd-mount-install-hook:
-$(LN_S) systemd-mount $(DESTDIR)$(bindir)/systemd-umount
systemd-mount-uninstall-hook:
-rm $(DESTDIR)$(bindir)/systemd-umount
INSTALL_EXEC_HOOKS += systemd-mount-install-hook
UNINSTALL_EXEC_HOOKS += systemd-mount-uninstall-hook
# ------------------------------------------------------------------------------
MANPAGES =
@ -738,7 +781,9 @@ EXTRA_DIST += \
tools/make-man-rules.py \
tools/make-directive-index.py \
tools/xml_helper.py \
man/glib-event-glue.c
man/glib-event-glue.c \
man/50-xdg-data-dirs.sh \
man/90-rearrange-path.py
# ------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
@ -850,6 +895,8 @@ libbasic_la_SOURCES = \
src/basic/bus-label.h \
src/basic/ratelimit.h \
src/basic/ratelimit.c \
src/basic/exec-util.c \
src/basic/exec-util.h \
src/basic/exit-status.c \
src/basic/exit-status.h \
src/basic/virt.c \
@ -932,8 +979,12 @@ libbasic_la_SOURCES = \
src/basic/copy.h \
src/basic/alloc-util.h \
src/basic/alloc-util.c \
src/basic/formats-util.h \
src/basic/nss-util.h
src/basic/format-util.h \
src/basic/nss-util.h \
src/basic/khash.h \
src/basic/khash.c \
src/basic/journal-importer.h \
src/basic/journal-importer.c
nodist_libbasic_la_SOURCES = \
src/basic/errno-from-name.h \
@ -986,6 +1037,8 @@ libshared_la_SOURCES = \
src/shared/apparmor-util.h \
src/shared/ima-util.c \
src/shared/ima-util.h \
src/shared/journal-util.c \
src/shared/journal-util.h \
src/shared/ptyfwd.c \
src/shared/ptyfwd.h \
src/shared/base-filesystem.c \
@ -1037,6 +1090,8 @@ libshared_la_SOURCES = \
src/shared/machine-image.h \
src/shared/machine-pool.c \
src/shared/machine-pool.h \
src/shared/loop-util.c \
src/shared/loop-util.h \
src/shared/resolve-util.c \
src/shared/resolve-util.h \
src/shared/bus-unit-util.c \
@ -1046,7 +1101,13 @@ libshared_la_SOURCES = \
src/shared/tests.h \
src/shared/tests.c \
src/shared/fdset.c \
src/shared/fdset.h
src/shared/fdset.h \
src/shared/nsflags.h \
src/shared/nsflags.c \
src/shared/dissect-image.c \
src/shared/dissect-image.h \
src/shared/volatile-util.c \
src/shared/volatile-util.h
if HAVE_UTMP
libshared_la_SOURCES += \
@ -1069,7 +1130,9 @@ libshared_la_CFLAGS = \
$(AM_CFLAGS) \
$(ACL_CFLAGS) \
$(LIBIDN_CFLAGS) \
$(SECCOMP_CFLAGS)
$(SECCOMP_CFLAGS) \
$(BLKID_CFLAGS) \
$(LIBCRYPTSETUP_CFLAGS)
libshared_la_LIBADD = \
libsystemd-internal.la \
@ -1078,7 +1141,9 @@ libshared_la_LIBADD = \
libudev-internal.la \
$(ACL_LIBS) \
$(LIBIDN_LIBS) \
$(SECCOMP_LIBS)
$(SECCOMP_LIBS) \
$(BLKID_LIBS) \
$(LIBCRYPTSETUP_LIBS)
rootlibexec_LTLIBRARIES += \
libsystemd-shared.la
@ -1100,6 +1165,8 @@ libsystemd_shared_la_CFLAGS = \
$(ACL_CFLAGS) \
$(LIBIDN_CFLAGS) \
$(SECCOMP_CFLAGS) \
$(BLKID_CFLAGS) \
$(LIBCRYPTSETUP_CFLAGS) \
-fvisibility=default
# We can't use libshared_la_LIBADD here because it would
@ -1111,7 +1178,9 @@ libsystemd_shared_la_LIBADD = \
$(libudev_internal_la_LIBADD) \
$(ACL_LIBS) \
$(LIBIDN_LIBS) \
$(SECCOMP_LIBS)
$(SECCOMP_LIBS) \
$(BLKID_LIBS) \
$(LIBCRYPTSETUP_LIBS)
libsystemd_shared_la_LDFLAGS = \
$(AM_LDFLAGS) \
@ -1449,7 +1518,8 @@ manual_tests += \
test-btrfs \
test-acd \
test-ipv4ll-manual \
test-ask-password-api
test-ask-password-api \
test-dissect-image
unsafe_tests = \
test-hostname \
@ -1485,6 +1555,8 @@ tests += \
test-utf8 \
test-ellipsize \
test-util \
test-mount-util \
test-exec-util \
test-cpu-set-util \
test-hexdecoct \
test-escape \
@ -1551,7 +1623,8 @@ tests += \
test-rlimit-util \
test-signal-util \
test-selinux \
test-sizeof
test-sizeof \
test-journal-importer
if HAVE_ACL
tests += \
@ -1563,7 +1636,7 @@ tests += \
test-seccomp
endif
EXTRA_DIST += \
TEST_DATA_FILES += \
test/a.service \
test/basic.target \
test/b.service \
@ -1683,13 +1756,21 @@ EXTRA_DIST += \
test/test-execute/exec-runtimedirectory-mode.service \
test/test-execute/exec-runtimedirectory-owner.service \
test/test-execute/exec-runtimedirectory-owner-nfsnobody.service \
test/test-execute/exec-restrict-namespaces-no.service \
test/test-execute/exec-restrict-namespaces-yes.service \
test/test-execute/exec-restrict-namespaces-mnt.service \
test/test-execute/exec-restrict-namespaces-mnt-blacklist.service \
test/test-execute/exec-read-only-path-succeed.service \
test/test-execute/exec-privatedevices-yes-capability-sys-rawio.service \
test/test-execute/exec-privatedevices-no-capability-sys-rawio.service \
test/bus-policy/hello.conf \
test/bus-policy/methods.conf \
test/bus-policy/ownerships.conf \
test/bus-policy/signals.conf \
test/bus-policy/check-own-rules.conf \
test/bus-policy/many-rules.conf \
test/bus-policy/test.conf
test/bus-policy/test.conf \
test/hwdb/10-bad.hwdb
EXTRA_DIST += \
@ -1858,6 +1939,18 @@ test_util_SOURCES = \
test_util_LDADD = \
libsystemd-shared.la
test_mount_util_SOURCES = \
src/test/test-mount-util.c
test_mount_util_LDADD = \
libsystemd-shared.la
test_exec_util_SOURCES = \
src/test/test-exec-util.c
test_exec_util_LDADD = \
libsystemd-shared.la
test_hexdecoct_SOURCES = \
src/test/test-hexdecoct.c
@ -2038,7 +2131,8 @@ test_seccomp_SOURCES = \
src/test/test-seccomp.c
test_seccomp_LDADD = \
libsystemd-shared.la
libsystemd-shared.la \
$(SECCOMP_LIBS)
test_namespace_LDADD = \
libcore.la
@ -2055,6 +2149,17 @@ test_ask_password_api_SOURCES = \
test_ask_password_api_LDADD = \
libsystemd-shared.la
test_dissect_image_SOURCES = \
src/test/test-dissect-image.c
test_dissect_image_CFLAGS = \
$(AM_CFLAGS) \
$(BLKID_CFLAGS)
test_dissect_image_LDADD = \
libsystemd-shared.la \
$(BLKID_LIBS)
test_signal_util_SOURCES = \
src/test/test-signal-util.c
@ -2391,6 +2496,16 @@ test_arphrd_list_SOURCES = \
test_arphrd_list_LDADD = \
libsystemd-shared.la
test_journal_importer_SOURCES = \
src/test/test-journal-importer.c
test_journal_importer_LDADD = \
libsystemd-shared.la
TEST_DATA_FILES += \
test/journal-data/journal-1.txt \
test/journal-data/journal-2.txt
# ------------------------------------------------------------------------------
## .PHONY so it always rebuilds it
.PHONY: coverage lcov-run lcov-report coverage-sync
@ -2736,6 +2851,13 @@ systemd_system_update_generator_SOURCES = \
systemd_system_update_generator_LDADD = \
libsystemd-shared.la
# ------------------------------------------------------------------------------
30_systemd_environment_d_generator_SOURCES = \
src/environment-d-generator/environment-d-generator.c
30_systemd_environment_d_generator_LDADD = \
libsystemd-shared.la
# ------------------------------------------------------------------------------
if ENABLE_HIBERNATE
systemgenerator_PROGRAMS += \
@ -3013,6 +3135,13 @@ systemd_remount_fs_SOURCES = \
systemd_remount_fs_LDADD = \
libsystemd-shared.la
# ------------------------------------------------------------------------------
systemd_volatile_root_SOURCES = \
src/volatile-root/volatile-root.c
systemd_volatile_root_LDADD = \
libsystemd-shared.la
# ------------------------------------------------------------------------------
systemd_cgroups_agent_SOURCES = \
src/cgroups-agent/cgroups-agent.c
@ -3041,6 +3170,13 @@ systemd_notify_SOURCES = \
systemd_notify_LDADD = \
libsystemd-shared.la
# ------------------------------------------------------------------------------
systemd_dissect_SOURCES = \
src/dissect/dissect.c
systemd_dissect_LDADD = \
libsystemd-shared.la
# ------------------------------------------------------------------------------
systemd_path_SOURCES = \
src/path/path.c
@ -3691,6 +3827,7 @@ dist_udevrules_DATA += \
rules/60-persistent-input.rules \
rules/60-persistent-alsa.rules \
rules/60-persistent-storage.rules \
rules/60-sensor.rules \
rules/60-serial.rules \
rules/64-btrfs.rules \
rules/70-mouse.rules \
@ -3860,6 +3997,7 @@ dist_udevhwdb_DATA = \
hwdb/20-net-ifname.hwdb \
hwdb/60-evdev.hwdb \
hwdb/60-keyboard.hwdb \
hwdb/60-sensor.hwdb \
hwdb/70-mouse.hwdb \
hwdb/70-pointingstick.hwdb \
hwdb/70-touchpad.hwdb
@ -3887,7 +4025,8 @@ EXTRA_DIST += \
# ------------------------------------------------------------------------------
if ENABLE_TESTS
TESTS += \
test/udev-test.pl
test/udev-test.pl \
test/hwdb-test.sh
if HAVE_PYTHON
TESTS += \
@ -3928,20 +4067,21 @@ check_DATA += \
test/sys
endif
# packed sysfs test tree
test/sys: test/sys.tar.xz
-rm -rf test/sys
# sysfs test tree
test/sys: test/sys-script.py
-rm -rf $@
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)tar -C test/ -xJf $(top_srcdir)/test/sys.tar.xz
-touch test/sys
$(AM_V_GEN)$(top_srcdir)/test/sys-script.py $(dir $@)
-touch $@
test-sys-distclean:
-rm -rf test/sys
DISTCLEAN_LOCAL_HOOKS += test-sys-distclean
EXTRA_DIST += \
test/sys.tar.xz \
test/sys-script.py \
test/udev-test.pl \
test/hwdb-test.sh \
test/rule-syntax-check.py \
test/sysv-generator-test.py \
test/mocks/fsck \
@ -4031,6 +4171,16 @@ test_id128_LDADD = \
tests += \
test-id128
# ------------------------------------------------------------------------------
test_hash_SOURCES = \
src/test/test-hash.c
test_hash_LDADD = \
libsystemd-shared.la
tests += \
test-hash
# ------------------------------------------------------------------------------
bin_PROGRAMS += \
@ -4748,10 +4898,12 @@ EXTRA_DIST += \
# ------------------------------------------------------------------------------
if HAVE_LIBCRYPTSETUP
rootlibexec_PROGRAMS += \
systemd-cryptsetup
systemd-cryptsetup \
systemd-veritysetup
systemgenerator_PROGRAMS += \
systemd-cryptsetup-generator
systemd-cryptsetup-generator \
systemd-veritysetup-generator
dist_systemunit_DATA += \
units/cryptsetup.target \
@ -4774,6 +4926,23 @@ systemd_cryptsetup_generator_SOURCES = \
systemd_cryptsetup_generator_LDADD = \
libsystemd-shared.la
systemd_veritysetup_SOURCES = \
src/veritysetup/veritysetup.c
systemd_veritysetup_CFLAGS = \
$(AM_CFLAGS) \
$(LIBCRYPTSETUP_CFLAGS)
systemd_veritysetup_LDADD = \
libsystemd-shared.la \
$(LIBCRYPTSETUP_LIBS)
systemd_veritysetup_generator_SOURCES = \
src/veritysetup/veritysetup-generator.c
systemd_veritysetup_generator_LDADD = \
libsystemd-shared.la
SYSINIT_TARGET_WANTS += \
cryptsetup.target
@ -5433,14 +5602,12 @@ dist_dbuspolicy_DATA += \
dist_dbussystemservice_DATA += \
src/resolve/org.freedesktop.resolve1.service
SYSTEM_UNIT_ALIASES += \
systemd-resolved.service dbus-org.freedesktop.resolve1.service
BUSNAMES_TARGET_WANTS += \
org.freedesktop.resolve1.busname
GENERAL_ALIASES += \
$(systemunitdir)/systemd-resolved.service $(pkgsysconfdir)/system/multi-user.target.wants/systemd-resolved.service
$(systemunitdir)/systemd-resolved.service $(pkgsysconfdir)/system/multi-user.target.wants/systemd-resolved.service \
$(systemunitdir)/systemd-resolved.service $(pkgsysconfdir)/system/dbus-org.freedesktop.resolve1.service
nodist_pkgsysconf_DATA += \
src/resolve/resolved.conf
@ -5524,7 +5691,7 @@ test_dns_packet_SOURCES = \
test_dns_packet_CPPFLAGS = \
$(AM_CPPFLAGS) \
-DRESOLVE_TEST_DIR=\"$(abs_top_srcdir)/src/resolve/test-data\"
-I $(top_srcdir)/src/test
test_dns_packet_CFLAGS = \
$(AM_CFLAGS) \
@ -5535,18 +5702,20 @@ test_dns_packet_LDADD = \
$(GCRYPT_LIBS) \
-lm
EXTRA_DIST += \
src/resolve/test-data/_openpgpkey.fedoraproject.org.pkts \
src/resolve/test-data/fedoraproject.org.pkts \
src/resolve/test-data/gandi.net.pkts \
src/resolve/test-data/google.com.pkts \
src/resolve/test-data/root.pkts \
src/resolve/test-data/sw1a1aa-sw1a2aa-sw1a2ab-sw1a2ac.find.me.uk.pkts \
src/resolve/test-data/teamits.com.pkts \
src/resolve/test-data/zbyszek@fedoraproject.org.pkts \
src/resolve/test-data/_443._tcp.fedoraproject.org.pkts \
src/resolve/test-data/kyhwana.org.pkts \
src/resolve/test-data/fake-caa.pkts
TEST_DATA_FILES += \
test/test-resolve/_openpgpkey.fedoraproject.org.pkts \
test/test-resolve/fedoraproject.org.pkts \
test/test-resolve/gandi.net.pkts \
test/test-resolve/google.com.pkts \
test/test-resolve/root.pkts \
test/test-resolve/sw1a1aa-sw1a2aa-sw1a2ab-sw1a2ac.find.me.uk.pkts \
test/test-resolve/teamits.com.pkts \
test/test-resolve/zbyszek@fedoraproject.org.pkts \
test/test-resolve/_443._tcp.fedoraproject.org.pkts \
test/test-resolve/kyhwana.org.pkts \
test/test-resolve/fake-caa.pkts
EXTRA_DIST += $(TEST_DATA_FILES)
test_dnssec_SOURCES = \
src/resolve/test-dnssec.c \
@ -5608,39 +5777,43 @@ libnetworkd_core_la_CFLAGS = \
libnetworkd_core_la_SOURCES = \
src/libsystemd-network/network-internal.h \
src/network/networkd.h \
src/network/netdev/netdev.h \
src/network/netdev/netdev.c \
src/network/netdev/vrf.h \
src/network/netdev/vrf.c \
src/network/netdev/tunnel.h \
src/network/netdev/tunnel.c \
src/network/netdev/veth.h \
src/network/netdev/veth.c \
src/network/netdev/vxlan.h \
src/network/netdev/vxlan.c \
src/network/netdev/vlan.h \
src/network/netdev/vlan.c \
src/network/netdev/macvlan.h \
src/network/netdev/macvlan.c \
src/network/netdev/ipvlan.h \
src/network/netdev/ipvlan.c \
src/network/netdev/dummy.h \
src/network/netdev/dummy.c \
src/network/netdev/tuntap.h \
src/network/netdev/tuntap.c \
src/network/netdev/bond.h \
src/network/netdev/bond.c \
src/network/netdev/bridge.h \
src/network/netdev/bridge.c \
src/network/netdev/vcan.h \
src/network/netdev/vcan.c \
src/network/networkd-manager.h \
src/network/networkd-manager.c \
src/network/networkd-manager-bus.c \
src/network/networkd-conf.h \
src/network/networkd-conf.c \
src/network/networkd-link.h \
src/network/networkd-link.c \
src/network/networkd-netdev.h \
src/network/networkd-netdev.c \
src/network/networkd-netdev-vrf.h \
src/network/networkd-netdev-vrf.c \
src/network/networkd-netdev-tunnel.h \
src/network/networkd-netdev-tunnel.c \
src/network/networkd-netdev-veth.h \
src/network/networkd-netdev-veth.c \
src/network/networkd-netdev-vxlan.h \
src/network/networkd-netdev-vxlan.c \
src/network/networkd-netdev-vlan.h \
src/network/networkd-netdev-vlan.c \
src/network/networkd-netdev-macvlan.h \
src/network/networkd-netdev-macvlan.c \
src/network/networkd-netdev-ipvlan.h \
src/network/networkd-netdev-ipvlan.c \
src/network/networkd-netdev-dummy.h \
src/network/networkd-netdev-dummy.c \
src/network/networkd-netdev-tuntap.h \
src/network/networkd-netdev-tuntap.c \
src/network/networkd-netdev-bond.h \
src/network/networkd-netdev-bond.c \
src/network/networkd-netdev-bridge.h \
src/network/networkd-netdev-bridge.c \
src/network/networkd-netdev-vcan.h \
src/network/networkd-netdev-vcan.c \
src/network/networkd-link-bus.c \
src/network/networkd-ipv4ll.c \
src/network/networkd-ipv6-proxy-ndp.h \
src/network/networkd-ipv6-proxy-ndp.c \
src/network/networkd-dhcp4.c \
src/network/networkd-dhcp6.c \
src/network/networkd-ndisc.h \
@ -5652,8 +5825,6 @@ libnetworkd_core_la_SOURCES = \
src/network/networkd-address.c \
src/network/networkd-route.h \
src/network/networkd-route.c \
src/network/networkd-manager.c \
src/network/networkd-manager-bus.c \
src/network/networkd-fdb.h \
src/network/networkd-fdb.c \
src/network/networkd-brvlan.h \
@ -5668,7 +5839,7 @@ libnetworkd_core_la_SOURCES = \
nodist_libnetworkd_core_la_SOURCES = \
src/network/networkd-gperf.c \
src/network/networkd-network-gperf.c \
src/network/networkd-netdev-gperf.c
src/network/netdev/netdev-gperf.c
libnetworkd_core_la_LIBADD = \
libsystemd-network.la \
@ -5682,11 +5853,11 @@ systemd_networkd_wait_online_CFLAGS = \
systemd_networkd_wait_online_SOURCES = \
src/libsystemd-network/network-internal.h \
src/network/networkd-wait-online.h \
src/network/networkd-wait-online-link.h \
src/network/networkd-wait-online.c \
src/network/networkd-wait-online-manager.c \
src/network/networkd-wait-online-link.c
src/network/wait-online/link.h \
src/network/wait-online/link.c \
src/network/wait-online/manager.h \
src/network/wait-online/manager.c \
src/network/wait-online/wait-online.c
systemd_networkd_wait_online_LDADD = \
libsystemd-network.la \
@ -5705,6 +5876,9 @@ networkctl_LDADD = \
dist_bashcompletion_data += \
shell-completion/bash/networkctl
dist_zshcompletion_data += \
shell-completion/zsh/_networkctl
test_networkd_conf_SOURCES = \
src/network/test-networkd-conf.c
@ -5767,14 +5941,22 @@ SYSTEM_UNIT_ALIASES += \
BUSNAMES_TARGET_WANTS += \
org.freedesktop.network1.busname
polkitrules_files += \
src/network/systemd-networkd.rules
polkitpkla_files += \
src/network/systemd-networkd.pkla
endif
gperf_gperf_sources += \
src/network/networkd-gperf.gperf \
src/network/networkd-network-gperf.gperf \
src/network/networkd-netdev-gperf.gperf
src/network/netdev/netdev-gperf.gperf
EXTRA_DIST += \
src/network/systemd-networkd.rules \
src/network/systemd-networkd.pkla \
units/systemd-networkd.service.m4.in \
units/systemd-networkd-wait-online.service.in \
test/networkd-test.py
@ -6041,6 +6223,8 @@ EXTRA_DIST += \
test/TEST-13-NSPAWN-SMOKE/Makefile \
test/TEST-13-NSPAWN-SMOKE/create-busybox-container \
test/TEST-13-NSPAWN-SMOKE/test.sh \
test/TEST-14-MACHINE-ID/Makefile \
test/TEST-14-MACHINE-ID/test.sh \
test/test-functions
EXTRA_DIST += \
@ -6053,6 +6237,7 @@ EXTRA_DIST += \
# ------------------------------------------------------------------------------
substitutions = \
'|rootlibdir=$(rootlibdir)|' \
'|rootlibexecdir=$(rootlibexecdir)|' \
'|rootbindir=$(rootbindir)|' \
'|bindir=$(bindir)|' \
@ -6074,6 +6259,8 @@ substitutions = \
'|sysctldir=$(sysctldir)|' \
'|systemgeneratordir=$(systemgeneratordir)|' \
'|usergeneratordir=$(usergeneratordir)|' \
'|systemenvgeneratordir=$(systemenvgeneratordir)|' \
'|userenvgeneratordir=$(userenvgeneratordir)|' \
'|CERTIFICATEROOT=$(CERTIFICATEROOT)|' \
'|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \
'|PACKAGE_NAME=$(PACKAGE_NAME)|' \
@ -6117,6 +6304,7 @@ substitutions = \
SED_PROCESS = \
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
$(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(substitutions)))) \
-e '/^\#\# /d' \
< $< > $@
units/%: units/%.in
@ -6182,6 +6370,8 @@ if ENABLE_POLKIT
nodist_polkitpolicy_DATA = \
$(polkitpolicy_files) \
$(polkitpolicy_in_in_files:.policy.in.in=.policy)
polkitrules_DATA = $(polkitrules_files)
polkitpkla_DATA = $(polkitpkla_files)
endif
EXTRA_DIST += \
@ -6334,6 +6524,7 @@ INSTALL_DIRS += \
endif
INSTALL_DIRS += \
$(environmentdir) \
$(prefix)/lib/modules-load.d \
$(sysconfdir)/modules-load.d \
$(prefix)/lib/systemd/network \
@ -6463,7 +6654,7 @@ valgrind-tests: $(TESTS)
if $(LIBTOOL) --mode=execute file $$f | grep -q shell; then \
echo -e "$${x}Skipping non-binary $$f"; else \
echo -e "$${x}Running $$f"; \
$(LIBTOOL) --mode=execute valgrind -q --leak-check=full --max-stackframe=5242880 --error-exitcode=55 $(builddir)/$$f ; fi; \
$(AM_TESTS_ENVIRONMENT) $(LIBTOOL) --mode=execute valgrind -q --leak-check=full --max-stackframe=5242880 --error-exitcode=55 $(builddir)/$$f ; fi; \
x="\n\n"; \
done
@ -6561,6 +6752,20 @@ tests += \
test-libsystemd-sym \
test-libudev-sym
.PHONY: install-tests
install-tests: $(tests) $(TEST_DATA_FILES)
for f in $(tests); do \
if [ -x $(top_builddir)/.libs/$$f ]; then \
install -D -m 755 $(top_builddir)/.libs/$$f $(DESTDIR)/$(testsdir)/$$f; \
else \
install -D -m 755 $(top_builddir)/$$f $(DESTDIR)/$(testsdir)/$$f; \
fi; \
done
for f in $(TEST_DATA_FILES); do \
install -D -m 644 $(top_srcdir)/$$f $(DESTDIR)/$(testsdir)/testdata/$${f#test/}; \
done
.PHONY: cppcheck
cppcheck:
cppcheck --enable=all -q $(top_srcdir)

440
NEWS
View File

@ -1,7 +1,427 @@
systemd System and Service Manager
CHANGES WITH 233:
* The "hybrid" control group mode has been modified to improve
compatibility with "legacy" cgroups-v1 setups. Specifically, the
"hybrid" setup of /sys/fs/cgroup is now pretty much identical to
"legacy" (including /sys/fs/cgroup/systemd as "name=systemd" named
cgroups-v1 hierarchy), the only externally visible change being that
the cgroups-v2 hierarchy is also mounted, to
/sys/fs/cgroup/unified. This should provide a large degree of
compatibility with "legacy" cgroups-v1, while taking benefit of the
better management capabilities of cgroups-v2.
* The default control group setup mode may be selected both a boot-time
via a set of kernel command line parameters (specifically:
systemd.unified_cgroup_hierarchy= and
systemd.legacy_systemd_cgroup_controller=), as well as a compile-time
default selected on the configure command line
(--with-default-hierarchy=). The upstream default is "hybrid"
(i.e. the cgroups-v1 + cgroups-v2 mixture discussed above) now, but
this will change in a future systemd version to be "unified" (pure
cgroups-v2 mode). The third option for the compile time option is
"legacy", to enter pure cgroups-v1 mode. We recommend downstream
distributions to default to "hybrid" mode for release distributions,
starting with v233. We recommend "unified" for development
distributions (specifically: distributions such as Fedora's rawhide)
as that's where things are headed in the long run. Use "legacy" for
greatest stability and compatibility only.
* Note one current limitation of "unified" and "hybrid" control group
setup modes: the kernel currently does not permit the systemd --user
instance (i.e. unprivileged code) to migrate processes between two
disconnected cgroup subtrees, even if both are managed and owned by
the user. This effectively means "systemd-run --user --scope" doesn't
work when invoked from outside of any "systemd --user" service or
scope. Specifically, it is not supported from session scopes. We are
working on fixing this in a future systemd version. (See #3388 for
further details about this.)
* DBus policy files are now installed into /usr rather than /etc. Make
sure your system has dbus >= 1.9.18 running before upgrading to this
version, or override the install path with --with-dbuspolicydir= .
* All python scripts shipped with systemd (specifically: the various
tests written in Python) now require Python 3.
* systemd unit tests can now run standalone (without the source or
build directories), and can be installed into /usr/lib/systemd/tests/
with 'make install-tests'.
* Note that from this version on, CONFIG_CRYPTO_USER_API_HASH,
CONFIG_CRYPTO_HMAC and CONFIG_CRYPTO_SHA256 need to be enabled in the
kernel.
* Support for the %c, %r, %R specifiers in unit files has been
removed. Specifiers are not supposed to be dependent on configuration
in the unit file itself (so that they resolve the same regardless
where used in the unit files), but these specifiers were influenced
by the Slice= option.
* The shell invoked by debug-shell.service now defaults to /bin/sh in
all cases. If distributions want to use a different shell for this
purpose (for example Fedora's /sbin/sushell) they need to specify
this explicitly at configure time using --with-debug-shell=.
* The confirmation spawn prompt has been reworked to offer the
following choices:
(c)ontinue, proceed without asking anymore
(D)ump, show the state of the unit
(f)ail, don't execute the command and pretend it failed
(h)elp
(i)nfo, show a short summary of the unit
(j)obs, show jobs that are in progress
(s)kip, don't execute the command and pretend it succeeded
(y)es, execute the command
The 'n' choice for the confirmation spawn prompt has been removed,
because its meaning was confusing.
The prompt may now also be redirected to an alternative console by
specifying the console as parameter to systemd.confirm_spawn=.
* Services of Type=notify require a READY=1 notification to be sent
during startup. If no such message is sent, the service now fails,
even if the main process exited with a successful exit code.
* Services that fail to start up correctly now always have their
ExecStopPost= commands executed. Previously, they'd enter "failed"
state directly, without executing these commands.
* The option MulticastDNS= of network configuration files has acquired
an actual implementation. With MulticastDNS=yes a host can resolve
names of remote hosts and reply to mDNS A and AAAA requests.
* When units are about to be started an additional check is now done to
ensure that all dependencies of type BindsTo= (when used in
combination with After=) have been started.
* systemd-analyze gained a new verb "syscall-filter" which shows which
system call groups are defined for the SystemCallFilter= unit file
setting, and which system calls they contain.
* A new system call filter group "@filesystem" has been added,
consisting of various file system related system calls. Group
"@reboot" has been added, covering reboot, kexec and shutdown related
calls. Finally, group "@swap" has been added covering swap
configuration related calls.
* A new unit file option RestrictNamespaces= has been added that may be
used to restrict access to the various process namespace types the
Linux kernel provides. Specifically, it may be used to take away the
right for a service unit to create additional file system, network,
user, and other namespaces. This sandboxing option is particularly
relevant due to the high amount of recently discovered namespacing
related vulnerabilities in the kernel.
* systemd-udev's .link files gained support for a new AutoNegotiation=
setting for configuring Ethernet auto-negotiation.
* systemd-networkd's .network files gained support for a new
ListenPort= setting in the [DHCP] section to explicitly configure the
UDP client port the DHCP client shall listen on.
* .network files gained a new Unmanaged= boolean setting for explicitly
excluding one or more interfaces from management by systemd-networkd.
* The systemd-networkd ProxyARP= option has been renamed to
IPV4ProxyARP=. Similarly, VXLAN-specific option ARPProxy= has been
renamed to ReduceARPProxy=. The old names continue to be available
for compatibility.
* systemd-networkd gained support for configuring IPv6 Proxy NDP
addresses via the new IPv6ProxyNDPAddress= .network file setting.
* systemd-networkd's bonding device support gained support for two new
configuration options ActiveSlave= and PrimarySlave=.
* The various options in the [Match] section of .network files gained
support for negative matching.
* New systemd-specific mount options are now understood in /etc/fstab:
x-systemd.mount-timeout= may be used to configure the maximum
permitted runtime of the mount command.
x-systemd.device-bound may be set to bind a mount point to its
backing device unit, in order to automatically remove a mount point
if its backing device is unplugged. This option may also be
configured through the new SYSTEMD_MOUNT_DEVICE_BOUND udev property
on the block device, which is now automatically set for all CDROM
drives, so that mounted CDs are automatically unmounted when they are
removed from the drive.
x-systemd.after= and x-systemd.before= may be used to explicitly
order a mount after or before another unit or mount point.
* Enqueued start jobs for device units are now automatically garbage
collected if there are no jobs waiting for them anymore.
* systemctl list-jobs gained two new switches: with --after, for every
queued job the jobs it's waiting for are shown; with --before the
jobs which it's blocking are shown.
* systemd-nspawn gained support for ephemeral boots from disk images
(or in other words: --ephemeral and --image= may now be
combined). Moreover, ephemeral boots are now supported for normal
directories, even if the backing file system is not btrfs. Of course,
if the file system does not support file system snapshots or
reflinks, the initial copy operation will be relatively expensive, but
this should still be suitable for many use cases.
* Calendar time specifications in .timer units now support
specifications relative to the end of a month by using "~" instead of
"-" as separator between month and day. For example, "*-02~03" means
"the third last day in February". In addition a new syntax for
repeated events has been added using the "/" character. For example,
"9..17/2:00" means "every two hours from 9am to 5pm".
* systemd-socket-proxyd gained a new parameter --connections-max= for
configuring the maximum number of concurrent connections.
* sd-id128 gained a new API for generating unique IDs for the host in a
way that does not leak the machine ID. Specifically,
sd_id128_get_machine_app_specific() derives an ID based on the
machine ID a in well-defined, non-reversible, stable way. This is
useful whenever an identifier for the host is needed but where the
identifier shall not be useful to identify the system beyond the
scope of the application itself. (Internally this uses HMAC-SHA256 as
keyed hash function using the machine ID as input.)
* NotifyAccess= gained a new supported value "exec". When set
notifications are accepted from all processes systemd itself invoked,
including all control processes.
* .nspawn files gained support for defining overlay mounts using the
Overlay= and OverlayReadOnly= options. Previously this functionality
was only available on the systemd-nspawn command line.
* systemd-nspawn's --bind= and --overlay= options gained support for
bind/overlay mounts whose source lies within the container tree by
prefixing the source path with "+".
* systemd-nspawn's --bind= and --overlay= options gained support for
automatically allocating a temporary source directory in /var/tmp
that is removed when the container dies. Specifically, if the source
directory is specified as empty string this mechanism is selected. An
example usage is --overlay=+/var::/var, which creates an overlay
mount based on the original /var contained in the image, overlayed
with a temporary directory in the host's /var/tmp. This way changes
to /var are automatically flushed when the container shuts down.
* systemd-nspawn --image= option does now permit raw file system block
devices (in addition to images containing partition tables, as
before).
* The disk image dissection logic in systemd-nspawn gained support for
automatically setting up LUKS encrypted as well as Verity protected
partitions. When a container is booted from an encrypted image the
passphrase is queried at start-up time. When a container with Verity
data is started, the root hash is search in a ".roothash" file
accompanying the disk image (alternatively, pass the root hash via
the new --root-hash= command line option).
* A new tool /usr/lib/systemd/systemd-dissect has been added that may
be used to dissect disk images the same way as systemd-nspawn does
it, following the Bootable Partition Specification. It may even be
used to mount disk images with complex partition setups (including
LUKS and Verity partitions) to a local host directory, in order to
inspect them. This tool is not considered public API (yet), and is
thus not installed into /usr/bin. Please do not rely on its
existence, since it might go away or be changed in later systemd
versions.
* A new generator "systemd-verity-generator" has been added, similar in
style to "systemd-cryptsetup-generator", permitting automatic setup of
Verity root partitions when systemd boots up. In order to make use of
this your partition setup should follow the Discoverable Partitions
Specification, and the GPT partition ID of the root file system
partition should be identical to the upper 128bit of the Verity root
hash. The GPT partition ID of the Verity partition protecting it
should be the lower 128bit of the Verity root hash. If the partition
image follows this model it is sufficient to specify a single
"roothash=" kernel command line argument to both configure which root
image and verity partition to use as well as the root hash for
it. Note that systemd-nspawn's Verity support follows the same
semantics, meaning that disk images with proper Verity data in place
may be booted in containers with systemd-nspawn as well as on
physical systems via the verity generator. Also note that the "mkosi"
tool available at https://github.com/systemd/mkosi has been updated
to generate Verity protected disk images following this scheme. In
fact, it has been updated to generate disk images that optionally
implement a complete UEFI SecureBoot trust chain, involving a signed
kernel and initrd image that incorporates such a root hash as well as
a Verity-enabled root partition.
* The hardware database (hwdb) udev supports has been updated to carry
accelerometer quirks.
* All system services are now run with a fresh kernel keyring set up
for them. The invocation ID is stored by default in it, thus
providing a safe, non-overridable way to determine the invocation
ID of each service.
* Service unit files gained new BindPaths= and BindReadOnlyPaths=
options for bind mounting arbitrary paths in a service-specific
way. When these options are used, arbitrary host or service files and
directories may be mounted to arbitrary locations in the service's
view.
* Documentation has been added that lists all of systemd's low-level
environment variables:
https://github.com/systemd/systemd/blob/master/ENVIRONMENT.md
* sd-daemon gained a new API sd_is_socket_sockaddr() for determining
whether a specific socket file descriptor matches a specified socket
address.
* systemd-firstboot has been updated to check for the
systemd.firstboot= kernel command line option. It accepts a boolean
and when set to false the first boot questions are skipped.
* systemd-fstab-generator has been updated to check for the
systemd.volatile= kernel command line option, which either takes an
optional boolean parameter or the special value "state". If used the
system may be booted in a "volatile" boot mode. Specifically,
"systemd.volatile" is used, the root directory will be mounted as
tmpfs, and only /usr is mounted from the actual root file system. If
"systemd.volatile=state" is used, the root directory will be mounted
as usual, but /var is mounted as tmpfs. This concept provides similar
functionality as systemd-nspawn's --volatile= option, but provides it
on physical boots. Use this option for implementing stateless
systems, or testing systems with all state and/or configuration reset
to the defaults. (Note though that many distributions are not
prepared to boot up without a populated /etc or /var, though.)
* systemd-gpt-auto-generator gained support for LUKS encrypted root
partitions. Previously it only supported LUKS encrypted partitions
for all other uses, except for the root partition itself.
* Socket units gained support for listening on AF_VSOCK sockets for
communication in virtualized QEMU environments.
* The "configure" script gained a new option --with-fallback-hostname=
for specifying the fallback hostname to use if none is configured in
/etc/hostname. For example, by specifying
--with-fallback-hostname=fedora it is possible to default to a
hostname of "fedora" on pristine installations.
* systemd-cgls gained support for a new --unit= switch for listing only
the control groups of a specific unit. Similar --user-unit= has been
added for listing only the control groups of a specific user unit.
* systemd-mount gained a new --umount switch for unmounting a mount or
automount point (and all mount/automount points below it).
* systemd will now refuse full configuration reloads (via systemctl
daemon-reload and related calls) unless at least 16MiB of free space
are available in /run. This is a safety precaution in order to ensure
that generators can safely operate after the reload completed.
* A new unit file option RootImage= has been added, which has a similar
effect as RootDirectory= but mounts the service's root directory from
a disk image instead of plain directory. This logic reuses the same
image dissection and mount logic that systemd-nspawn already uses,
and hence supports any disk images systemd-nspawn supports, including
those following the Discoverable Partition Specification, as well as
Verity enabled images. This option enables systemd to run system
services directly off disk images acting as resource bundles,
possibly even including full integrity data.
* A new MountAPIVFS= unit file option has been added, taking a boolean
argument. If enabled /proc, /sys and /dev (collectively called the
"API VFS") will be mounted for the service. This is only relevant if
RootDirectory= or RootImage= is used for the service, as these mounts
are of course in place in the host mount namespace anyway.
* systemd-nspawn gained support for a new --pivot-root= switch. If
specified the root directory within the container image is pivoted to
the specified mount point, while the original root disk is moved to a
different place. This option enables booting of ostree images
directly with systemd-nspawn.
* The systemd build scripts will no longer complain if the NTP server
addresses are not changed from the defaults. Google now supports
these NTP servers officially. We still recommend downstreams to
properly register an NTP pool with the NTP pool project though.
* coredumpctl gained new new "--reverse" option for printing the list
of coredumps in reverse order.
* coredumpctl will now show additional information about truncated and
inaccessible coredumps, as well as coredumps that are still being
processed. It also gained a new --quiet switch for suppressing
additional informational message in its output.
* coredumpctl gained support for only showing coredumps newer and/or
older than specific timestamps, using the new --since= and --until=
options, reminiscent of journalctl's options by the same name.
* The systemd-coredump logic has been improved so that it may be reused
to collect backtraces in non-compiled languages, for example in
scripting languages such as Python.
* machinectl will now show the UID shift of local containers, if user
namespacing is enabled for them.
* systemd will now optionally run "environment generator" binaries at
configuration load time. They may be used to add environment
variables to the environment block passed to services invoked. One
user environment generator is shipped by default that sets up
environment variables based on files dropped into /etc/environment.d
and ~/.config/environment.d/.
* systemd-resolved now includes the new, recently published 2017 DNSSEC
root key (KSK).
* hostnamed has been updated to report a new chassis type of
"convertible" to cover "foldable" laptops that can both act as a
tablet and as a laptop, such as various Lenovo Yoga devices.
Contributions from: Adrián López, Alexander Galanin, Alexander
Kochetkov, Alexandros Frantzis, Andrey Ulanov, Antoine Eiche, Baruch
Siach, Bastien Nocera, Benjamin Robin, Björn, Brandon Philips, Cédric
Schieli, Charles (Chas) Williams, Christian Hesse, Daniele Medri,
Daniel Drake, Daniel Rusek, Daniel Wagner, Dan Streetman, Dave Reisner,
David Glasser, David Herrmann, David Michael, Djalal Harouni, Dmitry
Khlebnikov, Dmitry Rozhkov, Dongsu Park, Douglas Christman, Earnestly,
Emil Soleyman, Eric Cook, Evgeny Vereshchagin, Felipe Sateler, Fionn
Cleary, Florian Klink, Francesco Brozzu, Franck Bui, Gabriel Rauter,
Gianluca Boiano, Giedrius Statkevičius, Graeme Lawes, Hans de Goede,
Harald Hoyer, Ian Kelling, Ivan Shapovalov, Jakub Wilk, Janne Heß, Jan
Synacek, Jason Reeder, Jonathan Boulle, Jörg Thalheim, Jouke Witteveen,
Karl Kraus, Kees Cook, Keith Busch, Kieran Colford, kilian-k, Lennart
Poettering, Lubomir Rintel, Lucas Werkmeister, Lukas Rusak, Maarten de
Vries, Maks Naumov, Mantas Mikulėnas, Marc-Andre Lureau, Marcin Bachry,
Mark Stosberg, Martin Ejdestig, Martin Pitt, Mauricio Faria de
Oliveira, micah, Michael Biebl, Michael Shields, Michal Schmidt, Michal
Sekletar, Michel Kraus, Mike Gilbert, Mikko Ylinen, Mirza Krak,
Namhyung Kim, nikolaof, peoronoob, Peter Hutterer, Peter Körner, Philip
Withnall, Piotr Drąg, Ray Strode, Reverend Homer, Rike-Benjamin
Schuppner, Robert Kreuzer, Ronny Chevalier, Ruslan Bilovol, sammynx,
Sergey Ptashnick, Sergiusz Urbaniak, Stefan Berger, Stefan Hajnoczi,
Stefan Schweter, Stuart McLaren, Susant Sahani, Sylvain Plantefève,
Taylor Smock, Tejun Heo, Thomas Blume, Thomas H. P. Andersen, Tibor
Nagy, Tobias Stoeckmann, Tom Gundersen, Torstein Husebø, Viktar
Vaŭčkievič, Viktor Mihajlovski, Vitaly Sulimov, Waldemar Brodkorb,
Walter Garcia-Fontes, Wim de With, Yassine Imounachen, Yi EungJun,
YunQiang Su, Yu Watanabe, Zbigniew Jędrzejewski-Szmek, Александр
Тихонов
— Berlin, 2017-03-01
CHANGES WITH 232:
* udev now runs with MemoryDenyWriteExecute=, RestrictRealtime= and
RestrictAddressFamilies= enabled. These sandboxing options should
generally be compatible with the various external udev call-out
binaries we are aware of, however there may be exceptions, in
particular when exotic languages for these call-outs are used. In
this case, consider turning off these settings locally.
* The new RemoveIPC= option can be used to remove IPC objects owned by
the user or group of a service when that service exits.
@ -1853,7 +2273,7 @@ CHANGES WITH 220:
gudev from the Gnome project instead. gudev is still included
in systemd, for now. It will be removed soon, though. Please
also see the announcement-thread on systemd-devel:
http://lists.freedesktop.org/archives/systemd-devel/2015-May/032070.html
https://lists.freedesktop.org/archives/systemd-devel/2015-May/032070.html
* systemd now exposes a CPUUsageNSec= property for each
service unit on the bus, that contains the overall consumed
@ -3756,7 +4176,7 @@ CHANGES WITH 211:
also supports LUKS-encrypted partitions now. With this in
place, automatic discovery of partitions to mount following
the Discoverable Partitions Specification
(http://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec)
(https://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec)
is now a lot more complete. This allows booting without
/etc/fstab and without root= on the kernel command line on
systems prepared appropriately.
@ -5108,7 +5528,7 @@ CHANGES WITH 199:
* A new libsystemd-bus module has been added that implements a
pretty complete D-Bus client library. For details see:
http://lists.freedesktop.org/archives/systemd-devel/2013-March/009797.html
https://lists.freedesktop.org/archives/systemd-devel/2013-March/009797.html
* journald will now explicitly flush the journal files to disk
at the latest 5min after each write. The file will then also
@ -5258,7 +5678,7 @@ CHANGES WITH 198:
only in conjunction with Gummiboot, but could be supported
by other boot loaders too. For details see:
http://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface
https://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface
* A new generator has been added that automatically mounts the
EFI System Partition (ESP) to /boot, if that directory
@ -5334,7 +5754,7 @@ CHANGES WITH 198:
* A new tool kernel-install has been added that can install
kernel images according to the Boot Loader Specification:
http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec
https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec
* Boot time console output has been improved to provide
animated boot time output for hanging jobs.
@ -5424,7 +5844,7 @@ CHANGES WITH 197:
of these policies is now the default. Please see this wiki
document for details:
http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
* Auke Kok's bootchart implementation has been added to the
systemd tree. It is an optional component that can graph the
@ -5572,7 +5992,7 @@ CHANGES WITH 196:
indexed database to link up additional information with
journal entries. For further details please check:
http://www.freedesktop.org/wiki/Software/systemd/catalog
https://www.freedesktop.org/wiki/Software/systemd/catalog
The indexed message catalog database also needs to be
rebuilt after installation of message catalog files. Use
@ -6424,7 +6844,7 @@ CHANGES WITH 183:
* A framework for implementing offline system updates is now
integrated, for details see:
http://freedesktop.org/wiki/Software/systemd/SystemUpdates
https://www.freedesktop.org/wiki/Software/systemd/SystemUpdates
* A new service type Type=idle is available now which helps us
avoiding ugly interleaving of getty output and boot status
@ -6705,7 +7125,7 @@ CHANGES WITH 39:
* New unit file option ControlGroupPersistent= to make cgroups
persistent, following the mechanisms outlined in
http://www.freedesktop.org/wiki/Software/systemd/PaxControlGroups
https://www.freedesktop.org/wiki/Software/systemd/PaxControlGroups
* Support multiple local RTCs in a sane way
@ -6792,7 +7212,7 @@ CHANGES WITH 38:
* Processes with '@' in argv[0][0] are now excluded from the
final shut-down killing spree, following the logic explained
in:
http://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons
https://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons
* All processes remaining in a service cgroup when we enter
the START or START_PRE states are now killed with

24
README
View File

@ -4,7 +4,7 @@ DETAILS:
http://0pointer.de/blog/projects/systemd.html
WEB SITE:
http://www.freedesktop.org/wiki/Software/systemd
https://www.freedesktop.org/wiki/Software/systemd
GIT:
git@github.com:systemd/systemd.git
@ -14,7 +14,7 @@ GITWEB:
https://github.com/systemd/systemd
MAILING LIST:
http://lists.freedesktop.org/mailman/listinfo/systemd-devel
https://lists.freedesktop.org/mailman/listinfo/systemd-devel
IRC:
#systemd on irc.freenode.org
@ -50,6 +50,11 @@ REQUIREMENTS:
CONFIG_PROC_FS
CONFIG_FHANDLE (libudev, mount and bind mount handling)
Kernel crypto/hash API
CONFIG_CRYPTO_USER_API_HASH
CONFIG_CRYPTO_HMAC
CONFIG_CRYPTO_SHA256
udev will fail to work with the legacy sysfs layout:
CONFIG_SYSFS_DEPRECATED=n
@ -67,12 +72,15 @@ REQUIREMENTS:
create additional symlinks in /dev/disk/ and /dev/tape:
CONFIG_BLK_DEV_BSG
Required for PrivateNetwork and PrivateDevices in service units:
Required for PrivateNetwork= and PrivateDevices= in service units:
CONFIG_NET_NS
CONFIG_DEVPTS_MULTIPLE_INSTANCES
Note that systemd-localed.service and other systemd units use
PrivateNetwork and PrivateDevices so this is effectively required.
Required for PrivateUsers= in service units:
CONFIG_USER_NS
Optional but strongly recommended:
CONFIG_IPV6
CONFIG_AUTOFS4_FS
@ -143,6 +151,8 @@ REQUIREMENTS:
util-linux >= v2.27.1 required
dbus >= 1.4.0 (strictly speaking optional, but recommended)
NOTE: If using dbus < 1.9.18, you should override the default
policy directory (--with-dbuspolicydir=/etc/dbus-1/system.d).
dracut (optional)
PolicyKit (optional)
@ -175,6 +185,7 @@ REQUIREMENTS:
- python3-pyparsing
- python3-evdev (used by hwdb parsing tests)
- strace (used by test/test-functions)
- capsh (optional, used by test-execute)
USERS AND GROUPS:
Default udev rules use the following standard system group
@ -263,18 +274,13 @@ WARNINGS:
requires that /var/run is a symlink to /run.
For more information on this issue consult
http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
https://www.freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
To run systemd under valgrind, compile with VALGRIND defined
(e.g. ./configure CPPFLAGS='... -DVALGRIND=1'). Otherwise,
false positives will be triggered by code which violates
some rules but is actually safe.
Currently, systemd-timesyncd defaults to use the Google NTP
servers if not specified otherwise at configure time. You
really should not ship an OS or device with this default
setting. See DISTRO_PORTING for details.
ENGINEERING AND CONSULTING SERVICES:
Kinvolk (https://kinvolk.io) offers professional engineering
and consulting services for systemd. Please contact Chris Kühl

View File

@ -5,7 +5,7 @@
## Details
General information about systemd can be found in the [systemd Wiki](http://www.freedesktop.org/wiki/Software/systemd).
General information about systemd can be found in the [systemd Wiki](https://www.freedesktop.org/wiki/Software/systemd).
Information about build requirements are provided in the [README file](../master/README).
@ -17,4 +17,4 @@ Please see our [Contribution Guidelines](../master/.github/CONTRIBUTING.md) for
When preparing patches for systemd, please follow our [Coding Style Guidelines](../master/CODING_STYLE).
If you are looking for support, please contact our [mailing list](http://lists.freedesktop.org/mailman/listinfo/systemd-devel) or join our [IRC channel](irc://irc.freenode.org/%23systemd).
If you are looking for support, please contact our [mailing list](https://lists.freedesktop.org/mailman/listinfo/systemd-devel) or join our [IRC channel](irc://irc.freenode.org/%23systemd).

131
TODO
View File

@ -12,9 +12,6 @@ Bugfixes:
Environment=ONE='one' "TWO='two two' too" THREE=
ExecStart=/bin/python3 -c 'import sys;print(sys.argv)' $ONE $TWO $THREE
* When systemctl --host is used, underlying ssh connection can remain open.
bus_close does not kill children?
External:
* Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros.
@ -23,15 +20,102 @@ External:
Janitorial Clean-ups:
* code cleanup: retire FOREACH_WORD_QUOTED, port to extract_first_word() loops instead.
For example, most conf parsing callbacks should use it.
* replace manual readdir() loops with FOREACH_DIRENT or FOREACH_DIRENT_ALL
* Rearrange tests so that the various test-xyz.c match a specific src/basic/xyz.c again
Features:
* sort generated hwdb files alphabetically when we import them, so that git
diffs remain minimal (in particular: the OUI databases we import are not
sorted, and not stable)
* set SystemCallArchitectures=native on all our services
* maybe add call sd_journal_set_block_timeout() or so to set SO_SNDTIMEO for
the sd-journal logging socket, and, if the timeout is set to 0, sets
O_NONBLOCK on it. That way people can control if and when to block for
logging.
* tighten sd_notify() MAINPID= checks a bit: don't accept foreign PIDs (i.e.
PIDs not managed by the service manager)
* journald: when we recv a log datagram via the native or syslog transports,
search for the PID in the active stream connections, and let's make sure to
always process the datagrams before the streams. Then, cache client metadata
per stream in the stream object. This way we can somewhat fix the race with
quickly exiting processes which log as long as they had their own stream
connection...
* hostnamed: populate form factor data from a new hwdb database, so that old
yogas can be recognized as "convertible" too, even if they predate the DMI
"convertible" form factor
* Maybe add a small tool invoked early at boot, that adds in or resizes
partitions automatically, to be used when the media used is actually larger
than the image written onto it is.
* Maybe add PrivatePIDs= as new unit setting, and do minimal PID namespacing
after all. Be strict however, only support the equivalent of nspawn's
--as-pid2 switch, and sanely proxy sd_notify() messages dropping stuff such
as MAINPID.
* change the dependency Set* objects in Unit structures to become Hashmap*, and
then store a bit mask who created a specific dependency: the source unit via
fragment configuration, the destination unit via fragment configuration, or
the source unit via udev rules (in case of .device units), or any combination
thereof. This information can then be used to flush out old udev-created
dependencies when the udev properties change, and eventually to implement a
"systemctl refresh" operation for reloading the configuration of individual
units without reloading the whole set.
* Add ExecMonitor= setting. May be used multiple times. Forks off a process in
the service cgroup, which is supposed to monitor the service, and when it
exits the service is considered failed by its monitor.
* track the per-service PAM process properly (i.e. as an additional control
process), so that it may be queried on the bus and everything.
* add a new "debug" job mode, that is propagated to unit_start() and for
services results in two things: we raise SIGSTOP right before invoking
execve() and turn off watchdog support. Then, use that to implement
"systemd-gdb" for attaching to the start-up of any system service in its
natural habitat.
* replace all canonicalize_file_name() invocations by chase_symlinks(), in
particulr those where a rootdir is relevant.
* maybe introduce gpt auto discovery for /var/tmp?
* set ProtectSystem=strict for all our usual services.
* fix PrivateNetwork= so that we fall back gracefully on kernels lacking
namespacing support (similar for the other namespacing options)
* maybe add gpt-partition-based user management: each user gets his own
LUKS-encrypted GPT partition with a new GPT type. A small nss module
enumerates users via udev partition enumeration. UIDs are assigned in a fixed
way: the partition index is added as offset to some fixed base uid. User name
is stored in GPT partition name. A PAM module authenticates the user via the
LUKS partition password. Benefits: strong per-user security, compatibility
with stateless/read-only/verity-enabled root. (other idea: do this based on
loopback files in /home, without GPT involvement)
* gpt-auto logic: introduce support for discovering /var matching an image. For
that, use a partition type UUID that is hashed from the OS name (as encoded
in /etc/os-release), the architecture, and 4 new bits from the gpt flags
field of the root partition. This way can easily support multiple OS
installations on the same GPT partition table, without problems with
unmatched /var partitions.
* gpt-auto logic: related to the above, maybe support a "secondary" root
partition, that is mounted to / and is writable, and where the actual root's
/usr is mounted into.
* machined: add apis to query /etc/machine-info data of a container
* .mount and .swap units: add Format=yes|no option that formats the partition before mounting/enabling it, implicitly
* gpt-auto logic: support encrypted swap, add kernel cmdline option to force it, and honour a gpt bit about it, plus maybe a configuration file
* drop nss-myhostname in favour of nss-resolve?
* drop internal dlopen() based nss-dns fallback in nss-resolve, and rely on the
@ -49,8 +133,6 @@ Features:
* switch to ProtectSystem=strict for all our long-running services where that's possible
* If RootDirectory= is used, mount /proc, /sys, /dev into it, if not mounted yet
* Permit masking specific netlink APIs with RestrictAddressFamily=
* nspawn: start UID allocation loop from hash of container name
@ -59,14 +141,10 @@ Features:
* define gpt header bits to select volatility mode
* nspawn: mount loopback filesystems with "discard"
* ProtectKernelLogs= (drops CAP_SYSLOG, add seccomp for syslog() syscall, and DeviceAllow to /dev/kmsg) in service files
* ProtectClock= (drops CAP_SYS_TIMES, adds seecomp filters for settimeofday, adjtimex), sets DeviceAllow o /dev/rtc
* ProtectKernelModules= (drops CAP_SYS_MODULE and filters the kmod syscalls)
* ProtectTracing= (drops CAP_SYS_PTRACE, blocks ptrace syscall, makes /sys/kernel/tracing go away)
* ProtectMount= (drop mount/umount/pivot_root from seccomp, disallow fuse via DeviceAllow, imply Mountflags=slave)
@ -84,12 +162,6 @@ Features:
* Add DataDirectory=, CacheDirectory= and LogDirectory= to match
RuntimeDirectory=, and create it as necessary when starting a service, owned by the right user.
* Add BindDirectory= for allowing arbitrary, private bind mounts for services
* Add RootImage= for mounting a disk image or file as root directory
* RestrictNamespaces= or so in services (taking away the ability to create namespaces, with setns, unshare, clone)
* make sure the ratelimit object can deal with USEC_INFINITY as way to turn off things
* journalctl: make sure -f ends when the container indicated by -M terminates
@ -124,8 +196,6 @@ Features:
* journald: sigbus API via a signal-handler safe function that people may call
from the SIGBUS handler
* move specifier expansion from service_spawn() into load-fragment.c
* optionally, also require WATCHDOG=1 notifications during service start-up and shutdown
* resolved: when routing queries, make sure only look for the *longest* suffix...
@ -274,7 +344,6 @@ Features:
* support empty /etc boots nicely:
- nspawn/gpt-generator: introduce new gpt partition type for /usr
- fstab-generator: support systemd.volatile=yes|no|state on the kernel cmdline, too, similar to nspawn's --volatile=
* generator that automatically discovers btrfs subvolumes, identifies their purpose based on some xattr on them.
@ -287,12 +356,9 @@ Features:
* For timer units: add some mechanisms so that timer units that trigger immediately on boot do not have the services
they run added to the initial transaction and thus confuse Type=idle.
* Run most system services with cgroupfs read-only and procfs with a more secure mode (doesn't work, since the hidepid= option is per-pid-namespace, not per-mount)
* add bus api to query unit file's X fields.
* gpt-auto-generator:
- Support LUKS for root devices
- Define new partition type for encrypted swap? Support probed LUKS for encrypted swap?
- Make /home automount rather than mount?
@ -350,8 +416,6 @@ Features:
* refuse boot if /usr/lib/os-release is missing or /etc/machine-id cannot be set up
* btrfs raid assembly: some .device jobs stay stuck in the queue
* man: the documentation of Restart= currently is very misleading and suggests the tools from ExecStartPre= might get restarted.
* load .d/*.conf dropins for device units
@ -569,7 +633,6 @@ Features:
- man: maybe sort directives in man pages, and take sections from --help and apply them to man too
* systemctl:
- systemctl list-jobs - show dependencies
- add systemctl switch to dump transaction without executing it
- Add a verbose mode to "systemctl start" and friends that explains what is being done or not done
- "systemctl disable" on a static unit prints no message and does
@ -590,7 +653,6 @@ Features:
- timer units should get the ability to trigger when:
o CLOCK_REALTIME makes jumps (TFD_TIMER_CANCEL_ON_SET)
o DST changes
- Support 2012-02~4 as syntax for specifying the fourth to last day of the month.
- Modulate timer frequency based on battery state
* add libsystemd-password or so to query passwords during boot using the password agent logic
@ -599,15 +661,13 @@ Features:
* on shutdown: move utmp, wall, audit logic all into PID 1 (or logind?), get rid of systemd-update-utmp-runlevel
* make repeated alt-ctrl-del presses printing a dump, or even force a reboot without
waiting for the timeout
* make repeated alt-ctrl-del presses printing a dump
* hostnamed: before returning information from /etc/machine-info.conf check the modification data and reread. Similar for localed, ...
* currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab is not
* nspawn:
- nspawn -x should support ephemeral instances of gpt images
- emulate /dev/kmsg using CUSE and turn off the syslog syscall
with seccomp. That should provide us with a useful log buffer that
systemd can log to during early boot, and disconnect container logs
@ -630,6 +690,10 @@ Features:
- maybe make copying of /etc/resolv.conf optional, and skip it if --read-only
is used
* dissect
- refuse mounting over a mount point
- automatically discover .roothash files in dissect, similarly to nspawn
* machined:
- add an API so that libvirt-lxc can inform us about network interfaces being
removed or added to an existing machine
@ -744,7 +808,6 @@ Features:
- maybe introduce WantsMountsFor=? Usecase:
http://lists.freedesktop.org/archives/systemd-devel/2015-January/027729.html
- recreate systemd's D-Bus private socket file on SIGUSR2
- GC unreferenced jobs (such as .device jobs)
- move PAM code into its own binary
- when we automatically restart a service, ensure we restart its rdeps, too.
- hide PAM options in fragment parser when compile time disabled

View File

@ -20,7 +20,7 @@
# Belarusian translation
# Фармат каталога апісаны на старонцы
# http://www.freedesktop.org/wiki/Software/systemd/catalog
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
@ -94,7 +94,7 @@ Documentation: man:core(5)
Subject: Новая сесія № @SESSION_ID@ створана для карыстальніка @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Новая сесія з № @SESSION_ID@ створана для карыстальніка @USER_ID@.
@ -104,7 +104,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: Сесія № @SESSION_ID@ спынена
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Сесія № @SESSION_ID@ спынена.
@ -112,7 +112,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: Даступна новае працоўнае месца № @SEAT_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Новае працоўнае месца № @SEAT_ID@ наладжана і даступна для выкарыстання.
@ -120,7 +120,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: Працоўнае месца № @SEAT_ID@ выдалена
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Працоўнае месца № @SEAT_ID@ выдалена і больш не даступна.

View File

@ -20,7 +20,7 @@
# Belarusian Latin translation
# Farmat kataloha apisany na staroncy
# http://www.freedesktop.org/wiki/Software/systemd/catalog
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
@ -95,7 +95,7 @@ Rekamiendujecca paviedamić ab hetym raspracoŭnikam.
Subject: Novaja siesija № @SESSION_ID@ stvorana dlia karystaĺnika @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Novaja siesija z № @SESSION_ID@ stvorana dlia karystaĺnika @USER_ID@.
@ -105,7 +105,7 @@ Lidar hetaj siesii pad № @LEADER@.
Subject: Siesija № @SESSION_ID@ spyniena
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Siesija № @SESSION_ID@ spyniena.
@ -113,7 +113,7 @@ Siesija № @SESSION_ID@ spyniena.
Subject: Dastupna novaje pracoŭnaje miesca № @SEAT_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Novaje pracoŭnaje miesca № @SEAT_ID@ naladžana i dastupna dlia
vykarystannia.
@ -122,7 +122,7 @@ vykarystannia.
Subject: Pracoŭnaje miesca № @SEAT_ID@ vydaliena
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Pracoŭnaje miesca № @SEAT_ID@ vydaliena i boĺš nie dastupna.

View File

@ -19,7 +19,7 @@
# Message catalog for systemd's own messages
# The catalog format is documented on
# http://www.freedesktop.org/wiki/Software/systemd/catalog
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
@ -95,7 +95,7 @@ Documentation: man:core(5)
Subject: Създадена е нова сесия № @SESSION_ID@ за потребителя „@USER_ID@“
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
За потребителя „@USER_ID@“ е създадена нова сесия № @SESSION_ID@.
@ -105,7 +105,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: Сесия № @SESSION_ID@ приключи
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Сесия № @SESSION_ID@ приключи работа.
@ -113,7 +113,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: Налично е ново работно място № @SEAT_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Новото работно място № @SEAT_ID@ е настроено и готово за работа.
@ -121,7 +121,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: Работното място № @SEAT_ID@ е премахнато
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Работното място № @SEAT_ID@ вече не е налично.

View File

@ -18,7 +18,7 @@
# Message catalog for systemd's own messages
# The catalog format is documented on
# http://www.freedesktop.org/wiki/Software/systemd/catalog
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
@ -115,7 +115,7 @@ als Fehler dem jeweiligen Hersteller gemeldet werden.
Subject: A new session @SESSION_ID@ has been created for user @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
A new session with the ID @SESSION_ID@ has been created for the user @USER_ID@.
@ -125,7 +125,7 @@ The leading process of the session is @LEADER@.
Subject: Session @SESSION_ID@ has been terminated
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
A session with the ID @SESSION_ID@ has been terminated.
@ -133,7 +133,7 @@ A session with the ID @SESSION_ID@ has been terminated.
Subject: A new seat @SEAT_ID@ is now available
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
A new seat @SEAT_ID@ has been configured and is now available.
@ -141,7 +141,7 @@ A new seat @SEAT_ID@ has been configured and is now available.
Subject: Seat @SEAT_ID@ has now been removed
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
A seat @SEAT_ID@ has been removed and is no longer available.
@ -172,8 +172,8 @@ Defined-By: systemd
Support: %SUPPORT_URL%
All system services necessary queued for starting at boot have been
successfully started. Note that this does not mean that the machine is
now idle as services might still be busy with completing start-up.
started. Note that this does not mean that the machine is now idle as services
might still be busy with completing start-up.
Kernel start-up required @KERNEL_USEC@ microseconds.
@ -181,6 +181,17 @@ Initial RAM disk start-up required @INITRD_USEC@ microseconds.
Userspace start-up required @USERSPACE_USEC@ microseconds.
-- eed00a68ffd84e31882105fd973abdd1
Subject: User manager start-up is now complete
Defined-By: systemd
Support: %SUPPORT_URL%
The user manager instance for user @_UID@ has been started. All services queued
for starting have been started. Note that other services might still be starting
up or be started at any later time.
Startup of the manager took @USERSPACE_USEC@ microseconds.
-- 6bbd95ee977941e497c48be27c254128
Subject: System sleep state @SLEEP@ entered
Defined-By: systemd

View File

@ -19,7 +19,7 @@
# Danish translation
# The catalog format is documented on
# http://www.freedesktop.org/wiki/Software/systemd/catalog
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
@ -79,7 +79,7 @@ og burde blive reporteret som en bug til folkene bag
Subject: En ny session @SESSION_ID@ er blevet lavet for bruger @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
En ny session med ID @SESSION_ID@ er blevet lavet for brugeren @USER_ID@.
@ -89,7 +89,7 @@ Den ledende process for sessionen er @LEADER@.
Subject: Session @SESSION_ID@ er blevet lukket ned
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
En session med ID @SESSION_ID@ er blevet lukket ned.
@ -97,7 +97,7 @@ En session med ID @SESSION_ID@ er blevet lukket ned.
Subject: En ny arbejdsstation $SEAT_ID@ er nu tilgængelig
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
En ny arbejdsstation @SEAT_ID@ er blevet konfigureret og er nu tilgængelig.
@ -105,7 +105,7 @@ En ny arbejdsstation @SEAT_ID@ er blevet konfigureret og er nu tilgængelig.
Subject: Arbejdsstation @SEAT_ID@ er nu blevet fjernet
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
En arbejdsstation @SEAT_ID@ er blevet fjernet og er ikke længere tilgængelig.

View File

@ -1,7 +1,7 @@
# This file is part of systemd.
#
# Copyright 2012 Lennart Poettering
# Copyright 2013-2015 Sylvain Plantefève
# Copyright 2013-2016 Sylvain Plantefève
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
@ -20,7 +20,7 @@
# French translation
# Le format du catalogue de messages est décrit (en anglais) içi :
# http://www.freedesktop.org/wiki/Software/systemd/catalog
# https://www.freedesktop.org/wiki/Software/systemd/catalog
-- f77379a8490b408bbe5f6940505a777b
Subject: Le journal a été démarré
@ -96,7 +96,7 @@ incriminé, et cela devrait être notifié à son concepteur comme un défaut (b
Subject: Une nouvelle session @SESSION_ID@ a été créée pour l'utilisateur @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Une nouvelle session a été créée pour l'utilisateur @USER_ID@ avec
l'identifiant (ID) @SESSION_ID@.
@ -107,7 +107,7 @@ Le processus maître de la session est @LEADER@.
Subject: La session @SESSION_ID@ s'est terminée
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
La session d'identifiant (ID) @SESSION_ID@ s'est terminée.
@ -115,7 +115,7 @@ La session d'identifiant (ID) @SESSION_ID@ s'est terminée.
Subject: Un nouveau poste (seat) @SEAT_ID@ est disponible
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Un nouveau poste (seat) @SEAT_ID@ a été configuré et est maintenant
disponible.
@ -124,7 +124,7 @@ disponible.
Subject: Le poste (seat) @SEAT_ID@ a été retiré
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Le poste (seat) @SEAT_ID@ a été retiré et n'est plus disponible.
@ -148,10 +148,9 @@ Subject: Le démarrage du système est terminé
Defined-By: systemd
Support: %SUPPORT_URL%
Tous les services nécessaires au démarrage du système ont été lancés avec
succès. Notez que cela ne signifie pas que le système est maintenant au
repos, car des services peuvent encore être en train de terminer leur
démarrage.
Tous les services nécessaires au démarrage du système ont été lancés.
Notez que cela ne signifie pas que le système est maintenant au repos,
car des services peuvent encore être en train de terminer leur démarrage.
Le chargement du noyau a nécessité @KERNEL_USEC@ microsecondes.
@ -159,6 +158,18 @@ Le chargement du « RAM disk » initial a nécessité @INITRD_USEC@ microseconde
Le chargement de l'espace utilisateur a nécessité @USERSPACE_USEC@ microsecondes.
-- eed00a68ffd84e31882105fd973abdd1
Subject: Le démarrage du gestionnaire utilisateur est terminé
Defined-By: systemd
Support: %SUPPORT_URL%
L'instance du gestionnaire d'utilisateurs pour l'utilisateur @_UID@ a été démarrée.
Tous les services en file d'attente pour démarrer ont été lancés.
Notez que des services peuvent être encore en train de démarrer,
ou d'autres être lancés à tout moment ultérieur.
Le démarrage du gestionnaire a nécéssité @USERSPACE_USEC@ microsecondes.
-- 6bbd95ee977941e497c48be27c254128
Subject: Le système entre dans l'état de repos (sleep state) @SLEEP@
Defined-By: systemd

View File

@ -19,7 +19,7 @@
# Croatian translation
# Format kataloga je dokumentiran na
# http://www.freedesktop.org/wiki/Software/systemd/catalog
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# Za pojašnjenje zašto ovo radimo, posjetite https://xkcd.com/1024/
@ -93,7 +93,7 @@ trebalo bi se prijaviti razvijatelju kao greška.
Subject: Nova sesija @SESSION_ID@ je stvorena za korisnika @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Nova sesija sa ID @SESSION_ID@ je stvorena za korisnika @USER_ID@.
@ -103,7 +103,7 @@ Glavni proces sesije je @LEADER@.
Subject: Sesija @SESSION_ID@ je prekinuta
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Sesija sa ID @SESSION_ID@ je prekinuta.
@ -111,7 +111,7 @@ Sesija sa ID @SESSION_ID@ je prekinuta.
Subject: Novo sjedište @SEAT_ID@ je sada dostupno
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Novo sjedište @SEAT_ID@ je podešeno i sada je dostupno.
@ -119,7 +119,7 @@ Novo sjedište @SEAT_ID@ je podešeno i sada je dostupno.
Subject: Sjedište @SEAT_ID@ je sada uklonjeno
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Sjedište @SEAT_ID@ je uklonjeno i više nije dostupno.

View File

@ -19,7 +19,7 @@
# Message catalog for systemd's own messages
# The catalog format is documented on
# http://www.freedesktop.org/wiki/Software/systemd/catalog
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
@ -78,7 +78,7 @@ a szállítója felé kell bejelenteni.
Subject: Új munkamenet (@SESSION_ID@) létrehozva, felhasználója: @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Létrejött egy új munkamenet @SESSION_ID@ azonosítóval ezen felhasználóhoz:
@USER_ID@.
@ -89,7 +89,7 @@ A munkamenet vezető folyamata: @LEADER@.
Subject: Munkamenet (@SESSION_ID@) befejezve
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
A következő azonosítójú munkamenet befejeződött: @SESSION_ID@.
@ -97,7 +97,7 @@ A következő azonosítójú munkamenet befejeződött: @SESSION_ID@.
Subject: Elérhető egy új munkaállomás: @SEAT_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Beállításra kerül és használható egy új munkaállomás: @SEAT_ID@.
@ -105,7 +105,7 @@ Beállításra kerül és használható egy új munkaállomás: @SEAT_ID@.
Subject: A munkaállomás eltávolítva: @SEAT_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
A munkaállomás el lett távolítva, és már nem érhető el: @SEAT_ID@

View File

@ -33,6 +33,21 @@ Support: %SUPPORT_URL%
Il processo relativo al registro di sistema è stato terminato e ha chiuso
tutti i file attivi.
-- ec387f577b844b8fa948f33cad9a75e6
Subject: Spazio disco utilizzato dal journal
Defined-By: systemd
Support: %SUPPORT_URL%
@JOURNAL_NAME@ (@JOURNAL_PATH@) sta attualmente utilizzando @CURRENT_USE_PRETTY@.
L'utilizzo massimo consentito è impostato a @MAX_USE_PRETTY@.
Lasciando liberi almeno @DISK_KEEP_FREE_PRETTY@ (dell'attuale @DISK_AVAILABLE_PRETTY@ di spazio libero).
Il limite di utilizzo forzato è quindi @LIMIT_PRETTY@, del quale @AVAILABLE_PRETTY@ sono ancora disponibili.
I limiti di controllo dello spazio disco utilizzati dal Journal possono
essere configurati con le impostazioni SystemMaxUse=, SystemKeepFree=, SystemMaxFileSize=,
RuntimeMaxUse=, RuntimeKeepFree=, RuntimeMaxFileSize= nel file di configurazione
/etc/systemd/journald.conf. Guardare journald.conf(5) per i dettagli.
-- a596d6fe7bfa4994828e72309e95d61e
Subject: I messaggi di un servizio sono stati soppressi
Defined-By: systemd
@ -54,7 +69,7 @@ Subject: I messaggi di un servizio sono stati perduti
Defined-By: systemd
Support: %SUPPORT_URL%
I messaggi del kernel sono stati perduti perché, il registro di sistema
I messaggi del kernel sono andati persi perché, il registro di sistema
non è stato in grado di gestirli abbastanza velocemente.
-- fc2e22bc6ee647b6b90729ab34a250b1
@ -68,11 +83,22 @@ Il processo @COREDUMP_PID@ (@COREDUMP_COMM@) si è bloccato generando un dump.
Questo di solito capita per un errore di programmazione nell'applicazione e
dovrebbe essere segnalato al vendor come un bug.
-- 5aadd8e954dc4b1a8c954d63fd9e1137
Subject: Il Core file è stato troncato a @SIZE_LIMIT@ bytes.
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:coredump.conf(5)
Il processo più memoria mappata del limite massimo configurato da systemd-coredump(8)
per processare e memorizzare. Solo i primi @SIZE_LIMIT@ bytes sono stati salvati.
Il file potrebbe essere ancora utile, ma strumenti come gdb(1) dovrebbero
segnalare la troncatura.
-- 8d45620c1a4348dbb17410da57c60c66
Subject: La nuova sessione @SESSION_ID@ è stata creata per l'utente @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Una nuova sessione con ID @SESSION_ID@ è stata creata per l'utente @USER_ID@.
@ -82,7 +108,7 @@ Il processo primario della sessione è @LEADER@.
Subject: La sessione @SESSION_ID@ è terminata
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
La sessione con ID @SESSION_ID@ è terminata.
@ -90,7 +116,7 @@ La sessione con ID @SESSION_ID@ è terminata.
Subject: La nuova postazione @SEAT_ID@ è ora disponibile
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
La nuova postazione @SEAT_ID@ è stata configurata ed è ora disponibile.
@ -98,7 +124,7 @@ La nuova postazione @SEAT_ID@ è stata configurata ed è ora disponibile.
Subject: La postazione @SEAT_ID@ è stata rimossa
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
La postazione @SEAT_ID@ è stata rimossa e non è più disponibile.
@ -131,6 +157,17 @@ L'avvio del disco RAM ha richiesto @INITRD_USEC@ microsecondi.
L'avvio dello userspace ha richiesto @USERSPACE_USEC@ microsecondi.
-- eed00a68ffd84e31882105fd973abdd1
Subject: User manager start-up is now complete
Defined-By: systemd
Support: %SUPPORT_URL%
L'istanza di gestione per l'utente @_UID@ è stata avviata. Tutti i servizi
interrogati sono stati avviati. Da notare che altri servizi potrebbero essere
ancora in fase di avvio o in attesa di essere avviati.
L'avvio dell'istanza ha impiegato @USERSPACE_USEC@ microsecondi.
-- 6bbd95ee977941e497c48be27c254128
Subject: Il sistema è entrato in fase di pausa @SLEEP@
Defined-By: systemd
@ -252,3 +289,42 @@ Defined-By: systemd
Support: %SUPPORT_URL%
La macchina virtuale @NAME@ con PID primario @LEADER@ è stata spenta.
-- 36db2dfa5a9045e1bd4af5f93e1cf057
Subject: La modalità DNSSEC è stata spenta, il server non la supporta
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8) resolved.conf(5)
Il servizio di risoluzione (systemd-resolved.service) ha rilevato che il
server DNS indicato non supporta DNSSEC e la validazione DNSSEC è stata
conseguentemente disabilitata.
Ciò avverrà se DNSSEC=allow-downgrade è configurato nel file
resolved.conf e il server DNS indicato è incompatibile con DNSSEC. Da notare
che in questo modo ci si espone ad attacchi DNSSEC downgrade, e un aggressore
potrebbe disabilitare la validazione DNSSEC sul sistema inserendo risposte
DNS nel canale di comunicazione.
Questo evento potrebbe essere indice che il DNS server è forse incompatibile
con DNSSEC o che un aggressore è riuscito nel suo intento malevolo.
-- 1675d7f172174098b1108bf8c7dc8f5d
Subject: La validazione DNSSEC è fallita
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
Una query DNS o un dato hanno fatto fallire la validazione DNSSEC. Questo è
usualmente un segnale che il canale di comunicazione utilizzato è stato
manomesso.
-- 4d4408cfd0d144859184d1e65d7c8a65
Subject: Un trust anchor DNSSEC è stato revocato
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
Un trust anchor DNSSEC è stato revocato. Un nuovo punto di fiducia è stato
riconfigurato o il sistema operativo deve essere aggiornato per fornire un
nuovo ancoraggio.

View File

@ -19,7 +19,7 @@
# Korean translation
# The catalog format is documented on
# http://www.freedesktop.org/wiki/Software/systemd/catalog
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
#
@ -101,7 +101,7 @@ Documentation: man:core(5)
Subject: @USER_ID@ 사용자의 새 @SESSION_ID@ 세션 만듦
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
@USER_ID@ 사용자의 새 @SESSION_ID@ 세션을 만들었습니다.
@ -111,7 +111,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: @SESSION_ID@ 세션 마침
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
@SESSION_ID@ 세션을 끝냈습니다.
@ -119,7 +119,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: 새 @SEAT_ID@ 시트 사용할 수 있음
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
새 @SEAT_ID@ 시트를 설정했고 사용할 수 있습니다.
@ -127,7 +127,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: @SEAT_ID@ 시트 제거함
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
@SEAT_ID@ 시트를 제거했으며 더이상 사용할 수 없습니다.

View File

@ -20,7 +20,7 @@
# Polish translation
# The catalog format is documented on
# http://www.freedesktop.org/wiki/Software/systemd/catalog
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
@ -106,7 +106,7 @@ gdb(1) będą ostrzegały o skróceniu pliku.
Subject: Utworzono nową sesję @SESSION_ID@ dla użytkownika @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Nowa sesja o identyfikatorze @SESSION_ID@ została utworzona dla użytkownika
@USER_ID@.
@ -117,7 +117,7 @@ Proces prowadzący sesji: @LEADER@.
Subject: Zakończono sesję @SESSION_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Sesja o identyfikatorze @SESSION_ID@ została zakończona.
@ -125,7 +125,7 @@ Sesja o identyfikatorze @SESSION_ID@ została zakończona.
Subject: Dostępne jest nowe stanowisko @SEAT_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Nowe stanowisko @SEAT_ID@ zostało skonfigurowane i jest teraz dostępne.
@ -133,7 +133,7 @@ Nowe stanowisko @SEAT_ID@ zostało skonfigurowane i jest teraz dostępne.
Subject: Usunięto stanowisko @SEAT_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Stanowisko @SEAT_ID@ zostało usunięte i nie jest już dostępne.
@ -157,9 +157,9 @@ Defined-By: systemd
Support: %SUPPORT_URL%
Wszystkie usługi systemowe obowiązkowo zakolejkowane do włączenia podczas
uruchamiania systemu zostały pomyślnie uruchomione. Proszę zauważyć, że nie
oznacza to, że komputer jest bezczynny, jako że usługi mogą wciąż kończyć
proces uruchamiania.
uruchamiania systemu zostały uruchomione. Proszę zauważyć, że nie oznacza
to, że komputer jest bezczynny, jako że usługi mogą wciąż kończyć proces
uruchamiania.
Uruchamianie jądra zajęło @KERNEL_USEC@ μs.
@ -167,6 +167,18 @@ Uruchamianie początkowego dysku RAM zajęło @INITRD_USEC@ μs.
Uruchamianie przestrzeni użytkownika zajęło @USERSPACE_USEC@ μs.
-- eed00a68ffd84e31882105fd973abdd1
Subject: Ukończono uruchamianie menedżera użytkownika
Defined-By: systemd
Support: %SUPPORT_URL%
Wystąpienie menedżera dla użytkownika @_UID@ zostało uruchomione.
Wszystkie usługi zakolejkowane do włączenia zostały uruchomione.
Proszę zauważyć, że inne usługi mogą być nadal uruchamiane
lub zostać uruchomione później.
Uruchamianie menedżera zajęło @USERSPACE_USEC@ μs.
-- 6bbd95ee977941e497c48be27c254128
Subject: Przejście do stanu uśpienia @SLEEP@
Defined-By: systemd

View File

@ -19,7 +19,7 @@
# Catálogo de mensagens para as mensagens do próprio systemd
# O formato do catálogo está documentado em
# http://www.freedesktop.org/wiki/Software/systemd/catalog
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# Para uma explicação do porquê de fazermos tudo isso, veja
# https://xkcd.com/1024/
@ -79,7 +79,7 @@ deveria ser relatado para seu fabricante como um erro.
Subject: A nova sessão @SESSION_ID@ foi criada para usuário o @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Uma nova sessão com o ID @SESSION_ID@ foi criada para o usuário @USER_ID@.
@ -89,7 +89,7 @@ O processo originador da sessão é @LEADER@.
Subject: Sessão @SESSION_ID@ foi terminada
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Um sessão com o ID @SESSION_ID@ foi terminada.
@ -97,7 +97,7 @@ Um sessão com o ID @SESSION_ID@ foi terminada.
Subject: Um novo seat @SEAT_ID@ está disponível
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Um novo seat @SEAT_ID@ foi configurado e está disponível.
@ -105,7 +105,7 @@ Um novo seat @SEAT_ID@ foi configurado e está disponível.
Subject: Seat @SEAT_ID@ foi removido agora
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Um seat @SEAT_ID@ foi removido e não está mais disponível.

View File

@ -1,7 +1,7 @@
# This file is part of systemd.
#
# Copyright 2012 Lennart Poettering
# Copyright 2013-2016 Sergey Ptashnick
# Copyright 2013-2017 Sergey Ptashnick
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
@ -20,7 +20,7 @@
# Russian translation
# Формат каталога сообщений описан по ссылке
# http://www.freedesktop.org/wiki/Software/systemd/catalog
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# Перед каждым элементом в комментарии указан Subject исходного
# сообщения (на английском).
@ -102,12 +102,24 @@ Documentation: man:core(5)
Вероятно, это произошло из-за ошибки, допущенной в коде программы.
Рекомендуется сообщить её разработчикам о возникшей проблеме.
# Subject: Core file was truncated to @SIZE_LIMIT@ bytes
-- 5aadd8e954dc4b1a8c954d63fd9e1137
Subject: Файл с дампом памяти был урезан до @SIZE_LIMIT@ байт
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:coredump.conf(5)
Объем памяти процесса превысил ограничения на размер дампа, установленные
для systemd-coredump(8). Записаны только первые @SIZE_LIMIT@ байт. Не исключено,
что этот дамп еще пригоден для анализа, хотя инструменты для анализа
дампов (например, gdb(1)) могут выдать предупреждение, что файл был урезан.
# Subject: A new session @SESSION_ID@ has been created for user @USER_ID@
-- 8d45620c1a4348dbb17410da57c60c66
Subject: Для пользователя @USER_ID@ создан новый сеанс @SESSION_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Для пользователя @USER_ID@ создан новый сеанс с идентификатором @SESSION_ID@.
@ -118,7 +130,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: Сеанс @SESSION_ID@ завершен
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Сеанс с идентификатором @SESSION_ID@ завершился.
@ -127,7 +139,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: Добавлено новое рабочее место @SEAT_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Новое рабочее место (seat) @SEAT_ID@ полностью настроено и готово к
использованию.
@ -137,7 +149,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: Рабочее место @SEAT_ID@ отключено
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Рабочее место (seat) @SEAT_ID@ было отключено.
@ -175,6 +187,19 @@ Support: %SUPPORT_URL%
Запуск системных служб занял @USERSPACE_USEC@ микросекунд.
# Subject: User manager start-up is now complete
-- eed00a68ffd84e31882105fd973abdd1
Subject: Завершен запуск менеджера пользовательского сеанса
Defined-By: systemd
Support: %SUPPORT_URL%
Менеджер пользовательского сеанса для пользователя с идентификатором @_UID@
был запущен. Все службы, стоявшие в очереди на запуск, также были запущены. Тем
не менее, прочие службы могут все еще находиться в процессе запуска, либо могут
быть запущены позднее.
Запуск менеджера занял @USERSPACE_USEC@ микросекунд.
# Subject: System sleep state @SLEEP@ entered
-- 6bbd95ee977941e497c48be27c254128
Subject: Система перешла в состояние сна (@SLEEP@)

View File

@ -19,7 +19,7 @@
# Serbian translation
# Формат каталога је документован на
# http://www.freedesktop.org/wiki/Software/systemd/catalog
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# Да бисте видели зашто ово радимо, погледајте https://xkcd.com/1024/
@ -78,7 +78,7 @@ Documentation: man:core(5)
Subject: Нова сесија @SESSION_ID@ је направљена за корисника @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Нова сесија са ИБ-ом @SESSION_ID@ је направљена за корисника @USER_ID@.
@ -88,7 +88,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: Сесија @SESSION_ID@ је окончана
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Сесија са ИБ-ом @SESSION_ID@ је окончана.
@ -96,7 +96,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: Ново седиште @SEAT_ID@ је сада доступно
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Ново седиште @SEAT_ID@ је исподешавано и сада је доступно.
@ -104,7 +104,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: Седиште @SEAT_ID@ је сада уклоњено
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Седиште @SEAT_ID@ је сада уклоњено и више није доступно.

View File

@ -20,7 +20,7 @@
# Simplified Chinese translation
# 本 catalog 文档格式被记载在
# http://www.freedesktop.org/wiki/Software/systemd/catalog
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# 如需了解我们为什么做这些工作,请见 https://xkcd.com/1024/
@ -76,7 +76,7 @@ Documentation: man:core(5)
Subject: 一个新会话 @SESSION_ID@ 已为用户 @USER_ID@ 建立
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
一个 ID 为 @SESSION_ID@ 的新会话已为用户 @USER_ID@ 建立。
@ -86,7 +86,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: 会话 @SESSION_ID@ 已终止
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
一个 ID 为 @SESSION_ID@ 的会话已终止。
@ -94,7 +94,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: 一个新的座位 @SEAT_ID@ 可用
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
一个新的座位 @SEAT_ID@ 已被配置并已可用。
@ -102,7 +102,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: 座位 @SEAT_ID@ 已被移除
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
座位 @SEAT_ID@ 已被移除并不再可用。
@ -137,7 +137,7 @@ Support: %SUPPORT_URL%
-- 6bbd95ee977941e497c48be27c254128
Subject: 系统已进入 @SLEEP@ 睡眠状态
Defined-By: systemd
Support: http://lists.freedesktop.org/mailman/listinfo/systemd-deve
Support: %SUPPORT_URL%
系统现已进入 @SLEEP@ 睡眠状态。

View File

@ -20,7 +20,7 @@
# Traditional Chinese translation
# Catalog 的格式記錄於
# http://www.freedesktop.org/wiki/Software/systemd/catalog
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
@ -79,7 +79,7 @@ Documentation: man:core(5)
Subject: 新的工作階段 @SESSION_ID@ 已為使用者 @USER_ID@ 建立
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
一個新的工作階段ID @SESSION_ID@ 已為使用者 @USER_ID@ 建立。
@ -89,7 +89,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: 工作階段 @SESSION_ID@ 已結束
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
一個工作階段ID @SESSION_ID@ 已結束。
@ -97,7 +97,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: 新的座位 @SEAT_ID@ 可用
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
一個新的座位 @SEAT_ID@ 已被設定且現在可用。
@ -105,7 +105,7 @@ Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Subject: 座位 @SEAT_ID@ 已被移除
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
座位 @SEAT_ID@ 已被移除且不再可用。

16
coccinelle/strjoin.cocci Normal file
View File

@ -0,0 +1,16 @@
@@
expression list args;
@@
- strjoin(args, NULL);
+ strjoin(args);
@@
expression t;
expression list args;
@@
- t = strjoin(args, NULL);
+ t = strjoin(args);
@@
expression list args;
@@
- return strjoin(args, NULL);
+ return strjoin(args);

View File

@ -20,10 +20,10 @@
AC_PREREQ([2.64])
AC_INIT([systemd],
[232],
[http://github.com/systemd/systemd/issues],
[233],
[https://github.com/systemd/systemd/issues],
[systemd],
[http://www.freedesktop.org/wiki/Software/systemd])
[https://www.freedesktop.org/wiki/Software/systemd])
AC_CONFIG_SRCDIR([src/core/main.c])
AC_CONFIG_MACRO_DIR([m4])
@ -97,8 +97,6 @@ AC_PATH_PROG([M4], [m4])
AC_PATH_PROG([QUOTAON], [quotaon], [/usr/sbin/quotaon], [$PATH:/usr/sbin:/sbin])
AC_PATH_PROG([QUOTACHECK], [quotacheck], [/usr/sbin/quotacheck], [$PATH:/usr/sbin:/sbin])
AC_PATH_PROG([SETCAP], [setcap], [/usr/sbin/setcap], [$PATH:/usr/sbin:/sbin])
AC_PATH_PROG([KILL], [kill], [/usr/bin/kill], [$PATH:/usr/sbin:/sbin])
AC_PATH_PROG([KMOD], [kmod], [/usr/bin/kmod], [$PATH:/usr/sbin:/sbin])
@ -157,7 +155,6 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-Wall \
-Wextra \
-Wundef \
"-Wformat=2 -Wformat-security -Wformat-nonliteral" \
-Wlogical-op \
-Wmissing-include-dirs \
-Wold-style-definition \
@ -170,6 +167,8 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-Werror=implicit-function-declaration \
-Werror=missing-declarations \
-Werror=return-type \
-Werror=incompatible-pointer-types \
-Werror=format=2 \
-Wstrict-prototypes \
-Wredundant-decls \
-Wmissing-noreturn \
@ -218,25 +217,21 @@ AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*],
[CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [-flto])],
[AC_MSG_RESULT([disabling -flto as requested])])],
[AC_MSG_RESULT([skipping -flto, optimization not enabled])])
AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags")
AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*],
[CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\
-Wp,-D_FORTIFY_SOURCE=2])],
[AC_MSG_RESULT([skipping -D_FORTIFY_SOURCE, optimization not enabled])])
AC_SUBST([OUR_CPPFLAGS], "$with_cppflags $sanitizer_cppflags")
AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*],
[CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\
-Wl,--gc-sections])],
[AC_MSG_RESULT([skipping --gc-sections, optimization not enabled])])
AC_SUBST([OUR_CFLAGS], "$with_ldflags $sanitizer_cflags")
AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*],
[CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
-ffunction-sections -fdata-sections])],
[AC_MSG_RESULT([skipping -ffunction/data-section, optimization not enabled])])
AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags")
CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\
-Wl,--as-needed \
@ -245,6 +240,9 @@ CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\
-Wl,-z,now \
-pie \
-Wl,-fuse-ld=gold])
AC_SUBST([OUR_CPPFLAGS], "$with_cppflags $sanitizer_cppflags")
AC_SUBST([OUR_CFLAGS], "-D__SANE_USERSPACE_TYPES__ $with_cflags $sanitizer_cflags")
AC_SUBST([OUR_LDFLAGS], "$with_ldflags $sanitizer_ldflags")
AC_CHECK_SIZEOF(pid_t)
@ -258,15 +256,37 @@ AC_CHECK_SIZEOF(rlim_t,,[
#include <sys/resource.h>
])
GPERF_TEST="$(echo foo,bar | ${GPERF} -L ANSI-C)"
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([
#include <string.h>
const char * in_word_set(const char *, size_t);
$GPERF_TEST]
)],
[GPERF_LEN_TYPE=size_t],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([
#include <string.h>
const char * in_word_set(const char *, unsigned);
$GPERF_TEST]
)],
[GPERF_LEN_TYPE=unsigned],
[AC_MSG_ERROR([** unable to determine gperf len type])]
)]
)
AC_DEFINE_UNQUOTED([GPERF_LEN_TYPE], [$GPERF_LEN_TYPE], [gperf len type])
# ------------------------------------------------------------------------------
# we use python to build the man page index
have_python=no
AC_ARG_WITH([python],
[AS_HELP_STRING([--without-python], [Disable building the man page index and systemd-python (default: test)])])
[AS_HELP_STRING([--without-python], [disable building the man page index and systemd-python (default: test)])])
have_lxml=no
AS_IF([test "x$with_python" != "xno"], [
AM_PATH_PYTHON(,, [:])
AM_PATH_PYTHON([3],, [:])
AS_IF([test "x$PYTHON" != "x:"], [
AC_MSG_CHECKING([for python lxml module])
AS_IF(["$PYTHON" -c 'import lxml' 2>/dev/null], [have_lxml=yes])
@ -288,6 +308,7 @@ AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"])
AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps headers not found])])
AC_CHECK_HEADERS([linux/btrfs.h], [], [])
AC_CHECK_HEADERS([linux/memfd.h], [], [])
AC_CHECK_HEADERS([linux/vm_sockets.h], [], [], [#include <sys/socket.h>])
# unconditionally pull-in librt with old glibc versions
AC_SEARCH_LIBS([clock_gettime], [rt], [], [])
@ -311,20 +332,23 @@ AC_CHECK_DECLS([
kcmp,
keyctl,
LO_FLAGS_PARTSCAN,
copy_file_range],
copy_file_range,
explicit_bzero],
[], [], [[
#include <sys/types.h>
#include <unistd.h>
#include <sys/mount.h>
#include <fcntl.h>
#include <sched.h>
#include <string.h>
#include <linux/loop.h>
#include <linux/random.h>
]])
AC_CHECK_TYPES([char16_t, char32_t, key_serial_t],
AC_CHECK_TYPES([char16_t, char32_t, key_serial_t, struct ethtool_link_settings],
[], [], [[
#include <uchar.h>
#include <linux/ethtool.h>
]])
AC_CHECK_DECLS([IFLA_INET6_ADDR_GEN_MODE,
@ -457,7 +481,7 @@ AM_CONDITIONAL(HAVE_LIBMOUNT, [test "$have_libmount" = "yes"])
# ------------------------------------------------------------------------------
have_seccomp=no
AC_ARG_ENABLE(seccomp, AS_HELP_STRING([--disable-seccomp], [Disable optional SECCOMP support]))
AC_ARG_ENABLE(seccomp, AS_HELP_STRING([--disable-seccomp], [disable optional SECCOMP support]))
if test "x$enable_seccomp" != "xno"; then
PKG_CHECK_MODULES(SECCOMP, [libseccomp >= 2.3.1],
[AC_DEFINE(HAVE_SECCOMP, 1, [Define if seccomp is available])
@ -472,7 +496,7 @@ AM_CONDITIONAL(HAVE_SECCOMP, [test "$have_seccomp" = "yes"])
# ------------------------------------------------------------------------------
have_ima=yes
AC_ARG_ENABLE([ima], AS_HELP_STRING([--disable-ima],[Disable optional IMA support]),
AC_ARG_ENABLE([ima], AS_HELP_STRING([--disable-ima], [disable optional IMA support]),
[case "${enableval}" in
yes) have_ima=yes ;;
no) have_ima=no ;;
@ -486,7 +510,7 @@ fi
# ------------------------------------------------------------------------------
have_selinux=no
AC_ARG_ENABLE(selinux, AS_HELP_STRING([--disable-selinux], [Disable optional SELINUX support]))
AC_ARG_ENABLE(selinux, AS_HELP_STRING([--disable-selinux], [disable optional SELINUX support]))
if test "x$enable_selinux" != "xno"; then
PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.1.9],
[AC_DEFINE(HAVE_SELINUX, 1, [Define if SELinux is available])
@ -500,7 +524,7 @@ fi
AM_CONDITIONAL(HAVE_SELINUX, [test "$have_selinux" = "yes"])
have_apparmor=no
AC_ARG_ENABLE(apparmor, AS_HELP_STRING([--disable-apparmor], [Disable optional AppArmor support]))
AC_ARG_ENABLE(apparmor, AS_HELP_STRING([--disable-apparmor], [disable optional AppArmor support]))
if test "x$enable_apparmor" != "xno"; then
PKG_CHECK_MODULES([APPARMOR], [libapparmor],
[AC_DEFINE(HAVE_APPARMOR, 1, [Define if AppArmor is available])
@ -532,15 +556,15 @@ AS_IF([test "x$enable_wheel_group" != "xno"], [
AC_ARG_WITH(debug-shell,
AS_HELP_STRING([--with-debug-shell=PATH],
[Path to debug shell binary]),
[SUSHELL="$withval"],[
AS_IF([test "x${have_selinux}" != "xno"], [SUSHELL="/sbin/sushell"] , [SUSHELL="/bin/sh"])])
[path to debug shell binary]),
[SUSHELL="$withval"],
[SUSHELL="/bin/sh"])
AC_SUBST(SUSHELL)
AC_ARG_WITH([debug-tty],
AS_HELP_STRING([--with-debug-tty=PATH],
[Specify the tty device for debug shell]),
[specify the tty device for debug shell]),
[DEBUGTTY="$withval"],
[DEBUGTTY=/dev/tty9])
@ -548,7 +572,7 @@ AC_SUBST(DEBUGTTY)
AC_ARG_WITH([certificate-root],
AS_HELP_STRING([--with-certificate-root=PATH],
[Specify the prefix for TLS certificates [/etc/ssl]]),
[specify the prefix for TLS certificates [/etc/ssl]]),
[CERTIFICATEROOT="$withval"],
[CERTIFICATEROOT="/etc/ssl"])
@ -556,15 +580,15 @@ AC_SUBST(CERTIFICATEROOT)
AC_ARG_WITH([support-url],
AS_HELP_STRING([--with-support-url=URL],
[Specify the support URL to show in catalog entries included in systemd]),
[specify the support URL to show in catalog entries included in systemd]),
[SUPPORT_URL="$withval"],
[SUPPORT_URL=http://lists.freedesktop.org/mailman/listinfo/systemd-devel])
[SUPPORT_URL=https://lists.freedesktop.org/mailman/listinfo/systemd-devel])
AC_SUBST(SUPPORT_URL)
AC_ARG_WITH([nobody-user],
AS_HELP_STRING([--with-nobody-user=NAME],
[Specify the name of the nobody user (the one with UID 65534)]),
[specify the name of the nobody user (the one with UID 65534)]),
[NOBODY_USER_NAME="$withval"],
[NOBODY_USER_NAME=nobody])
@ -573,16 +597,42 @@ AC_DEFINE_UNQUOTED(NOBODY_USER_NAME, ["$NOBODY_USER_NAME"], [The name of the nob
AC_ARG_WITH([nobody-group],
AS_HELP_STRING([--with-nobody-group=NAME],
[Specify the name of the nobody group (the one with GID 65534)]),
[specify the name of the nobody group (the one with GID 65534)]),
[NOBODY_GROUP_NAME="$withval"],
[NOBODY_GROUP_NAME=nobody])
AC_SUBST(NOBODY_GROUP_NAME)
AC_DEFINE_UNQUOTED(NOBODY_GROUP_NAME, ["$NOBODY_GROUP_NAME"], [The name of the nobody group (the one with GID 65534)])
AC_ARG_WITH([fallback-hostname],
AS_HELP_STRING([--with-fallback-hostname=NAME],
[specify the hostname used if none configured]),
[FALLBACK_HOSTNAME="$withval"],
[FALLBACK_HOSTNAME=localhost])
AC_SUBST(FALLBACK_HOSTNAME)
AC_DEFINE_UNQUOTED(FALLBACK_HOSTNAME, ["$FALLBACK_HOSTNAME"], [The hostname used if none configured])
# ------------------------------------------------------------------------------
AC_ARG_WITH(default-hierarchy,
AS_HELP_STRING([--with-default-hierarchy=MODE],
[default cgroup hierarchy, defaults to "hybrid"]),
[DEFAULT_HIERARCHY="$withval"],
[DEFAULT_HIERARCHY="hybrid"])
AS_CASE("$DEFAULT_HIERARCHY",
[legacy], [mode=CGROUP_UNIFIED_NONE],
[hybrid], [mode=CGROUP_UNIFIED_SYSTEMD],
[unified], [mode=CGROUP_UNIFIED_ALL],
AC_MSG_ERROR(Bad default hierarchy mode ${DEFAULT_HIERARCHY}))
AC_DEFINE_UNQUOTED(DEFAULT_HIERARCHY, [$mode], [Default cgroup hierarchy])
AC_DEFINE_UNQUOTED(DEFAULT_HIERARCHY_NAME, ["$DEFAULT_HIERARCHY"],
[Default cgroup hierarchy as string])
# ------------------------------------------------------------------------------
have_xz=no
AC_ARG_ENABLE(xz, AS_HELP_STRING([--disable-xz], [Disable optional XZ support]))
AC_ARG_ENABLE(xz, AS_HELP_STRING([--disable-xz], [disable optional XZ support]))
AS_IF([test "x$enable_xz" != "xno"], [
PKG_CHECK_MODULES(XZ, [ liblzma ],
[AC_DEFINE(HAVE_XZ, 1, [Define if XZ is available])
@ -595,7 +645,7 @@ AM_CONDITIONAL(HAVE_XZ, [test "$have_xz" = "yes"])
# ------------------------------------------------------------------------------
have_zlib=no
AC_ARG_ENABLE(zlib, AS_HELP_STRING([--disable-zlib], [Disable optional ZLIB support]))
AC_ARG_ENABLE(zlib, AS_HELP_STRING([--disable-zlib], [disable optional ZLIB support]))
AS_IF([test "x$enable_zlib" != "xno"], [
PKG_CHECK_MODULES(ZLIB, [ zlib ],
[AC_DEFINE(HAVE_ZLIB, 1, [Define if ZLIB is available])
@ -608,7 +658,7 @@ AM_CONDITIONAL(HAVE_ZLIB, [test "$have_zlib" = "yes"])
# ------------------------------------------------------------------------------
have_bzip2=no
AC_ARG_ENABLE(bzip2, AS_HELP_STRING([--enable-bzip2], [Enable optional BZIP2 support]))
AC_ARG_ENABLE(bzip2, AS_HELP_STRING([--disable-bzip2], [disable optional BZIP2 support]))
AS_IF([test "x$enable_bzip2" != "xno"], [
AC_CHECK_HEADERS(bzlib.h,
[AC_DEFINE(HAVE_BZIP2, 1, [Define if BZIP2 is available])
@ -621,12 +671,15 @@ AM_CONDITIONAL(HAVE_BZIP2, [test "$have_bzip2" = "yes"])
# ------------------------------------------------------------------------------
have_lz4=no
AC_ARG_ENABLE(lz4, AS_HELP_STRING([--disable-lz4], [Disable optional LZ4 support]))
AC_ARG_ENABLE(lz4, AS_HELP_STRING([--disable-lz4], [disable optional LZ4 support]))
AS_IF([test "x$enable_lz4" != "xno"], [
PKG_CHECK_MODULES(LZ4, [ liblz4 >= 125 ],
[AC_DEFINE(HAVE_LZ4, 1, [Define in LZ4 is available])
PKG_CHECK_MODULES(LZ4, [ liblz4 < 10 ],
[AC_DEFINE(HAVE_LZ4, 1, [Define if LZ4 is available])
have_lz4=yes],
have_lz4=no)
[PKG_CHECK_MODULES(LZ4, [ liblz4 >= 125 ],
[AC_DEFINE(HAVE_LZ4, 1, [Define if LZ4 is available])
have_lz4=yes],
have_lz4=no)])
AS_IF([test "x$have_lz4" = xno -a "x$enable_lz4" = xyes],
[AC_MSG_ERROR([*** LZ4 support requested but libraries not found])])
])
@ -636,7 +689,7 @@ AM_CONDITIONAL(HAVE_COMPRESSION, [test "$have_xz" = "yes" -o "$have_lz4" = "yes"
# ------------------------------------------------------------------------------
AC_ARG_ENABLE([pam],
AS_HELP_STRING([--disable-pam],[Disable optional PAM support]),
AS_HELP_STRING([--disable-pam], [disable optional PAM support]),
[case "${enableval}" in
yes) have_pam=yes ;;
no) have_pam=no ;;
@ -675,7 +728,7 @@ AM_CONDITIONAL([HAVE_PAM], [test "x$have_pam" != xno])
# ------------------------------------------------------------------------------
AC_ARG_ENABLE([acl],
AS_HELP_STRING([--disable-acl],[Disable optional ACL support]),
AS_HELP_STRING([--disable-acl], [disable optional ACL support]),
[case "${enableval}" in
yes) have_acl=yes ;;
no) have_acl=no ;;
@ -713,7 +766,7 @@ AC_SUBST(ACL_LIBS)
AM_CONDITIONAL([HAVE_ACL], [test "x$have_acl" != xno])
# ------------------------------------------------------------------------------
AC_ARG_ENABLE([smack], AS_HELP_STRING([--disable-smack],[Disable optional SMACK support]),
AC_ARG_ENABLE([smack], AS_HELP_STRING([--disable-smack], [disable optional SMACK support]),
[case "${enableval}" in
yes) have_smack=yes ;;
no) have_smack=no ;;
@ -748,7 +801,7 @@ AS_HELP_STRING([--with-smack-default-process-label=STRING],
# ------------------------------------------------------------------------------
AC_ARG_ENABLE([gcrypt],
AS_HELP_STRING([--disable-gcrypt],[Disable optional GCRYPT support]),
AS_HELP_STRING([--disable-gcrypt], [disable optional GCRYPT support]),
[case "${enableval}" in
yes) have_gcrypt=yes ;;
no) have_gcrypt=no ;;
@ -800,7 +853,7 @@ AM_CONDITIONAL([HAVE_GCRYPT], [test "x$have_gcrypt" != xno])
# ------------------------------------------------------------------------------
AC_ARG_ENABLE([audit],
AS_HELP_STRING([--disable-audit],[Disable optional AUDIT support]),
AS_HELP_STRING([--disable-audit], [disable optional AUDIT support]),
[case "${enableval}" in
yes) have_audit=yes ;;
no) have_audit=no ;;
@ -838,7 +891,7 @@ AM_CONDITIONAL([HAVE_AUDIT], [test "x$have_audit" != xno])
# ------------------------------------------------------------------------------
AC_ARG_ENABLE([elfutils],
AS_HELP_STRING([--disable-elfutils],[Disable optional ELFUTILS support]),
AS_HELP_STRING([--disable-elfutils], [disable optional ELFUTILS support]),
[case "${enableval}" in
yes) have_elfutils=yes ;;
no) have_elfutils=no ;;
@ -945,7 +998,7 @@ AM_CONDITIONAL(HAVE_REMOTE, [test "$have_microhttpd" = "yes" -o "$have_libcurl"
# ------------------------------------------------------------------------------
have_libidn=no
AC_ARG_ENABLE(libidn, AS_HELP_STRING([--disable-libidn], [Disable optional LIBIDN support]))
AC_ARG_ENABLE(libidn, AS_HELP_STRING([--disable-libidn], [disable optional LIBIDN support]))
if test "x$enable_libidn" != "xno"; then
PKG_CHECK_MODULES(LIBIDN, [libidn],
[AC_DEFINE(HAVE_LIBIDN, 1, [Define if libidn is available])
@ -960,7 +1013,7 @@ AM_CONDITIONAL(HAVE_LIBIDN, [test "$have_libidn" = "yes"])
# ------------------------------------------------------------------------------
have_libiptc=no
AC_ARG_ENABLE(libiptc, AS_HELP_STRING([--disable-libiptc], [Disable optional LIBIPTC support]))
AC_ARG_ENABLE(libiptc, AS_HELP_STRING([--disable-libiptc], [disable optional LIBIPTC support]))
if test "x$enable_libiptc" != "xno"; then
PKG_CHECK_MODULES(LIBIPTC, [libiptc],
[AC_DEFINE(HAVE_LIBIPTC, 1, [Define if libiptc is available])
@ -1005,6 +1058,14 @@ if test "x$enable_tmpfiles" != "xno"; then
fi
AM_CONDITIONAL(ENABLE_TMPFILES, [test "$have_tmpfiles" = "yes"])
# ------------------------------------------------------------------------------
have_environment_d=no
AC_ARG_ENABLE(environment-d, AS_HELP_STRING([--disable-environment-d], [disable environment.d support]))
if test "x$enable_environment_d" != "xno"; then
have_environment_d=yes
fi
AM_CONDITIONAL(ENABLE_ENVIRONMENT_D, [test "$have_environment_d" = "yes"])
# ------------------------------------------------------------------------------
have_sysusers=no
AC_ARG_ENABLE(sysusers, AS_HELP_STRING([--disable-sysusers], [disable sysusers support]))
@ -1055,7 +1116,7 @@ AM_CONDITIONAL(ENABLE_LOGIND, [test "$have_logind" = "yes"])
AS_IF([test "$have_logind" = "yes"], [ AC_DEFINE(HAVE_LOGIND, [1], [Logind support available]) ])
AC_ARG_WITH([kill-user-processes],
[AS_HELP_STRING([--without-kill-user-processes], [Set logind's KillUserProcesses=no by default])])
[AS_HELP_STRING([--without-kill-user-processes], [set logind's KillUserProcesses=no by default])])
AS_IF([test "$with_kill_user_processes" != "no"],
[kill_user_processes=true
KILL_USER_PROCESSES=yes],
@ -1109,19 +1170,16 @@ AM_CONDITIONAL(ENABLE_TIMESYNCD, [test "$have_timesyncd" = "yes"])
AC_ARG_WITH(ntp-servers,
AS_HELP_STRING([--with-ntp-servers=NTPSERVERS],
[Space-separated list of default NTP servers]),
[space-separated list of default NTP servers]),
[NTP_SERVERS="$withval"],
[NTP_SERVERS="time1.google.com time2.google.com time3.google.com time4.google.com"
AC_MSG_WARN([*** Using Google NTP servers.
Do not ship OSes or devices with these default settings.
See DISTRO_PORTING for details!])])
[NTP_SERVERS="time1.google.com time2.google.com time3.google.com time4.google.com"])
AC_DEFINE_UNQUOTED(NTP_SERVERS, ["$NTP_SERVERS"], [Default NTP Servers])
AC_SUBST(NTP_SERVERS)
AC_ARG_WITH(time-epoch,
AS_HELP_STRING([--with-time-epoch=SECONDS],
[Time epoch for time clients]),
[time epoch for time clients]),
[TIME_EPOCH="$withval"],
[TIME_EPOCH="`stat -c %Y ${srcdir}/NEWS 2>/dev/null || echo 0`"])
@ -1130,7 +1188,7 @@ AC_DEFINE_UNQUOTED(TIME_EPOCH, [$TIME_EPOCH], [Time Epoch])
# ------------------------------------------------------------------------------
AC_ARG_WITH(system-uid-max,
AS_HELP_STRING([--with-system-uid-max=UID]
[Maximum UID for system users]),
[maximum UID for system users]),
[SYSTEM_UID_MAX="$withval"],
[SYSTEM_UID_MAX="`awk 'BEGIN { uid=999 } /^\s*SYS_UID_MAX\s+/ { uid=$2 } END { print uid }' /etc/login.defs 2>/dev/null || echo 999`"])
@ -1140,7 +1198,7 @@ AC_SUBST(SYSTEM_UID_MAX)
# ------------------------------------------------------------------------------
AC_ARG_WITH(system-gid-max,
AS_HELP_STRING([--with-system-gid-max=GID]
[Maximum GID for system groups]),
[maximum GID for system groups]),
[SYSTEM_GID_MAX="$withval"],
[SYSTEM_GID_MAX="`awk 'BEGIN { gid=999 } /^\s*SYS_GID_MAX\s+/ { gid=$2 } END { print gid }' /etc/login.defs 2>/dev/null || echo 999`"])
@ -1187,7 +1245,7 @@ AM_CONDITIONAL(ENABLE_RESOLVED, [test "$have_resolved" = "yes"])
AC_ARG_WITH(dns-servers,
AS_HELP_STRING([--with-dns-servers=DNSSERVERS],
[Space-separated list of default DNS servers]),
[space-separated list of default DNS servers]),
[DNS_SERVERS="$withval"],
[DNS_SERVERS="8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844"])
@ -1196,7 +1254,7 @@ AC_SUBST(DNS_SERVERS)
AC_ARG_WITH(default-dnssec,
AS_HELP_STRING([--with-default-dnssec=MODE],
[Default DNSSEC mode, defaults to "allow-downgrade"]),
[default DNSSEC mode, defaults to "allow-downgrade"]),
[DEFAULT_DNSSEC_MODE="$withval"],
[DEFAULT_DNSSEC_MODE="allow-downgrade"])
@ -1246,7 +1304,7 @@ AC_SUBST([EFI_ARCH])
AC_SUBST([EFI_MACHINE_TYPE_NAME])
have_gnuefi=no
AC_ARG_ENABLE(gnuefi, AS_HELP_STRING([--enable-gnuefi], [Enable optional gnuefi support]))
AC_ARG_ENABLE(gnuefi, AS_HELP_STRING([--enable-gnuefi], [enable optional gnuefi support]))
AS_IF([test "x$enable_gnuefi" != "xno"], [
AC_CHECK_HEADERS(efi/${EFI_ARCH}/efibind.h,
[AC_DEFINE(HAVE_GNUEFI, 1, [Define if gnuefi is available])
@ -1259,14 +1317,14 @@ AS_IF([test "x$enable_gnuefi" != "xno"], [
EFI_LIB_DIR="$efiroot"
AC_ARG_WITH(efi-libdir,
AS_HELP_STRING([--with-efi-libdir=PATH], [Path to EFI lib directory]),
AS_HELP_STRING([--with-efi-libdir=PATH], [path to EFI lib directory]),
[EFI_LIB_DIR="$withval"], [EFI_LIB_DIR="$efiroot"]
)
AC_SUBST([EFI_LIB_DIR])
have_efi_lds=no
AC_ARG_WITH(efi-ldsdir,
AS_HELP_STRING([--with-efi-ldsdir=PATH], [Path to EFI lds directory]),
AS_HELP_STRING([--with-efi-ldsdir=PATH], [path to EFI lds directory]),
[EFI_LDS_DIR="$withval" && AS_IF([test -f "${EFI_LDS_DIR}/elf_${EFI_ARCH}_efi.lds"],
[have_efi_lds=yes])],
[AS_FOR([DIR], [EFI_LDS_DIR], ["${EFI_LIB_DIR}/gnuefi" "${EFI_LIB_DIR}"],
@ -1279,7 +1337,7 @@ AS_IF([test "x$enable_gnuefi" != "xno"], [
[have_gnuefi=no])])
AC_ARG_WITH(efi-includedir,
AS_HELP_STRING([--with-efi-includedir=PATH], [Path to EFI include directory]),
AS_HELP_STRING([--with-efi-includedir=PATH], [path to EFI include directory]),
[EFI_INC_DIR="$withval"], [EFI_INC_DIR="/usr/include"]
)
AC_SUBST([EFI_INC_DIR])
@ -1288,7 +1346,7 @@ AM_CONDITIONAL(HAVE_GNUEFI, [test "x$have_gnuefi" = xyes])
# ------------------------------------------------------------------------------
have_tpm=no
AC_ARG_ENABLE([tpm], AS_HELP_STRING([--enable-tpm],[Enable optional TPM support]),
AC_ARG_ENABLE([tpm], AS_HELP_STRING([--enable-tpm], [enable optional TPM support]),
[case "${enableval}" in
yes) have_tpm=yes ;;
no) have_tpm=no ;;
@ -1311,13 +1369,13 @@ AC_DEFINE_UNQUOTED(SD_TPM_PCR, [$SD_TPM_PCR], [TPM PCR register number to use])
# ------------------------------------------------------------------------------
AC_ARG_WITH(rc-local-script-path-start,
AS_HELP_STRING([--with-rc-local-script-path-start=PATH],
[Path to /etc/rc.local]),
[path to /etc/rc.local]),
[RC_LOCAL_SCRIPT_PATH_START="$withval"],
[RC_LOCAL_SCRIPT_PATH_START="/etc/rc.local"])
AC_ARG_WITH(rc-local-script-path-stop,
AS_HELP_STRING([--with-rc-local-script-path-stop=PATH],
[Path to /usr/sbin/halt.local]),
[path to /usr/sbin/halt.local]),
[RC_LOCAL_SCRIPT_PATH_STOP="$withval"],
[RC_LOCAL_SCRIPT_PATH_STOP="/usr/sbin/halt.local"])
@ -1330,13 +1388,13 @@ AC_SUBST(RC_LOCAL_SCRIPT_PATH_STOP)
# ------------------------------------------------------------------------------
AC_ARG_WITH(kbd-loadkeys,
AS_HELP_STRING([--with-kbd-loadkeys=PATH],
[Path to loadkeys]),
[path to loadkeys]),
[KBD_LOADKEYS="$withval"],
[KBD_LOADKEYS="/usr/bin/loadkeys"])
AC_ARG_WITH(kbd-setfont,
AS_HELP_STRING([--with-kbd-setfont=PATH],
[Path to setfont]),
[path to setfont]),
[KBD_SETFONT="$withval"],
[KBD_SETFONT="/usr/bin/setfont"])
@ -1348,7 +1406,7 @@ AC_SUBST(KBD_SETFONT)
AC_ARG_WITH(telinit,
AS_HELP_STRING([--with-telinit=PATH],
[Path to telinit]),
[path to telinit]),
[TELINIT="$withval"],
[TELINIT="/lib/sysvinit/telinit"])
@ -1378,7 +1436,7 @@ fi
AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"])
# ------------------------------------------------------------------------------
AC_ARG_ENABLE(hwdb, [AC_HELP_STRING([--disable-hwdb], [disable hardware database support])],
AC_ARG_ENABLE(hwdb, [AS_HELP_STRING([--disable-hwdb], [disable hardware database support])],
enable_hwdb=$enableval, enable_hwdb=yes)
AM_CONDITIONAL(ENABLE_HWDB, [test x$enable_hwdb = xyes])
@ -1395,13 +1453,13 @@ AM_CONDITIONAL(ENABLE_MANPAGES, [test "x$have_manpages" = "xyes"])
# ------------------------------------------------------------------------------
AC_ARG_ENABLE(hibernate,
[AC_HELP_STRING([--disable-hibernate], [disable hibernation support])],
[AS_HELP_STRING([--disable-hibernate], [disable hibernation support])],
enable_hibernate=$enableval, enable_hibernate=yes)
AM_CONDITIONAL(ENABLE_HIBERNATE, [test x$enable_hibernate = xyes])
# ------------------------------------------------------------------------------
AC_ARG_ENABLE(ldconfig,
[AC_HELP_STRING([--disable-ldconfig], [disable ldconfig])],
[AS_HELP_STRING([--disable-ldconfig], [disable ldconfig])],
enable_ldconfig=$enableval, enable_ldconfig=yes)
AM_CONDITIONAL(ENABLE_LDCONFIG, [test x$enable_ldconfig = xyes])
@ -1412,13 +1470,13 @@ SYSTEM_SYSVRCND_PATH=/etc/rc.d
AC_ARG_WITH([sysvinit-path],
[AS_HELP_STRING([--with-sysvinit-path=PATH],
[Specify the path to where the SysV init scripts are located])],
[specify the path to where the SysV init scripts are located])],
[SYSTEM_SYSVINIT_PATH="$withval"],
[])
AC_ARG_WITH([sysvrcnd-path],
[AS_HELP_STRING([--with-sysvrcnd-path=PATH],
[Specify the path to the base directory for the SysV rcN.d directories])],
[specify the path to the base directory for the SysV rcN.d directories])],
[SYSTEM_SYSVRCND_PATH="$withval"],
[])
@ -1440,7 +1498,7 @@ AM_CONDITIONAL(HAVE_SYSV_COMPAT, test "$SYSTEM_SYSV_COMPAT" = "yes")
AC_ARG_WITH([tty-gid],
[AS_HELP_STRING([--with-tty-gid=GID],
[Specify the numeric GID of the 'tty' group])],
[specify the numeric GID of the 'tty' group])],
[TTY_GID="$withval"],
[TTY_GID="5"])
@ -1450,7 +1508,7 @@ AC_SUBST(TTY_GID)
AC_ARG_WITH([dbuspolicydir],
AS_HELP_STRING([--with-dbuspolicydir=DIR], [D-Bus policy directory]),
[],
[with_dbuspolicydir=${sysconfdir}/dbus-1/system.d])
[with_dbuspolicydir=${datadir}/dbus-1/system.d])
AX_NORMALIZE_PATH([with_dbuspolicydir])
AC_ARG_WITH([dbussessionservicedir],
@ -1466,7 +1524,7 @@ AC_ARG_WITH([dbussystemservicedir],
AX_NORMALIZE_PATH([with_dbussystemservicedir])
AC_ARG_WITH([bashcompletiondir],
AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
AS_HELP_STRING([--with-bashcompletiondir=DIR], [bash completions directory]),
[],
[AS_IF([$($PKG_CONFIG --exists bash-completion)], [
with_bashcompletiondir=$($PKG_CONFIG --variable=completionsdir bash-completion)
@ -1477,7 +1535,7 @@ AM_CONDITIONAL(ENABLE_BASH_COMPLETION, [test "$with_bashcompletiondir" != "no"])
AX_NORMALIZE_PATH([with_bashcompletiondir])
AC_ARG_WITH([zshcompletiondir],
AS_HELP_STRING([--with-zshcompletiondir=DIR], [Zsh completions directory]),
AS_HELP_STRING([--with-zshcompletiondir=DIR], [zsh completions directory]),
[], [with_zshcompletiondir=${datadir}/zsh/site-functions])
AM_CONDITIONAL(ENABLE_ZSH_COMPLETION, [test "$with_zshcompletiondir" != "no"])
AX_NORMALIZE_PATH([with_zshcompletiondir])
@ -1495,26 +1553,26 @@ fi
AX_NORMALIZE_PATH([with_rootprefix])
AC_ARG_WITH([rootlibdir],
AS_HELP_STRING([--with-rootlibdir=DIR], [Root directory for libraries necessary for boot]),
AS_HELP_STRING([--with-rootlibdir=DIR], [root directory for libraries necessary for boot]),
[],
[with_rootlibdir=${libdir}])
AX_NORMALIZE_PATH([with_rootlibdir])
AC_ARG_WITH([pamlibdir],
AS_HELP_STRING([--with-pamlibdir=DIR], [Directory for PAM modules]),
AS_HELP_STRING([--with-pamlibdir=DIR], [directory for PAM modules]),
[],
[with_pamlibdir=${with_rootlibdir}/security])
AX_NORMALIZE_PATH([with_pamlibdir])
AC_ARG_WITH([pamconfdir],
AS_HELP_STRING([--with-pamconfdir=DIR], [Directory for PAM configuration (pass no to disable installing)]),
AS_HELP_STRING([--with-pamconfdir=DIR], [directory for PAM configuration (pass no to disable installing)]),
[],
[with_pamconfdir=${sysconfdir}/pam.d])
AM_CONDITIONAL(ENABLE_PAM_CONFIG, [test "$with_pamconfdir" != "no"])
AX_NORMALIZE_PATH([with_pamconfdir])
AC_ARG_ENABLE([split-usr],
AS_HELP_STRING([--enable-split-usr], [Assume that /bin, /sbin aren\'t symlinks into /usr]),
AS_HELP_STRING([--enable-split-usr], [assume that /bin, /sbin aren't symlinks into /usr]),
[],
[AS_IF([test "x${ac_default_prefix}" != "x${with_rootprefix}"], [
enable_split_usr=yes
@ -1541,13 +1599,13 @@ AS_IF([test x"$cross_compiling" = "xyes"], [], [
])
AC_ARG_ENABLE(tests,
[AC_HELP_STRING([--disable-tests], [disable tests, or enable extra tests with =unsafe])],
[AS_HELP_STRING([--disable-tests], [disable tests, or enable extra tests with =unsafe])],
enable_tests=$enableval, enable_tests=yes)
AM_CONDITIONAL(ENABLE_TESTS, [test x$enable_tests = xyes -o x$enable_tests = xunsafe])
AM_CONDITIONAL(ENABLE_UNSAFE_TESTS, [test x$enable_tests = xunsafe])
AC_ARG_ENABLE(debug,
[AC_HELP_STRING([--enable-debug@<:@=LIST@:>@], [enable extra debugging (hashmap,mmap-cache)])],
[AS_HELP_STRING([--enable-debug@<:@=LIST@:>@], [enable extra debugging (hashmap,mmap-cache)])],
[if test "x$enableval" = "xyes"; then
enableval="hashmap,mmap-cache"
fi
@ -1620,25 +1678,27 @@ AC_MSG_RESULT([
vconsole: ${have_vconsole}
quotacheck: ${have_quotacheck}
tmpfiles: ${have_tmpfiles}
environment.d: ${have_environment_d}
sysusers: ${have_sysusers}
firstboot: ${have_firstboot}
randomseed: ${have_randomseed}
backlight: ${have_backlight}
rfkill: ${have_rfkill}
logind: ${have_logind}
Default KillUserProcesses setting: ${KILL_USER_PROCESSES}
default cgroup hierarchy: ${DEFAULT_HIERARCHY}
default KillUserProcesses setting: ${KILL_USER_PROCESSES}
machined: ${have_machined}
importd: ${have_importd}
hostnamed: ${have_hostnamed}
timedated: ${have_timedated}
timesyncd: ${have_timesyncd}
Default NTP servers: ${NTP_SERVERS}
default NTP servers: ${NTP_SERVERS}
time epoch: ${TIME_EPOCH}
localed: ${have_localed}
networkd: ${have_networkd}
resolved: ${have_resolved}
Default DNS servers: ${DNS_SERVERS}
Default DNSSEC mode: ${DEFAULT_DNSSEC_MODE}
default DNS servers: ${DNS_SERVERS}
default DNSSEC mode: ${DEFAULT_DNSSEC_MODE}
coredump: ${have_coredump}
polkit: ${have_polkit}
efi: ${have_efi}
@ -1677,26 +1737,27 @@ AC_MSG_RESULT([
rootlib dir: ${with_rootlibdir}
SysV init scripts: ${SYSTEM_SYSVINIT_PATH}
SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH}
Build Python: ${PYTHON}
build Python: ${PYTHON}
PAM modules dir: ${with_pamlibdir}
PAM configuration dir: ${with_pamconfdir}
D-Bus policy dir: ${with_dbuspolicydir}
D-Bus session dir: ${with_dbussessionservicedir}
D-Bus system dir: ${with_dbussystemservicedir}
Bash completions dir: ${with_bashcompletiondir}
Zsh completions dir: ${with_zshcompletiondir}
Extra start script: ${RC_LOCAL_SCRIPT_PATH_START}
Extra stop script: ${RC_LOCAL_SCRIPT_PATH_STOP}
Adm group: ${have_adm_group}
Wheel group: ${have_wheel_group}
Debug shell: ${SUSHELL} @ ${DEBUGTTY}
bash completions dir: ${with_bashcompletiondir}
zsh completions dir: ${with_zshcompletiondir}
extra start script: ${RC_LOCAL_SCRIPT_PATH_START}
extra stop script: ${RC_LOCAL_SCRIPT_PATH_STOP}
adm group: ${have_adm_group}
wheel group: ${have_wheel_group}
debug shell: ${SUSHELL} @ ${DEBUGTTY}
TTY GID: ${TTY_GID}
Maximum System UID: ${SYSTEM_UID_MAX}
Maximum System GID: ${SYSTEM_GID_MAX}
Certificate root: ${CERTIFICATEROOT}
Support URL: ${SUPPORT_URL}
Nobody User Name: ${NOBODY_USER_NAME}
Nobody Group Name: ${NOBODY_GROUP_NAME}
maximum system UID: ${SYSTEM_UID_MAX}
maximum system GID: ${SYSTEM_GID_MAX}
certificate root: ${CERTIFICATEROOT}
support URL: ${SUPPORT_URL}
nobody user name: ${NOBODY_USER_NAME}
nobody group name: ${NOBODY_GROUP_NAME}
fallback hostname: ${FALLBACK_HOSTNAME}
CFLAGS: ${OUR_CFLAGS} ${CFLAGS}
CPPFLAGS: ${OUR_CPPFLAGS} ${CPPFLAGS}

View File

@ -24,4 +24,4 @@ Further reading:
man:systemctl(1)
man:systemd(1)
http://0pointer.de/blog/projects/systemd-for-admins-3.html
http://www.freedesktop.org/wiki/Software/systemd/Incompatibilities
https://www.freedesktop.org/wiki/Software/systemd/Incompatibilities

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,9 @@
#
# With various additions from other sources
acpi:3GVR*:
ID_VENDOR_FROM_DATABASE=VR Technology Holdings Limited
acpi:3NOD*:
ID_VENDOR_FROM_DATABASE=Shenzhen three Connaught Information Technology Co., Ltd. (3nod Group)
@ -1947,6 +1950,9 @@ acpi:DPL*:
acpi:DPM*:
ID_VENDOR_FROM_DATABASE=ADPM Synthesis sas
acpi:DPN*:
ID_VENDOR_FROM_DATABASE=Shanghai Lexiang Technology Limited
acpi:DPS*:
ID_VENDOR_FROM_DATABASE=Digital Processing Systems
@ -1983,6 +1989,9 @@ acpi:DSD*:
acpi:DSI*:
ID_VENDOR_FROM_DATABASE=Digitan Systems Inc
acpi:DSJ*:
ID_VENDOR_FROM_DATABASE=VR Technology Holdings Limited
acpi:DSM*:
ID_VENDOR_FROM_DATABASE=DSM Digital Services GmbH
@ -3489,6 +3498,9 @@ acpi:IVI*:
acpi:IVM*:
ID_VENDOR_FROM_DATABASE=Iiyama North America
acpi:IVR*:
ID_VENDOR_FROM_DATABASE=Inlife-Handnet Co., Ltd.
acpi:IVS*:
ID_VENDOR_FROM_DATABASE=Intevac Photonics Inc.
@ -5367,6 +5379,9 @@ acpi:PVN*:
acpi:PVP*:
ID_VENDOR_FROM_DATABASE=Klos Technologies, Inc.
acpi:PVR*:
ID_VENDOR_FROM_DATABASE=Pimax Tech. CO., LTD
acpi:PXC*:
ID_VENDOR_FROM_DATABASE=Phoenix Contact
@ -6780,6 +6795,9 @@ acpi:TVD*:
acpi:TVI*:
ID_VENDOR_FROM_DATABASE=Truevision
acpi:TVL*:
ID_VENDOR_FROM_DATABASE=Total Vision LTD
acpi:TVM*:
ID_VENDOR_FROM_DATABASE=Taiwan Video & Monitor Corporation

File diff suppressed because it is too large Load Diff

View File

@ -50,6 +50,9 @@ usb:v0127*
usb:v0127p0002*
ID_MODEL_FROM_DATABASE=HDM Interface
usb:v0127p0127*
ID_MODEL_FROM_DATABASE=ibp
usb:v0145*
ID_VENDOR_FROM_DATABASE=Unknown
@ -1841,6 +1844,9 @@ usb:v03F0p9002*
usb:v03F0p9102*
ID_MODEL_FROM_DATABASE=PhotoSmart M537
usb:v03F0p9207*
ID_MODEL_FROM_DATABASE=HD-4110 Webcam
usb:v03F0p9302*
ID_MODEL_FROM_DATABASE=PhotoSmart R930 series
@ -2063,6 +2069,9 @@ usb:v03FD*
usb:v03FDp0008*
ID_MODEL_FROM_DATABASE=Platform Cable USB II
usb:v03FDp0050*
ID_MODEL_FROM_DATABASE=dfu downloader
usb:v03FE*
ID_VENDOR_FROM_DATABASE=Farallon Comunications
@ -2187,7 +2196,7 @@ usb:v0403p6009*
ID_MODEL_FROM_DATABASE=Serial Converter
usb:v0403p6010*
ID_MODEL_FROM_DATABASE=FT2232C Dual USB-UART/FIFO IC
ID_MODEL_FROM_DATABASE=FT2232C/D/H Dual UART/FIFO IC
usb:v0403p6011*
ID_MODEL_FROM_DATABASE=FT4232H Quad HS USB-UART/FIFO IC
@ -2318,6 +2327,9 @@ usb:v0403pBFDB*
usb:v0403pBFDC*
ID_MODEL_FROM_DATABASE=OpenDCC (GBM)
usb:v0403pC580*
ID_MODEL_FROM_DATABASE=HID UNIKEY dongle [F-Response]
usb:v0403pC630*
ID_MODEL_FROM_DATABASE=lcd2usb interface
@ -5432,6 +5444,12 @@ usb:v044F*
usb:v044Fp0400*
ID_MODEL_FROM_DATABASE=HOTAS Cougar
usb:v044Fp0402*
ID_MODEL_FROM_DATABASE=HOTAS Warthog Joystick
usb:v044Fp0404*
ID_MODEL_FROM_DATABASE=HOTAS Warthog Throttle
usb:v044Fp044F*
ID_MODEL_FROM_DATABASE=GP XID
@ -5501,6 +5519,9 @@ usb:v044FpB653*
usb:v044FpB654*
ID_MODEL_FROM_DATABASE=Ferrari GT Force Feedback Wheel
usb:v044FpB687*
ID_MODEL_FROM_DATABASE=TWCS Throttle
usb:v044FpB700*
ID_MODEL_FROM_DATABASE=Tacticalboard
@ -6401,6 +6422,15 @@ usb:v045Ep02D5*
usb:v045Ep02DD*
ID_MODEL_FROM_DATABASE=Xbox One Controller (Covert Forces/Firmware 2015)
usb:v045Ep02E3*
ID_MODEL_FROM_DATABASE=Xbox One Elite Controller
usb:v045Ep02E6*
ID_MODEL_FROM_DATABASE=Wireless XBox Controller Dongle
usb:v045Ep02EA*
ID_MODEL_FROM_DATABASE=Xbox One S Controller
usb:v045Ep0400*
ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
@ -6851,6 +6881,9 @@ usb:v045Ep0752*
usb:v045Ep075D*
ID_MODEL_FROM_DATABASE=LifeCam Cinema
usb:v045Ep0761*
ID_MODEL_FROM_DATABASE=LifeCam VX-2000
usb:v045Ep0766*
ID_MODEL_FROM_DATABASE=LifeCam VX-800
@ -6869,6 +6902,9 @@ usb:v045Ep0772*
usb:v045Ep0779*
ID_MODEL_FROM_DATABASE=LifeCam HD-3000
usb:v045Ep077F*
ID_MODEL_FROM_DATABASE=LifeChat LX-6000 Headset
usb:v045Ep0780*
ID_MODEL_FROM_DATABASE=Comfort Curve Keyboard 3000
@ -7148,6 +7184,12 @@ usb:v046Ap002A*
usb:v046Ap002D*
ID_MODEL_FROM_DATABASE=SmartTerminal XX44
usb:v046Ap003C*
ID_MODEL_FROM_DATABASE=Raptor Gaming Keyboard
usb:v046Ap003D*
ID_MODEL_FROM_DATABASE=Raptor Gaming Keyboard Integrated Hub
usb:v046Ap003E*
ID_MODEL_FROM_DATABASE=SmartTerminal ST-2xxx
@ -7166,6 +7208,12 @@ usb:v046Ap0106*
usb:v046Ap010D*
ID_MODEL_FROM_DATABASE=MX-Board 3.0 Keyboard
usb:v046ApB090*
ID_MODEL_FROM_DATABASE=Keyboard
usb:v046ApB091*
ID_MODEL_FROM_DATABASE=Mouse
usb:v046B*
ID_VENDOR_FROM_DATABASE=American Megatrends, Inc.
@ -7607,9 +7655,15 @@ usb:v046Dp0A38*
usb:v046Dp0A44*
ID_MODEL_FROM_DATABASE=Headset H390
usb:v046Dp0A45*
ID_MODEL_FROM_DATABASE=960 Headset
usb:v046Dp0A4D*
ID_MODEL_FROM_DATABASE=G430 Surround Sound Gaming Headset
usb:v046Dp0A5B*
ID_MODEL_FROM_DATABASE=G933 Wireless Headset Dongle
usb:v046Dp0B02*
ID_MODEL_FROM_DATABASE=C-UV35 [Bluetooth Mini-Receiver] (HID proxy mode)
@ -7902,7 +7956,7 @@ usb:v046DpC20E*
ID_MODEL_FROM_DATABASE=WingMan Formula GP
usb:v046DpC211*
ID_MODEL_FROM_DATABASE=iTouch Cordless Reciever
ID_MODEL_FROM_DATABASE=iTouch Cordless Receiver
usb:v046DpC212*
ID_MODEL_FROM_DATABASE=WingMan Extreme Digital 3D
@ -9149,6 +9203,9 @@ usb:v0480pA208*
usb:v0480pB001*
ID_MODEL_FROM_DATABASE=Stor.E Partner
usb:v0480pB207*
ID_MODEL_FROM_DATABASE=Canvio Ready
usb:v0480pD000*
ID_MODEL_FROM_DATABASE=External Disk 2TB Model DT01ABA200
@ -9362,6 +9419,9 @@ usb:v048D*
usb:v048Dp1165*
ID_MODEL_FROM_DATABASE=IT1165 Flash Controller
usb:v048Dp1172*
ID_MODEL_FROM_DATABASE=Flash Drive
usb:v048Dp1336*
ID_MODEL_FROM_DATABASE=SD/MMC Cardreader
@ -10145,6 +10205,9 @@ usb:v04A7p04A0*
usb:v04A7p04AC*
ID_MODEL_FROM_DATABASE=Xerox Travel Scanner 100
usb:v04A7p04CD*
ID_MODEL_FROM_DATABASE=Xerox Travel Scanner 150
usb:v04A8*
ID_VENDOR_FROM_DATABASE=Multivideo Labs, Inc.
@ -10361,6 +10424,9 @@ usb:v04A9p10A9*
usb:v04A9p10B6*
ID_MODEL_FROM_DATABASE=PIXMA iP4300 Printer
usb:v04A9p10B7*
ID_MODEL_FROM_DATABASE=PIXMA iP5300 Printer
usb:v04A9p10C2*
ID_MODEL_FROM_DATABASE=PIXMA iP1800 Printer
@ -10368,7 +10434,10 @@ usb:v04A9p10C4*
ID_MODEL_FROM_DATABASE=Pixma iP4500 Printer
usb:v04A9p10C9*
ID_MODEL_FROM_DATABASE=PIXIMA iP4600 Printer
ID_MODEL_FROM_DATABASE=PIXMA iP4600 Printer
usb:v04A9p10CA*
ID_MODEL_FROM_DATABASE=PIXMA iP3600 Printer
usb:v04A9p10E3*
ID_MODEL_FROM_DATABASE=PIXMA iX6850 Printer
@ -10394,6 +10463,9 @@ usb:v04A9p1601*
usb:v04A9p1607*
ID_MODEL_FROM_DATABASE=DR-6080 Scanner
usb:v04A9p1608*
ID_MODEL_FROM_DATABASE=DR-2580C Scanner
usb:v04A9p1700*
ID_MODEL_FROM_DATABASE=PIXMA MP110 Scanner
@ -10485,7 +10557,7 @@ usb:v04A9p1727*
ID_MODEL_FROM_DATABASE=MX300 ser
usb:v04A9p1728*
ID_MODEL_FROM_DATABASE=MX310 ser
ID_MODEL_FROM_DATABASE=PIXMA MX310 series
usb:v04A9p1729*
ID_MODEL_FROM_DATABASE=MX700 ser
@ -11564,9 +11636,15 @@ usb:v04A9p3212*
usb:v04A9p3214*
ID_MODEL_FROM_DATABASE=SELPHY CP800
usb:v04A9p3215*
ID_MODEL_FROM_DATABASE=EOS 60D
usb:v04A9p3218*
ID_MODEL_FROM_DATABASE=EOS 600D / Rebel T3i (ptp)
usb:v04A9p3219*
ID_MODEL_FROM_DATABASE=EOS 1D X
usb:v04A9p3223*
ID_MODEL_FROM_DATABASE=PowerShot A3300 IS
@ -11615,9 +11693,15 @@ usb:v04A9p3237*
usb:v04A9p3238*
ID_MODEL_FROM_DATABASE=PowerShot SX40 HS
usb:v04A9p323A*
ID_MODEL_FROM_DATABASE=EOS 5D Mark III
usb:v04A9p323B*
ID_MODEL_FROM_DATABASE=EOS Rebel T4i
usb:v04A9p323D*
ID_MODEL_FROM_DATABASE=EOS M
usb:v04A9p323E*
ID_MODEL_FROM_DATABASE=PowerShot A1300
@ -11642,6 +11726,9 @@ usb:v04A9p3244*
usb:v04A9p3245*
ID_MODEL_FROM_DATABASE=PowerShot SX240 HS
usb:v04A9p3246*
ID_MODEL_FROM_DATABASE=PowerShot ELPH 530 HS / IXUS 510 HS
usb:v04A9p3247*
ID_MODEL_FROM_DATABASE=PowerShot ELPH 520 HS / IXUS 500 HS
@ -11654,6 +11741,15 @@ usb:v04A9p3249*
usb:v04A9p324A*
ID_MODEL_FROM_DATABASE=PowerShot A2300
usb:v04A9p3250*
ID_MODEL_FROM_DATABASE=EOS 6D
usb:v04A9p3252*
ID_MODEL_FROM_DATABASE=EOS 1D C
usb:v04A9p3253*
ID_MODEL_FROM_DATABASE=EOS 70D
usb:v04A9p3255*
ID_MODEL_FROM_DATABASE=SELPHY CP900
@ -11705,9 +11801,24 @@ usb:v04A9p3266*
usb:v04A9p3268*
ID_MODEL_FROM_DATABASE=PowerShot ELPH 330 HS / IXUS 255 HS
usb:v04A9p326F*
ID_MODEL_FROM_DATABASE=EOS 7D Mark II
usb:v04A9p3270*
ID_MODEL_FROM_DATABASE=EOS 100D
usb:v04A9p3271*
ID_MODEL_FROM_DATABASE=PowerShot A2500
usb:v04A9p3272*
ID_MODEL_FROM_DATABASE=EOS 700D
usb:v04A9p3274*
ID_MODEL_FROM_DATABASE=PowerShot G16
usb:v04A9p3275*
ID_MODEL_FROM_DATABASE=PowerShot S120
usb:v04A9p3276*
ID_MODEL_FROM_DATABASE=PowerShot SX170 IS
@ -11717,6 +11828,9 @@ usb:v04A9p3277*
usb:v04A9p3278*
ID_MODEL_FROM_DATABASE=PowerShot S200
usb:v04A9p327A*
ID_MODEL_FROM_DATABASE=SELPHY CP910
usb:v04A9p327D*
ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132
@ -11771,15 +11885,30 @@ usb:v04A9p32A6*
usb:v04A9p32AA*
ID_MODEL_FROM_DATABASE=Powershot ELPH 160 / IXUS 160
usb:v04A9p32AB*
ID_MODEL_FROM_DATABASE=PowerShot ELPH 350HS / IXUS 275 HS
usb:v04A9p32AC*
ID_MODEL_FROM_DATABASE=PowerShot ELPH 170 IS / IXUS 170
usb:v04A9p32AD*
ID_MODEL_FROM_DATABASE=PowerShot SX410 IS
usb:v04A9p32B1*
ID_MODEL_FROM_DATABASE=SELPHY CP1200
usb:v04A9p32B2*
ID_MODEL_FROM_DATABASE=PowerShot G9 X
usb:v04A9p32BB*
ID_MODEL_FROM_DATABASE=EOS M5
usb:v04A9p32C1*
ID_MODEL_FROM_DATABASE=PowerShot ELPH 180 / IXUS 175
usb:v04A9p32C2*
ID_MODEL_FROM_DATABASE=PowerShot SX720 HS
usb:v04AA*
ID_VENDOR_FROM_DATABASE=DaeWoo Telecom, Ltd
@ -12878,6 +13007,9 @@ usb:v04B9p1305*
usb:v04B9p1306*
ID_MODEL_FROM_DATABASE=iKey Token
usb:v04B9p8000*
ID_MODEL_FROM_DATABASE=SafeNet Sentinel Hardware Key
usb:v04BA*
ID_VENDOR_FROM_DATABASE=Toucan Systems, Ltd
@ -13763,6 +13895,9 @@ usb:v04D9p2011*
usb:v04D9p2013*
ID_MODEL_FROM_DATABASE=Keyboard [Das Keyboard]
usb:v04D9p2206*
ID_MODEL_FROM_DATABASE=Fujitsu Siemens Mouse Esprimo Q
usb:v04D9p2221*
ID_MODEL_FROM_DATABASE=Keyboard
@ -13787,6 +13922,9 @@ usb:v04D9pA050*
usb:v04D9pA055*
ID_MODEL_FROM_DATABASE=Keyboard
usb:v04D9pA11B*
ID_MODEL_FROM_DATABASE=Mouse [MX-3200]
usb:v04DA*
ID_VENDOR_FROM_DATABASE=Panasonic (Matsushita)
@ -13817,6 +13955,9 @@ usb:v04DAp0D0D*
usb:v04DAp0D0E*
ID_MODEL_FROM_DATABASE=DVD-ROM & CD-R/RW
usb:v04DAp0F07*
ID_MODEL_FROM_DATABASE=KX-MB2030 Multifunction Laser Printer
usb:v04DAp0F40*
ID_MODEL_FROM_DATABASE=Printer
@ -13871,6 +14012,15 @@ usb:v04DAp2451*
usb:v04DAp245B*
ID_MODEL_FROM_DATABASE=HC-X920K (3MOS Full HD video camcorder)
usb:v04DAp2477*
ID_MODEL_FROM_DATABASE=SDR-H85 Camcorder (PC mode)
usb:v04DAp2478*
ID_MODEL_FROM_DATABASE=SDR-H85 Camcorder (recorder mode - SD card)
usb:v04DAp2479*
ID_MODEL_FROM_DATABASE=SDR-H85 Camcorder (recorder mode - HDD)
usb:v04DAp2497*
ID_MODEL_FROM_DATABASE=HDC-TM700
@ -14315,6 +14465,9 @@ usb:v04E7p00FF*
usb:v04E8*
ID_VENDOR_FROM_DATABASE=Samsung Electronics Co., Ltd
usb:v04E8p0001*
ID_MODEL_FROM_DATABASE=Printer Bootloader
usb:v04E8p0100*
ID_MODEL_FROM_DATABASE=Kingston Flash Drive (128MB)
@ -14775,7 +14928,7 @@ usb:v04E8p61B6*
ID_MODEL_FROM_DATABASE=M3 Portable Hard Drive 1TB
usb:v04E8p61F3*
ID_MODEL_FROM_DATABASE=MU-PT500B [T3 500GB USB SSD]
ID_MODEL_FROM_DATABASE=Portable SSD T3 (MU-PT250B, MU-PT500B)
usb:v04E8p6601*
ID_MODEL_FROM_DATABASE=Mobile Phone
@ -14907,10 +15060,10 @@ usb:v04E8p6864*
ID_MODEL_FROM_DATABASE=GT-I9070 (network tethering, USB debugging enabled)
usb:v04E8p6865*
ID_MODEL_FROM_DATABASE=GT-I9300 Phone [Galaxy S III] (PTP mode)
ID_MODEL_FROM_DATABASE=Galaxy (PTP mode)
usb:v04E8p6866*
ID_MODEL_FROM_DATABASE=GT-I9300 Phone [Galaxy S III] (debugging mode)
ID_MODEL_FROM_DATABASE=Galaxy (debugging mode)
usb:v04E8p6868*
ID_MODEL_FROM_DATABASE=Escape Composite driver for Android Phones: Modem+Diagnostic+ADB
@ -15329,6 +15482,9 @@ usb:v04F3p0230*
usb:v04F3p0232*
ID_MODEL_FROM_DATABASE=Mouse
usb:v04F3p0234*
ID_MODEL_FROM_DATABASE=Optical Mouse
usb:v04F3p02F4*
ID_MODEL_FROM_DATABASE=2.4G Cordless Mouse
@ -16850,9 +17006,18 @@ usb:v04F9p2028*
usb:v04F9p202B*
ID_MODEL_FROM_DATABASE=PT-7600 P-touch Label Printer
usb:v04F9p2061*
ID_MODEL_FROM_DATABASE=PT-P700 P-touch Label Printer
usb:v04F9p2064*
ID_MODEL_FROM_DATABASE=PT-P700 P-touch Label Printer RemovableDisk
usb:v04F9p2100*
ID_MODEL_FROM_DATABASE=Card Reader Writer
usb:v04F9p2102*
ID_MODEL_FROM_DATABASE=Sewing machine
usb:v04F9p60A0*
ID_MODEL_FROM_DATABASE=ADS-2000
@ -18371,6 +18536,9 @@ usb:v054Cp021C*
usb:v054Cp021D*
ID_MODEL_FROM_DATABASE=Net MD
usb:v054Cp0226*
ID_MODEL_FROM_DATABASE=UP-CR10L
usb:v054Cp0227*
ID_MODEL_FROM_DATABASE=Printing Support
@ -18554,9 +18722,27 @@ usb:v054Cp0689*
usb:v054Cp06BB*
ID_MODEL_FROM_DATABASE=WALKMAN NWZ-F805
usb:v054Cp06C3*
ID_MODEL_FROM_DATABASE=RC-S380
usb:v054Cp07C4*
ID_MODEL_FROM_DATABASE=ILCE-6000 (aka Alpha-6000) in Mass Storage mode
usb:v054Cp088C*
ID_MODEL_FROM_DATABASE=Portable Headphone Amplifier
usb:v054Cp08B7*
ID_MODEL_FROM_DATABASE=ILCE-6000 (aka Alpha-6000) in MTP mode
usb:v054Cp094E*
ID_MODEL_FROM_DATABASE=ILCE-6000 (aka Alpha-6000) in PC Remote mode
usb:v054Cp0994*
ID_MODEL_FROM_DATABASE=ILCE-6000 (aka Alpha-6000) in charging mode
usb:v054Cp0BB5*
ID_MODEL_FROM_DATABASE=Headset MDR-1000X
usb:v054Cp1000*
ID_MODEL_FROM_DATABASE=Wireless Buzz! Receiver
@ -19418,6 +19604,24 @@ usb:v056Ap0318*
usb:v056Ap032F*
ID_MODEL_FROM_DATABASE=DTU-1031X
usb:v056Ap0347*
ID_MODEL_FROM_DATABASE=Integrated Hub
usb:v056Ap0348*
ID_MODEL_FROM_DATABASE=Integrated Hub
usb:v056Ap034A*
ID_MODEL_FROM_DATABASE=DTH-W1320 [MobileStudio Pro 13] touchscreen
usb:v056Ap034B*
ID_MODEL_FROM_DATABASE=DTH-W1620 [MobileStudio Pro 16] touchscreen
usb:v056Ap034D*
ID_MODEL_FROM_DATABASE=DTH-W1320 [MobileStudio Pro 13] tablet
usb:v056Ap034E*
ID_MODEL_FROM_DATABASE=DTH-W1620 [MobileStudio Pro 16] tablet
usb:v056Ap0400*
ID_MODEL_FROM_DATABASE=PenPartner 4x5
@ -19565,6 +19769,9 @@ usb:v0572p1301*
usb:v0572p1328*
ID_MODEL_FROM_DATABASE=TrendNet TFM-561 modem
usb:v0572p1804*
ID_MODEL_FROM_DATABASE=HP Dock Audio
usb:v0572p2000*
ID_MODEL_FROM_DATABASE=SoftGate 802.11 Adapter
@ -20888,6 +21095,9 @@ usb:v058Cp001F*
usb:v058CpFFE5*
ID_MODEL_FROM_DATABASE=IN34 Projector
usb:v058CpFFEB*
ID_MODEL_FROM_DATABASE=Projector IN76
usb:v058D*
ID_VENDOR_FROM_DATABASE=Micrel Semiconductor
@ -23189,6 +23399,9 @@ usb:v05DCpB018*
usb:v05DCpB047*
ID_MODEL_FROM_DATABASE=SDHC Reader [RW047-7000]
usb:v05DCpB051*
ID_MODEL_FROM_DATABASE=microSD RDR UHS-I Card Reader [LRWM03U-7000]
usb:v05DCpBA02*
ID_MODEL_FROM_DATABASE=Workflow CFR1
@ -23300,6 +23513,9 @@ usb:v05E3p0142*
usb:v05E3p0143*
ID_MODEL_FROM_DATABASE=Multiple Frames Film Scanner-36series
usb:v05E3p0145*
ID_MODEL_FROM_DATABASE=Reflecta CrystalScan 7200 Photo-Scanner
usb:v05E3p0180*
ID_MODEL_FROM_DATABASE=Plustek Scanner
@ -23447,6 +23663,9 @@ usb:v05E3p0732*
usb:v05E3p0736*
ID_MODEL_FROM_DATABASE=microSD Reader/Writer
usb:v05E3p0738*
ID_MODEL_FROM_DATABASE=Card reader
usb:v05E3p0741*
ID_MODEL_FROM_DATABASE=microSD Card Reader
@ -26171,6 +26390,21 @@ usb:v06D3p03A1*
usb:v06D3p03A5*
ID_MODEL_FROM_DATABASE=CP9550DW-S
usb:v06D3p03A9*
ID_MODEL_FROM_DATABASE=CP-9600DW
usb:v06D3p03AA*
ID_MODEL_FROM_DATABASE=CP3020DA
usb:v06D3p03AD*
ID_MODEL_FROM_DATABASE=CP-9800DW-S
usb:v06D3p03AE*
ID_MODEL_FROM_DATABASE=CP-9800DW-S
usb:v06D3p3B10*
ID_MODEL_FROM_DATABASE=P95D
usb:v06D3p3B30*
ID_MODEL_FROM_DATABASE=CP-D70DW / CP-D707DW
@ -26885,6 +27119,9 @@ usb:v0718p0624*
usb:v0718p1120*
ID_MODEL_FROM_DATABASE=RDX External dock (redbud)
usb:v0718p4006*
ID_MODEL_FROM_DATABASE=8x Slim DVD Multi-Format Recorder External
usb:v0718pD000*
ID_MODEL_FROM_DATABASE=Disc Stakka CD/DVD Manager
@ -27890,6 +28127,9 @@ usb:v0781p5575*
usb:v0781p5576*
ID_MODEL_FROM_DATABASE=Cruzer Facet
usb:v0781p5577*
ID_MODEL_FROM_DATABASE=Cruzer Pop (8GB)
usb:v0781p557D*
ID_MODEL_FROM_DATABASE=Cruzer Force (64GB)
@ -27902,6 +28142,9 @@ usb:v0781p5581*
usb:v0781p5583*
ID_MODEL_FROM_DATABASE=Ultra Fit
usb:v0781p5590*
ID_MODEL_FROM_DATABASE=Ultra Dual
usb:v0781p5591*
ID_MODEL_FROM_DATABASE=Ultra Flair
@ -29840,6 +30083,9 @@ usb:v0810p0002*
usb:v0810p0003*
ID_MODEL_FROM_DATABASE=PlayStation Gamepad
usb:v0810pE501*
ID_MODEL_FROM_DATABASE=SNES Gamepad
usb:v0813*
ID_VENDOR_FROM_DATABASE=Mattel, Inc.
@ -30888,13 +31134,31 @@ usb:v08BB*
ID_VENDOR_FROM_DATABASE=Texas Instruments
usb:v08BBp2702*
ID_MODEL_FROM_DATABASE=Speakers
ID_MODEL_FROM_DATABASE=PCM2702 16-bit stereo audio DAC
usb:v08BBp2704*
ID_MODEL_FROM_DATABASE=Audio Codec
ID_MODEL_FROM_DATABASE=PCM2704 16-bit stereo audio DAC
usb:v08BBp2705*
ID_MODEL_FROM_DATABASE=PCM2705 stereo audio DAC
usb:v08BBp2706*
ID_MODEL_FROM_DATABASE=PCM2706 Audio Codec
ID_MODEL_FROM_DATABASE=PCM2706 stereo audio DAC
usb:v08BBp2707*
ID_MODEL_FROM_DATABASE=PCM2707 stereo audio DAC
usb:v08BBp27C4*
ID_MODEL_FROM_DATABASE=PCM2704C stereo audio DAC
usb:v08BBp27C5*
ID_MODEL_FROM_DATABASE=PCM2705C stereo audio DAC
usb:v08BBp27C6*
ID_MODEL_FROM_DATABASE=PCM2706C stereo audio DAC
usb:v08BBp27C7*
ID_MODEL_FROM_DATABASE=PCM2707C stereo audio DAC
usb:v08BBp2900*
ID_MODEL_FROM_DATABASE=PCM2900 Audio Codec
@ -30911,6 +31175,9 @@ usb:v08BBp2904*
usb:v08BBp2910*
ID_MODEL_FROM_DATABASE=PCM2912 Audio Codec
usb:v08BBp2912*
ID_MODEL_FROM_DATABASE=PCM2912A Audio Codec
usb:v08BBp29B0*
ID_MODEL_FROM_DATABASE=PCM2900B Audio CODEC
@ -32024,6 +32291,9 @@ usb:v091Ep255B*
usb:v091Ep26A1*
ID_MODEL_FROM_DATABASE=Nuvi 55
usb:v091Ep47FB*
ID_MODEL_FROM_DATABASE=nuviCam
usb:v0920*
ID_VENDOR_FROM_DATABASE=Echelon Co.
@ -32078,6 +32348,9 @@ usb:v0924p3CE8*
usb:v0924p3CEA*
ID_MODEL_FROM_DATABASE=Phaser 3125
usb:v0924p3CEC*
ID_MODEL_FROM_DATABASE=Phaser 3250
usb:v0924p3D5B*
ID_MODEL_FROM_DATABASE=Phaser 6115MFP TWAIN Scanner
@ -32444,9 +32717,24 @@ usb:v0934*
usb:v0936*
ID_VENDOR_FROM_DATABASE=NuTesla
usb:v0936p000A*
ID_MODEL_FROM_DATABASE=Moebius
usb:v0936p000B*
ID_MODEL_FROM_DATABASE=iMoebius
usb:v0936p000C*
ID_MODEL_FROM_DATABASE=Rhythmedics 6 BioData Integrator
usb:v0936p000D*
ID_MODEL_FROM_DATABASE=Hypurius
usb:v0936p000E*
ID_MODEL_FROM_DATABASE=Millennius
usb:v0936p000F*
ID_MODEL_FROM_DATABASE=Purius
usb:v0936p0030*
ID_MODEL_FROM_DATABASE=Composite Device, Mass Storage Device (Flash Drive) amd HID
@ -32753,6 +33041,9 @@ usb:v0954*
usb:v0955*
ID_VENDOR_FROM_DATABASE=NVidia Corp.
usb:v0955p7018*
ID_MODEL_FROM_DATABASE=APX
usb:v0955p7030*
ID_MODEL_FROM_DATABASE=Tegra 3 (recovery mode)
@ -33263,6 +33554,12 @@ usb:v09D7*
usb:v09D7p0100*
ID_MODEL_FROM_DATABASE=NovAtel FlexPack GPS receiver
usb:v09D8*
ID_VENDOR_FROM_DATABASE=ELATEC
usb:v09D8p0406*
ID_MODEL_FROM_DATABASE=TWN4 MIFARE NFC
usb:v09D9*
ID_VENDOR_FROM_DATABASE=KRF Tech, Ltd
@ -35250,7 +35547,7 @@ usb:v0B05p5412*
ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (PTP mode)
usb:v0B05p550F*
ID_MODEL_FROM_DATABASE=ASUS fonepad 7
ID_MODEL_FROM_DATABASE=Fonepad 7
usb:v0B05p6101*
ID_MODEL_FROM_DATABASE=Cable Modem
@ -35258,6 +35555,24 @@ usb:v0B05p6101*
usb:v0B05p620A*
ID_MODEL_FROM_DATABASE=Remote NDIS Device
usb:v0B05p7772*
ID_MODEL_FROM_DATABASE=ASUS Zenfone GO (ZB500KL) (MTP mode)
usb:v0B05p7773*
ID_MODEL_FROM_DATABASE=ASUS Zenfone GO (ZB500KL) (Debug, MTP mode)
usb:v0B05p7774*
ID_MODEL_FROM_DATABASE=ASUS Zenfone GO (ZB500KL) (RNDIS mode)
usb:v0B05p7775*
ID_MODEL_FROM_DATABASE=ASUS Zenfone GO (ZB500KL) (Debug, RNDIS mode)
usb:v0B05p7776*
ID_MODEL_FROM_DATABASE=ASUS Zenfone GO (ZB500KL) (PTP mode)
usb:v0B05p7777*
ID_MODEL_FROM_DATABASE=ASUS Zenfone GO (ZB500KL) (Debug, PTP mode)
usb:v0B05pB700*
ID_MODEL_FROM_DATABASE=Broadcom Bluetooth 2.1
@ -36599,6 +36914,9 @@ usb:v0BC2p2320*
usb:v0BC2p2321*
ID_MODEL_FROM_DATABASE=Expansion Portable
usb:v0BC2p2322*
ID_MODEL_FROM_DATABASE=SRD0NF1 Expansion Portable (STEA)
usb:v0BC2p2340*
ID_MODEL_FROM_DATABASE=FreeAgent External Hard Drive
@ -36653,6 +36971,9 @@ usb:v0BC2p5121*
usb:v0BC2p5161*
ID_MODEL_FROM_DATABASE=FreeAgent GoFlex dock
usb:v0BC2p61B7*
ID_MODEL_FROM_DATABASE=Maxtor M3 Portable
usb:v0BC2pA003*
ID_MODEL_FROM_DATABASE=Backup Plus
@ -36680,6 +37001,9 @@ usb:v0BC2pAB31*
usb:v0BC2pAB34*
ID_MODEL_FROM_DATABASE=Backup Plus
usb:v0BC2pAB38*
ID_MODEL_FROM_DATABASE=Backup Plus Hub
usb:v0BC3*
ID_VENDOR_FROM_DATABASE=IPWireless, Inc.
@ -36887,6 +37211,9 @@ usb:v0BDAp570C*
usb:v0BDAp5730*
ID_MODEL_FROM_DATABASE=HP 2.0MP High Definition Webcam
usb:v0BDAp5751*
ID_MODEL_FROM_DATABASE=Integrated Webcam
usb:v0BDAp5775*
ID_MODEL_FROM_DATABASE=HP "Truevision HD" laptop camera
@ -37109,6 +37436,12 @@ usb:v0BFDp000B*
usb:v0BFDp000E*
ID_MODEL_FROM_DATABASE=Leaf SemiPro HS
usb:v0C00*
ID_VENDOR_FROM_DATABASE=FireFly Mouse Mat
usb:v0C00p1607*
ID_MODEL_FROM_DATABASE=Apex M500
usb:v0C04*
ID_VENDOR_FROM_DATABASE=MOTO Development Group, Inc.
@ -37808,6 +38141,9 @@ usb:v0C45p648B*
usb:v0C45p64BD*
ID_MODEL_FROM_DATABASE=Sony Visual Communication Camera
usb:v0C45p64D0*
ID_MODEL_FROM_DATABASE=Integrated Webcam
usb:v0C45p64D2*
ID_MODEL_FROM_DATABASE=Integrated Webcam
@ -38333,8 +38669,14 @@ usb:v0CA7*
usb:v0CAD*
ID_VENDOR_FROM_DATABASE=Motorola CGISS
usb:v0CADp1007*
ID_MODEL_FROM_DATABASE=APX Series Consolette
usb:v0CADp1030*
ID_MODEL_FROM_DATABASE=APX Series Radio
ID_MODEL_FROM_DATABASE=APX Series Radio (Portable)
usb:v0CADp1031*
ID_MODEL_FROM_DATABASE=APX Series Radio (Mobile)
usb:v0CADp1602*
ID_MODEL_FROM_DATABASE=IMPRES Battery Data Reader
@ -38585,6 +38927,18 @@ usb:v0CD5p0003*
usb:v0CD5p0009*
ID_MODEL_FROM_DATABASE=UE9
usb:v0CD6*
ID_VENDOR_FROM_DATABASE=Scheidt & Bachmann
usb:v0CD6p000C*
ID_MODEL_FROM_DATABASE=S&B TPU
usb:v0CD6p000E*
ID_MODEL_FROM_DATABASE=S&B BKV
usb:v0CD6p0011*
ID_MODEL_FROM_DATABASE=Money Coin Unit
usb:v0CD7*
ID_VENDOR_FROM_DATABASE=NewChip S.r.l.
@ -38921,6 +39275,9 @@ usb:v0D16p0002*
usb:v0D16p0004*
ID_MODEL_FROM_DATABASE=Photo Printer 63xPL/PS
usb:v0D16p000E*
ID_MODEL_FROM_DATABASE=P910L
usb:v0D16p0100*
ID_MODEL_FROM_DATABASE=Photo Printer 63xPL/PS
@ -39633,7 +39990,7 @@ usb:v0D99*
ID_VENDOR_FROM_DATABASE=Trazer Technologies, Inc.
usb:v0D9A*
ID_VENDOR_FROM_DATABASE=RTX Telecom AS
ID_VENDOR_FROM_DATABASE=RTX AS
usb:v0D9Ap0001*
ID_MODEL_FROM_DATABASE=Bluetooth Device
@ -40325,6 +40682,9 @@ usb:v0DFC*
usb:v0DFCp0001*
ID_MODEL_FROM_DATABASE=Touchscreen
usb:v0DFCp0101*
ID_MODEL_FROM_DATABASE=5-point Touch Screen
usb:v0E03*
ID_VENDOR_FROM_DATABASE=Nippon Systemware Co., Ltd
@ -41636,6 +41996,9 @@ usb:v0FCAp8011*
usb:v0FCAp8020*
ID_MODEL_FROM_DATABASE=Blackberry Playbook (CD-Rom mode)
usb:v0FCAp8037*
ID_MODEL_FROM_DATABASE=Blackberry PRIV
usb:v0FCE*
ID_VENDOR_FROM_DATABASE=Sony Ericsson Mobile Communications AB
@ -42212,6 +42575,9 @@ usb:v1004p631E*
usb:v1004p631F*
ID_MODEL_FROM_DATABASE=Optimus Android Phone (Charge Mode)
usb:v1004p633A*
ID_MODEL_FROM_DATABASE=Ultimate 2 Android Phone L41C
usb:v1004p633E*
ID_MODEL_FROM_DATABASE=G2/G3 Android Phone [MTP/PTP/Download mode]
@ -42851,6 +43217,9 @@ usb:v1058p1230*
usb:v1058p1235*
ID_MODEL_FROM_DATABASE=My Book (WDBFJK0040HBK)
usb:v1058p2599*
ID_MODEL_FROM_DATABASE=My Passport Ultra (WD40NMZW)
usb:v1058p259D*
ID_MODEL_FROM_DATABASE=My Passport Ultra (WDBBKD)
@ -50873,15 +51242,57 @@ usb:v1B1Cp0A00*
usb:v1B1Cp0A60*
ID_MODEL_FROM_DATABASE=Vengeance K60 Keyboard
usb:v1B1Cp0C04*
ID_MODEL_FROM_DATABASE=Link Cooling Node
usb:v1B1Cp1A01*
ID_MODEL_FROM_DATABASE=Flash Voyager GT
usb:v1B1Cp1A03*
ID_MODEL_FROM_DATABASE=Voyager 3.0
usb:v1B1Cp1A09*
ID_MODEL_FROM_DATABASE=Voyager GT 3.0
usb:v1B1Cp1A0A*
ID_MODEL_FROM_DATABASE=Survivor Stealth Flash Drive
usb:v1B1Cp1A0B*
ID_MODEL_FROM_DATABASE=Flash Voyager LS
usb:v1B1Cp1A15*
ID_MODEL_FROM_DATABASE=Voyager Slider Flash Drive
usb:v1B1Cp1A90*
ID_MODEL_FROM_DATABASE=Flash Voyager GT
usb:v1B1Cp1AB1*
ID_MODEL_FROM_DATABASE=Voyager
usb:v1B1Cp1B04*
ID_MODEL_FROM_DATABASE=Raptor K50 Keyboard
usb:v1B1Cp1B07*
ID_MODEL_FROM_DATABASE=Vengeance K65 Gaming Keyboard
usb:v1B1Cp1B08*
ID_MODEL_FROM_DATABASE=Vengeance K95 Keyboard
usb:v1B1Cp1B09*
ID_MODEL_FROM_DATABASE=Vengeance K70R keyboard
usb:v1B1Cp1B11*
ID_MODEL_FROM_DATABASE=K95 RGB Mechanical Gaming Keyboard
usb:v1B1Cp1B13*
ID_MODEL_FROM_DATABASE=Vengeance K70RGB keyboard
usb:v1B1Cp1C00*
ID_MODEL_FROM_DATABASE=Controller for Corsair Link
usb:v1B1Cp1C0C*
ID_MODEL_FROM_DATABASE=RM850i Power Supply
usb:v1B1F*
ID_VENDOR_FROM_DATABASE=eQ-3 Entwicklung GmbH
@ -52544,6 +52955,15 @@ usb:v1D90*
usb:v1D90p201E*
ID_MODEL_FROM_DATABASE=PPU-700
usb:v1D9D*
ID_VENDOR_FROM_DATABASE=Sigma Sport
usb:v1D9Dp1010*
ID_MODEL_FROM_DATABASE=Docking Station Topline 2009
usb:v1D9Dp1011*
ID_MODEL_FROM_DATABASE=Docking Station Topline 2012
usb:v1DE1*
ID_VENDOR_FROM_DATABASE=Actions Microelectronics Co.
@ -54374,6 +54794,27 @@ usb:v2735p1043*
usb:v2735p1044*
ID_MODEL_FROM_DATABASE=HCT HMD-180A
usb:v273F*
ID_VENDOR_FROM_DATABASE=Hughski Limited
usb:v273Fp1000*
ID_MODEL_FROM_DATABASE=ColorHug bootloader
usb:v273Fp1001*
ID_MODEL_FROM_DATABASE=ColorHug
usb:v273Fp1002*
ID_MODEL_FROM_DATABASE=ColorHug+
usb:v273Fp1003*
ID_MODEL_FROM_DATABASE=ColorHug+ Bootloader
usb:v273Fp1004*
ID_MODEL_FROM_DATABASE=ColorHug2
usb:v273Fp1005*
ID_MODEL_FROM_DATABASE=ColorHug2 bootloader
usb:v2770*
ID_VENDOR_FROM_DATABASE=NHJ, Ltd
@ -54620,6 +55061,12 @@ usb:v2C1A*
usb:v2C1Ap0000*
ID_MODEL_FROM_DATABASE=Wireless Optical Mouse
usb:v2DCF*
ID_VENDOR_FROM_DATABASE=Dialog Semiconductor
usb:v2DCFpC952*
ID_MODEL_FROM_DATABASE=Audio Class 2.0 Devices
usb:v2FB2*
ID_VENDOR_FROM_DATABASE=Fujitsu, Ltd

View File

@ -15,7 +15,7 @@
# To add local entries, create a new file
# /etc/udev/hwdb.d/61-evdev-local.hwdb
# and add your rules there. To load the new rules execute (as root):
# udevadm hwdb --update
# systemd-hwdb update
# udevadm trigger /dev/input/eventXX
# where /dev/input/eventXX is the device in question. If in
# doubt, simply use /dev/input/event* to reload all input rules.
@ -93,6 +93,14 @@ evdev:input:b0003v05ACp025B*
#########################################
# ASUS
#########################################
# Asus VivoBook E402SA
evdev:name:Elan Touchpad:dmi:*svnASUSTeKCOMPUTERINC.:pnE402SA*
EVDEV_ABS_00=::29
EVDEV_ABS_01=::29
EVDEV_ABS_35=::29
EVDEV_ABS_36=::29
# Asus K52JT
evdev:name:ETPS/2 Elantech Touchpad:dmi:bvn*:bvr*:bd*:svnASUSTeKComputerInc.:pnK52JT:*
EVDEV_ABS_00=::18
@ -100,7 +108,8 @@ evdev:name:ETPS/2 Elantech Touchpad:dmi:bvn*:bvr*:bd*:svnASUSTeKComputerInc.:pnK
EVDEV_ABS_35=::18
EVDEV_ABS_36=::16
evdev:name:ETPS/2 Elantech Touchpad:dmi:*:svnASUSTeKCOMPUTERINC.:pnX550CC:*
# Asus X550CC and S550CB
evdev:name:ETPS/2 Elantech Touchpad:dmi:*:svnASUSTeKCOMPUTERINC.:pn?550C?:*
EVDEV_ABS_00=::31
EVDEV_ABS_01=::30
EVDEV_ABS_35=::31
@ -136,6 +145,13 @@ evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLati
EVDEV_ABS_35=76:1815:22
EVDEV_ABS_36=131:1330:30
# Dell Latitude E6320
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6320*
EVDEV_ABS_00=79:1841:22
EVDEV_ABS_01=140:1325:29
EVDEV_ABS_35=79:1841:22
EVDEV_ABS_36=140:1325:29
# Dell Precision 5510
evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnPrecision5510*
EVDEV_ABS_00=::42
@ -184,10 +200,31 @@ evdev:name:SynPS/2 Synaptics TouchPad*:dmi:*svnHewlett-Packard:pnHPPaviliondm4*
EVDEV_ABS_35=1360:5563:47
EVDEV_ABS_36=1269:4618:61
# HP Pavilion dv7
evdev:name:SynPS/2 Synaptics TouchPad*:dmi:*svnHewlett-Packard:pnHPPaviliondv7*
EVDEV_ABS_00=1068:5805:44
EVDEV_ABS_01=1197:4890:57
EVDEV_ABS_35=1068:5805:44
EVDEV_ABS_36=1197:4890:57
# HP Spectre
evdev:name:SynPS/2 Synaptics TouchPad:dmi:i*svnHP:pnHPSpectreNotebook*
EVDEV_ABS_00=1205:5691:47
EVDEV_ABS_01=1083:4808:65
EVDEV_ABS_35=1205:5691:47
EVDEV_ABS_36=1083:4808:65
#########################################
# Lenovo
#########################################
# Lenovo B590
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrLenovoB590*
EVDEV_ABS_00=1243:5759:48
EVDEV_ABS_01=1130:4832:65
EVDEV_ABS_35=1243:5759:48
EVDEV_ABS_36=1130:4832:65
# Lenovo E530
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:pn*ThinkPadEdgeE530*
EVDEV_ABS_00=1241:5703:49
@ -217,6 +254,20 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPad??40?:*
EVDEV_ABS_35=::41
EVDEV_ABS_36=::37
# Lenovo ThinkPad T430
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadT430*
EVDEV_ABS_00=1250:5631:58
EVDEV_ABS_01=1309:4826:78
EVDEV_ABS_35=1250:5631:58
EVDEV_ABS_36=1309:4826:78
# Lenovo Thinkpad Carbon X1 4th gen. and X1 Yoga 1st gen.
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX1Carbon4th*
EVDEV_ABS_00=1262:5679:44
EVDEV_ABS_01=1101:4824:65
EVDEV_ABS_35=1262:5679:44
EVDEV_ABS_36=1101:4824:65
# Lenovo T460
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*T460*
EVDEV_ABS_00=1266:5677:44
@ -236,6 +287,13 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*pvrLenovoV360*
EVDEV_ABS_00=1243:5927:60
EVDEV_ABS_01=902:5330:108
# Lenovo W530
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*pvrThinkPadW530*
EVDEV_ABS_00=1250:5631:59
EVDEV_ABS_01=1205:4834:81
EVDEV_ABS_35=1250:5631:59
EVDEV_ABS_36=1205:4834:81
# Lenovo X220 series
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*pvrThinkPadX220*
EVDEV_ABS_00=1316:5627:58
@ -279,3 +337,12 @@ evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnSAMSUNGELECTRONICSCO.,LTD.:pn305V4A/
EVDEV_ABS_01=0:1116:24
EVDEV_ABS_35=0:2480:28
EVDEV_ABS_36=0:1116:24
#########################################
# Toshiba
#########################################
# Toshiba Tecra M11
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:*svnTOSHIBA:pnTECRAM11*
EVDEV_ABS_00=90:962:11
EVDEV_ABS_01=51:681:14

View File

@ -4,7 +4,7 @@
# scan codes to add to the AT keyboard's 'force-release' list.
#
# The lookup keys are composed in:
# 60-keyboard.rules
# 60-evdev.rules
#
# Note: The format of the "evdev:" prefix match key is a
# contract between the rules file and the hardware data, it might
@ -18,17 +18,28 @@
# ZZZZ is the bus-id (see /usr/include/linux/input.h BUS_*), YYYY, XXXX and
# WWW are the 4-digit hex uppercase vendor, product and version ID and VVVV
# is an arbitrary length input-modalias describing the device capabilities.
# The vendor, product and version ID for a device node "eventX" is listed
# in /sys/class/input/eventX/device/id.
#
# - AT keyboard DMI data matches:
# evdev:atkbd:dmi:bvn*:bvr*:bd*:svn<vendor>:pn<product>:pvr*
# <vendor> and <product> are the firmware-provided strings
# exported by the kernel DMI modalias.
# exported by the kernel DMI modalias, see /sys/class/dmi/id/modalias
#
# - Input driver device name and DMI data match:
# evdev:name:<input device name>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*
# <input device name> is the name device specified by the
# driver, <vendor> is the firmware-provided string exported
# by the kernel DMI modalias.
# by the kernel DMI modalias, see /sys/class/dmi/id/modalias
#
# - Extended input driver device name, properties and DMI data match:
# evdev:name:<input device name>:phys:<phys>:ev:<ev>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*
# <input device name> is the name device specified by the
# driver, <phys> is the physical-device-path, "cat
# /sys/class/input/input?/phys", <ev> is the event bitmask, "cat
# /sys/class/input/input?/capabilities/ev" and <vendor> is the
# firmware-provided string exported by the kernel DMI modalias,
# see /sys/class/dmi/id/modalias
#
# Scan codes are specified as:
# KEYBOARD_KEY_<hex scan code>=<key code identifier>
@ -42,11 +53,18 @@
#
# To debug key presses and access scan code mapping data of
# an input device use the commonly available tool: evtest(1).
# A device with a fixed keyboard layout that must not be changed by
# the desktop environment may specify that layout as:
# XKB_FIXED_LAYOUT="us"
# XKB_FIXED_VARIANT=""
# Examples of such devices: the Yubikey or other key-code generating
# devices.
#
# To update this file, create a new file
# /etc/udev/hwdb.d/70-keyboard.hwdb
# and add your rules there. To load the new rules execute (as root):
# udevadm hwdb --update
# systemd-hwdb update
# udevadm trigger /dev/input/eventXX
# where /dev/input/eventXX is the keyboard in question. If in
# doubt, simply use /dev/input/event* to reload all input rules.
@ -115,6 +133,9 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*8930:*
KEYBOARD_KEY_89=fastforward
KEYBOARD_KEY_9e=back
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*7750G:pvr*
KEYBOARD_KEY_e0=!pageup
# Travelmate C300
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*C3[01]0*:pvr*
KEYBOARD_KEY_67=f24 # FIXME: rotate screen
@ -196,6 +217,14 @@ evdev:input:b0003v049Fp0051*
KEYBOARD_KEY_0c0014=prog1
KEYBOARD_KEY_0c0015=messenger
###########################################################
# Cube
###########################################################
evdev:name:gpio-keys:phys:gpio-keys/input0:ev:3:dmi:bvn*:bvr*:bd*:svncube:pni1-TF:*
KEYBOARD_KEY_0=home
KEYBOARD_KEY_1=power
###########################################################
# Dell
###########################################################
@ -275,7 +304,7 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS12-9Q33*:pvr*
evdev:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*
# Dell Precision microphone mute
evdev:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*
KEYBOARD_KEY_150=f20 # Mic mute toggle, should be micmute
KEYBOARD_KEY_100150=f20 # Mic mute toggle, should be micmute
###########################################################
# Everex
@ -415,6 +444,10 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*Pavilion*dv7*Notebook*PC:
KEYBOARD_KEY_c6=break
KEYBOARD_KEY_94=reserved
# Pavilion x360 13 (Prevents random airplane mode activation)
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*[pP][aA][vV][iI][lL][iI][oO][nN]*13*x360*:pvr*
KEYBOARD_KEY_d7=unknown
# Elitebook
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*Compaq*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*EliteBook*:pvr*
@ -858,6 +891,7 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMicro-Star*:pn*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pn*U-100*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pn*U100*:pvr*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pn*N033:*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMicro-Star*:pn*VR420*:pvr*
KEYBOARD_KEY_f7=reserved
KEYBOARD_KEY_f8=reserved
@ -1239,3 +1273,18 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDIXONSP:pnDIXON*:pvr*
KEYBOARD_KEY_a0=! # mute
KEYBOARD_KEY_ae=! # volume down
KEYBOARD_KEY_b0=! # volume up
###########################################################
# Fixed layout devices
###########################################################
# Yubico Yubico Yubikey II"
evdev:input:b0003v1050p0010*
# Yubico Yubikey NEO OTP+CCID
evdev:input:b0003v1050p0111*
# Yubico Yubikey NEO OTP+U2F+CCID
evdev:input:b0003v1050p0116*
# OKE Electron Company USB barcode reader
evdev:input:b0003v05FEp1010*
XKB_FIXED_LAYOUT="us"
XKB_FIXED_VARIANT=""

54
hwdb/60-sensor.hwdb Normal file
View File

@ -0,0 +1,54 @@
# This file is part of systemd.
#
# The lookup keys are composed in:
# 60-sensor.rules
#
# Note: The format of the "sensor:" prefix match key is a
# contract between the rules file and the hardware data, it might
# change in later revisions to support more or better matches, it
# is not necessarily expected to be a stable ABI.
#
# Match string formats:
# sensor:modalias:<parent device modalias>:dmi:<dmi string>
#
# To add local entries, create a new file
# /etc/udev/hwdb.d/61-sensor-local.hwdb
# and add your rules there. To load the new rules execute (as root):
# systemd-hwdb update
# udevadm trigger -y `dirname $(udevadm info -n "/dev/iio:deviceXXX" -q path)`
# where /dev/iio:deviceXXX is the device in question.
#
# If your changes are generally applicable, preferably send them as a pull
# request to
# https://github.com/systemd/systemd
# or create a bug report on https://github.com/systemd/systemd/issues and
# include your new rules, a description of the device, and the output of
# udevadm info --export-db
#
# For hwdb format and systemd behavior:
# https://www.freedesktop.org/software/systemd/man/hwdb.html
#
# Allowed properties are:
# ACCEL_MOUNT_MATRIX=<matrix>
#
# where <matrix> is a mount-matrix in the format specified in the IIO
# subsystem[1]. The default, when unset, is equivalent to:
# ACCEL_MOUNT_MATRIX=1, 0, 0; 0, 1, 0; 0, 0, 1
# eg. the identity matrix.
#
# [1]: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=dfc57732ad38f93ae6232a3b4e64fd077383a0f1
#
#
# Sort by brand, model
#########################################
# AsusTek
#########################################
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP500LB*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 0
#########################################
# Winbook
#########################################
sensor:modalias:acpi:BMA250*:dmi:*svn*WinBook*:*pn*TW100*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 0

View File

@ -31,7 +31,7 @@
# To add local entries, create a new file
# /etc/udev/hwdb.d/71-mouse-local.hwdb
# and add your rules there. To load the new rules execute (as root):
# udevadm hwdb --update
# systemd-hwdb update
# udevadm trigger /dev/input/eventXX
# where /dev/input/eventXX is the mouse in question. If in
# doubt, simply use /dev/input/event* to reload all input rules.
@ -50,6 +50,8 @@
# MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL
# MOUSE_WHEEL_CLICK_COUNT
# MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL
# MOUSE_WHEEL_TILT_HORIZONTAL
# MOUSE_WHEEL_TILT_VERTICAL
#
#########################################
# ID_INPUT_TRACKBALL #
@ -134,6 +136,26 @@
# MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL works the same way but also follows the
# rules of MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL.
#########################################
# MOUSE_WHEEL_TILT_HORIZONTAL #
# MOUSE_WHEEL_TILT_VERTICAL #
#########################################
#
# Indicates that the respective axis is not a mouse wheel rotation but a
# tilt along that axis. Wheel tilt is most commonly used for horizontal
# scroll wheel emulation on mice with only a single vertical wheel.
#
# The vertical and horizontal Axes are independently marked as tilt axes,
# for example it is permitted to have a MOUSE_WHEEL_CLICK_COUNT or
# MOUSE_WHEEL_CLICK_ANGLE for the vertical axis and mark the horizontal axis
# marked as as MOUSE_WHEEL_TILT_HORIZONTAL.
#
# It is a bug to have either CLICK_COUNT or CLICK_ANGLE set on the same axis
# as WHEEL_TILT. Applications should give priority to WHEEL_TILT and ignore
# other settings.
#
# This is a flag only, permitted values: 0 or 1
#
# Sort by brand, type (usb, bluetooth), DPI, frequency.
# For mice with switchable resolution, sort by the starred entry.
@ -346,6 +368,10 @@ mouse:usb:v046dpc24c:name:Logitech G400s Optical Gaming Mouse:
mouse:usb:v046dpc07e:name:Logitech Gaming Mouse G402:
MOUSE_DPI=400@1000 *800@1000 1600@1000 3200@1000
# Logitech G502 Proteus Spectrum
mouse:usb:v046dpc332:name:Logitech Gaming Mouse G502:
MOUSE_DPI=1200@1000 *2400@1000 3200@1000 6400@1000
# Logitech B605 Wireless Mouse (also M505)
mouse:usb:v046dp101d:name:Logitech B605:
mouse:usb:v046dp101d:name:Logitech M505:
@ -416,6 +442,10 @@ mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4026:
mouse:usb:v046dpc068:name:Logitech G500:
MOUSE_DPI=*1600@500 2600@500 3600@500
# Logitech TrackMan Wheel (USB)
mouse:usb:v046dpc404:name:Logitech Trackball:
MOUSE_DPI=300@125
# Logitech MX1000 Laser Cordless Mouse
mouse:bluetooth:v046dpb003:name:Logitech MX1000 mouse:
MOUSE_DPI=800@80
@ -464,6 +494,10 @@ mouse:bluetooth:v045ep0702:name:Microsoft Wireless Laser Mouse 8000:
mouse:bluetooth:v045ep07f3:name:Arc Touch Mouse SE:
MOUSE_DPI=1000@2000
# Microsoft Surface Mouse
mouse:bluetooth:v0000p0000:name:Surface Mouse:
MOUSE_DPI=2000@2000
##########################################
# Mionix
##########################################
@ -497,6 +531,10 @@ mouse:bluetooth:v056ep0061:name:Laser BTmouse:
mouse:usb:v1532p0042:name:Razer Razer Abyssus:
MOUSE_DPI=3500@1000
# Razer DeathAdder Black Edition
mouse:usb:v1532p0029:name:Razer Razer DeathAdder:
MOUSE_DPI=3500@1000
##########################################
# Roccat
##########################################

View File

@ -18,16 +18,19 @@
# ZZZZ is the bus-id (see /usr/include/linux/input.h BUS_*), YYYY, XXXX and
# WWW are the 4-digit hex uppercase vendor, product and version ID and VVVV
# is an arbitrary length input-modalias describing the device capabilities.
# The vendor, product and version ID for a device node "eventX" is listed
# in /sys/class/input/eventX/device/id.
#
# - Input driver device name and DMI data match:
# evdev:name:<input device name>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*
# <input device name> is the name device specified by the driver,
# <vendor> is the firmware-provided string from the kernel DMI modalias.
# <vendor> is the firmware-provided string from the kernel DMI modalias,
# see /sys/class/dmi/id/modalias
#
# To add local entries, create a new file
# /etc/udev/hwdb.d/71-pointingstick-local.hwdb
# and add your rules there. To load the new rules execute (as root):
# udevadm hwdb --update
# systemd-hwdb update
# udevadm trigger /dev/input/eventXX
# where /dev/input/eventXX is the pointingstick in question. If in
# doubt, simply use /dev/input/event* to reload all input rules.
@ -79,6 +82,10 @@
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeD620*:pvr*
POINTINGSTICK_CONST_ACCEL=0.5
# Latitude E5570
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE5570*:pvr*
POINTINGSTICK_CONST_ACCEL=0.1
# Latitude E6320
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6320*:pvr*
POINTINGSTICK_CONST_ACCEL=2.0
@ -95,6 +102,8 @@ evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE7470*:pvr*
# Lenovo
#########################################
# Lenovo Thinkpad X220
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX220:*
# Lenovo Thinkpad X230
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX230:*
# Lenovo Thinkpad X230 tablet

View File

@ -18,7 +18,7 @@
# To add local entries, create a new file
# /etc/udev/hwdb.d/71-touchpad-local.hwdb
# and add your rules there. To load the new rules execute (as root):
# udevadm hwdb --update
# systemd-hwdb update
# udevadm trigger /dev/input/eventXX
# where /dev/input/eventXX is the touchpad in question. If in
# doubt, simply use /dev/input/event* to reload all input rules.
@ -47,3 +47,9 @@ touchpad:usb:*
###########################################################
touchpad:usb:v05ac*
ID_INPUT_TOUCHPAD_INTEGRATION=internal
###########################################################
# Wacom
###########################################################
touchpad:usb:v056a*
ID_INPUT_TOUCHPAD_INTEGRATION=external

View File

@ -31,7 +31,7 @@ class PNPTableParser(HTMLParser):
elif self.state == State.AFTER_PNPID:
self.state = State.DATE
else:
raise Error("Unexpected field")
raise ValueError
self.data = ""
@ -48,7 +48,7 @@ class PNPTableParser(HTMLParser):
elif self.state == State.DATE:
self.state = State.NOWHERE
else:
raise Error("Unexpected field")
raise ValueError
def handle_data(self, data):
self.data += data

View File

@ -26,7 +26,6 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
import functools
import glob
import string
import sys
@ -35,9 +34,9 @@ import os
try:
from pyparsing import (Word, White, Literal, ParserElement, Regex,
LineStart, LineEnd,
ZeroOrMore, OneOrMore, Combine, Or, Optional, Suppress, Group,
OneOrMore, Combine, Or, Optional, Suppress, Group,
nums, alphanums, printables,
stringEnd, pythonStyleComment,
stringEnd, pythonStyleComment, QuotedString,
ParseBaseException)
except ImportError:
print('pyparsing is not available')
@ -56,16 +55,19 @@ except ImportError:
lru_cache = lambda: (lambda f: f)
EOL = LineEnd().suppress()
EMPTYLINE = LineStart() + LineEnd()
EMPTYLINE = LineEnd()
COMMENTLINE = pythonStyleComment + EOL
INTEGER = Word(nums)
STRING = QuotedString('"')
REAL = Combine((INTEGER + Optional('.' + Optional(INTEGER))) ^ ('.' + INTEGER))
SIGNED_REAL = Combine(Optional(Word('-+')) + REAL)
UDEV_TAG = Word(string.ascii_uppercase, alphanums + '_')
TYPES = {'mouse': ('usb', 'bluetooth', 'ps2', '*'),
'evdev': ('name', 'atkbd', 'input'),
'touchpad': ('i8042', 'rmi', 'bluetooth', 'usb'),
'keyboard': ('name', ),
'sensor': ('modalias', ),
}
@lru_cache()
@ -76,7 +78,7 @@ def hwdb_grammar():
for category, conn in TYPES.items())
matchline = Combine(prefix + Word(printables + ' ' + '®')) + EOL
propertyline = (White(' ', exact=1).suppress() +
Combine(UDEV_TAG - '=' - Word(alphanums + '_=:@*.! ') - Optional(pythonStyleComment)) +
Combine(UDEV_TAG - '=' - Word(alphanums + '_=:@*.!-;, "') - Optional(pythonStyleComment)) +
EOL)
propertycomment = White(' ', exact=1) + pythonStyleComment + EOL
@ -93,16 +95,24 @@ def hwdb_grammar():
def property_grammar():
ParserElement.setDefaultWhitespaceChars(' ')
setting = Optional('*')('DEFAULT') + INTEGER('DPI') + Suppress('@') + INTEGER('HZ')
props = (('MOUSE_DPI', Group(OneOrMore(setting('SETTINGS*')))),
dpi_setting = (Optional('*')('DEFAULT') + INTEGER('DPI') + Suppress('@') + INTEGER('HZ'))('SETTINGS*')
mount_matrix_row = SIGNED_REAL + ',' + SIGNED_REAL + ',' + SIGNED_REAL
mount_matrix = (mount_matrix_row + ';' + mount_matrix_row + ';' + mount_matrix_row)('MOUNT_MATRIX')
props = (('MOUSE_DPI', Group(OneOrMore(dpi_setting))),
('MOUSE_WHEEL_CLICK_ANGLE', INTEGER),
('MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL', INTEGER),
('MOUSE_WHEEL_CLICK_COUNT', INTEGER),
('MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL', INTEGER),
('ID_INPUT_TRACKBALL', Literal('1')),
('MOUSE_WHEEL_TILT_HORIZONTAL', Literal('1')),
('MOUSE_WHEEL_TILT_VERTICAL', Literal('1')),
('POINTINGSTICK_SENSITIVITY', INTEGER),
('POINTINGSTICK_CONST_ACCEL', REAL),
('ID_INPUT_TOUCHPAD_INTEGRATION', Or(('internal', 'external'))),
('XKB_FIXED_LAYOUT', STRING),
('XKB_FIXED_VARIANT', STRING),
('ACCEL_MOUNT_MATRIX', mount_matrix),
)
fixed_props = [Literal(name)('NAME') - Suppress('=') - val('VALUE')
for name, val in props]
@ -115,7 +125,7 @@ def property_grammar():
Word(nums + ':')('VALUE')
]
grammar = Or(fixed_props + kbd_props + abs_props)
grammar = Or(fixed_props + kbd_props + abs_props) + EOL
return grammar
@ -133,7 +143,8 @@ def convert_properties(group):
def parse(fname):
grammar = hwdb_grammar()
try:
parsed = grammar.parseFile(fname)
with open(fname, 'r', encoding='UTF-8') as f:
parsed = grammar.parseFile(f)
except ParseBaseException as e:
error('Cannot parse {}: {}', fname, e)
return []
@ -185,8 +196,7 @@ def print_summary(fname, groups):
.format(fname,
len(groups),
sum(len(matches) for matches, props in groups),
sum(len(props) for matches, props in groups),
))
sum(len(props) for matches, props in groups)))
if __name__ == '__main__':
args = sys.argv[1:] or glob.glob(os.path.dirname(sys.argv[0]) + '/[67]0-*.hwdb')

12
man/50-xdg-data-dirs.sh Executable file
View File

@ -0,0 +1,12 @@
#!/bin/bash
# set the default value
XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share/:/usr/share}"
# add a directory if it exists
if [[ -d /opt/foo/share ]]; then
XDG_DATA_DIRS=/opt/foo/share:${XDG_DATA_DIRS}
fi
# write our output
echo XDG_DATA_DIRS=$XDG_DATA_DIRS

40
man/90-rearrange-path.py Executable file
View File

@ -0,0 +1,40 @@
#!/usr/bin/python3
"""
Proof-of-concept systemd environment generator that makes sure that bin dirs
are always after matching sbin dirs in the path.
(Changes /sbin:/bin:/foo/bar to /bin:/sbin:/foo/bar.)
This generator shows how to override the configuration possibly created by
earlier generators. It would be easier to write in bash, but let's have it
in Python just to prove that we can, and to serve as a template for more
interesting generators.
"""
import os
import pathlib
def rearrange_bin_sbin(path):
"""Make sure any pair of …/bin, …/sbin directories is in this order
>>> rearrange_bin_sbin('/bin:/sbin:/usr/sbin:/usr/bin')
'/bin:/sbin:/usr/bin:/usr/sbin'
"""
items = [pathlib.Path(p) for p in path.split(':')]
for i in range(len(items)):
if 'sbin' in items[i].parts:
ind = items[i].parts.index('sbin')
bin = pathlib.Path(*items[i].parts[:ind], 'bin', *items[i].parts[ind+1:])
if bin in items[i+1:]:
j = i + 1 + items[i+1:].index(bin)
items[i], items[j] = items[j], items[i]
return ':'.join(p.as_posix() for p in items)
if __name__ == '__main__':
path = os.environ['PATH'] # This should be always set.
# If it's not, we'll just crash, we is OK too.
new = rearrange_bin_sbin(path)
if new != path:
print('PATH={}'.format(new))

View File

@ -118,8 +118,8 @@
<refsect1>
<title>See Also</title>
<para>
<ulink url="http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec">Boot loader specification</ulink>
<ulink url="http://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface">Systemd boot loader interface</ulink>
<ulink url="https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec">Boot loader specification</ulink>
<ulink url="https://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface">Systemd boot loader interface</ulink>
</para>
</refsect1>
</refentry>

View File

@ -179,6 +179,13 @@
identical to the system manager bootup (see above) until it
reaches <filename>basic.target</filename>. From there, systemd
approaches the special target <filename>initrd.target</filename>.
Before any file systems are mounted, it must be determined whether
the system will resume from hibernation or proceed with normal boot.
This is accomplished by <filename>systemd-hibernate-resume@.service</filename>
which must be finished before <filename>local-fs-pre.target</filename>,
so no filesystems can be mounted before the check is complete.
When the root device becomes available,
<filename>initd-root-device.target</filename> is reached.
If the root device can be mounted at

View File

@ -291,11 +291,11 @@
<listitem><para>Similar to <command>monitor</command> but
writes the output in pcap format (for details, see the <ulink
url="http://wiki.wireshark.org/Development/LibpcapFileFormat">Libpcap
File Format</ulink> description. Make sure to redirect the
output to STDOUT to a file. Tools like
url="https://wiki.wireshark.org/Development/LibpcapFileFormat">Libpcap
File Format</ulink> description). Make sure to redirect
standard output to a file. Tools like
<citerefentry project='die-net'><refentrytitle>wireshark</refentrytitle><manvolnum>1</manvolnum></citerefentry>
may be used to dissect and view the generated
may be used to dissect and view the resulting
files.</para></listitem>
</varlistentry>
@ -472,7 +472,7 @@ o "/org/freedesktop/systemd1/job/42684"</programlisting>
<para>
<citerefentry project='dbus'><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<ulink url="http://freedesktop.org/wiki/Software/dbus">D-Bus</ulink>,
<ulink url="https://www.freedesktop.org/wiki/Software/dbus">D-Bus</ulink>,
<citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,

View File

@ -85,7 +85,7 @@
<listitem><para>Controls where to store cores. One of <literal>none</literal>,
<literal>external</literal>, and <literal>journal</literal>. When
<literal>none</literal>, the core dumps will be logged (included the traceback if
<literal>none</literal>, the core dumps will be logged (including the backtrace if
possible), but not stored permanently. When <literal>external</literal> (the
default), cores will be stored in <filename>/var/lib/systemd/coredump/</filename>.
When <literal>journal</literal>, cores will be stored in the journal and rotated

View File

@ -91,6 +91,28 @@
all known core dumps.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-S</option></term>
<term><option>--since</option></term>
<listitem><para>Only print entries which are since the specified date.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-U</option></term>
<term><option>--until</option></term>
<listitem><para>Only print entries which are until the specified date.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-r</option></term>
<term><option>--reverse</option></term>
<listitem><para>Reverse output so that the newest entries are displayed first.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-F</option> <replaceable>FIELD</replaceable></term>
<term><option>--field=</option><replaceable>FIELD</replaceable></term>
@ -116,6 +138,14 @@
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-q</option></term>
<term><option>--quiet</option></term>
<listitem><para>Suppresses info messages about lack
of access to journal files and possible in-flight coredumps.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
@ -132,6 +162,57 @@
matching specified characteristics. If no command is
specified, this is the implied default.</para>
<para>The output is designed to be human readable and contains list contains
a table with the following columns:</para>
<variablelist>
<varlistentry>
<term>TIME</term>
<listitem><para>The timestamp of the crash, as reported by the kernel.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>PID</term>
<listitem><para>The identifier of the process that crashed.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>UID</term>
<term>GID</term>
<listitem><para>The user and group identifiers of the process that crashed.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>SIGNAL</term>
<listitem><para>The signal that caused the process to crash, when applicable.
</para></listitem>
</varlistentry>
<varlistentry>
<term>COREFILE</term>
<listitem><para>Information whether the coredump was stored, and whether
it is still accessible: <literal>none</literal> means the the core was
not stored, <literal>-</literal> means that it was not available (for
example because the process was not terminated by a signal),
<literal>present</literal> means that the core file is accessible by the
current user, <literal>journal</literal> means that the core was stored
in the <literal>journal</literal>, <literal>truncated</literal> is the
same as one of the previous two, but the core was too large and was not
stored in its entirety, <literal>error</literal> means that the core file
cannot be accessed, most likely because of insufficient permissions, and
<literal>missing</literal> means that the core was stored in a file, but
this file has since been removed.</para></listitem>
</varlistentry>
<varlistentry>
<term>EXE</term>
<listitem><para>The full path to the executable. For backtraces of scripts
this is the name of the interpreter.</para></listitem>
</varlistentry>
</variablelist>
<para>It's worth noting that different restrictions apply to
data saved in the journal and core dump files saved in
<filename>/var/lib/systemd/coredump</filename>, see overview in
@ -201,9 +282,9 @@
<varlistentry>
<term><replaceable>MATCH</replaceable></term>
<listitem><para>General journalctl predicates (see
<listitem><para>General journalctl predicate (see
<citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>).
Must contain an equal sign. </para></listitem>
Must contain an equals sign (<literal>=</literal>).</para></listitem>
</varlistentry>
</variablelist>
</refsect1>

122
man/environment.d.xml Normal file
View File

@ -0,0 +1,122 @@
<?xml version="1.0"?>
<!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
This file is part of systemd.
Copyright 2016 Red Hat, Inc.
Copyright 2017 Zbigniew Jędrzejewski-Szmek
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
systemd is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="environment.d" xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>environment.d</title>
<productname>systemd</productname>
<authorgroup>
<author>
<contrib>Developer</contrib>
<firstname>Ray</firstname>
<surname>Strode</surname>
<email>rstrode@redhat.com</email>
</author>
</authorgroup>
</refentryinfo>
<refmeta>
<refentrytitle>environment.d</refentrytitle>
<manvolnum>5</manvolnum>
</refmeta>
<refnamediv>
<refname>environment.d</refname>
<refpurpose>Definition of user session environment</refpurpose>
</refnamediv>
<refsynopsisdiv>
<para><filename>~/.config/environment.d/*.conf</filename></para>
<para><filename>/etc/environment.d/*.conf</filename></para>
<para><filename>/run/environment.d/*.conf</filename></para>
<para><filename>/usr/lib/environment.d/*.conf</filename></para>
<para><filename>/etc/environment</filename></para>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>The <filename>environment.d</filename> directories contain a list of "global" environment
variable assignments for the user environment.
<citerefentry><refentrytitle>systemd-environment-d-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
parses them and updates the environment exported by the systemd user instance to the services it
starts.</para>
<para>It is recommended to use numerical prefixes for file names to simplify ordering.</para>
<para>For backwards compatibility, a symlink to <filename>/etc/environment</filename> is
installed, so this file is also parsed.</para>
</refsect1>
<xi:include href="standard-conf.xml" xpointer="confd" />
<refsect1>
<title>Configuration Format</title>
<para>The configuration files contain a list of
<literal><replaceable>KEY</replaceable>=<replaceable>VALUE</replaceable></literal> environment
variable assignments, separated by newlines. The right hand side of these assignments may
reference previously defined environment variables, using the <literal>${OTHER_KEY}</literal>
and <literal>$OTHER_KEY</literal> format. It is also possible to use
<literal>${<replaceable>FOO</replaceable>:-<replaceable>DEFAULT_VALUE</replaceable>}</literal>
to expand in the same way as <literal>${<replaceable>FOO</replaceable>}</literal> unless the
expansion would be empty, in which case it expands to <replaceable>DEFAULT_VALUE</replaceable>,
and use
<literal>${<replaceable>FOO</replaceable>:+<replaceable>ALTERNATE_VALUE</replaceable>}</literal>
to expand to <replaceable>ALTERNATE_VALUE</replaceable> as long as
<literal>${<replaceable>FOO</replaceable>}</literal> would have expanded to a non-empty value.
No other elements of shell syntax are supported.</para>
<para>Each<replaceable>KEY</replaceable> must be a valid variable name. Empty lines
and lines beginning with the comment character <literal>#</literal> are ignored.</para>
<refsect2>
<title>Example</title>
<example>
<title>Setup environment to allow access to a program installed in
<filename noindex='true'>/opt/foo</filename></title>
<para><filename>/etc/environment.d/60-foo.conf</filename>:
</para>
<programlisting>
FOO_DEBUG=force-software-gl,log-verbose
PATH=/opt/foo/bin:$PATH
LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}/opt/foo/lib
XDG_DATA_DIRS=/opt/foo/share:${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/}
</programlisting>
</example>
</refsect2>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-environment-d-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.environment-generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>

View File

@ -502,7 +502,7 @@
url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG
Base Directory Specification</ulink>. Additional locations for
high-level user resources are defined by <ulink
url="http://www.freedesktop.org/wiki/Software/xdg-user-dirs/">xdg-user-dirs</ulink>.</para>
url="https://www.freedesktop.org/wiki/Software/xdg-user-dirs/">xdg-user-dirs</ulink>.</para>
<variablelist>
<varlistentry>

View File

@ -173,6 +173,7 @@
defined:
<literal>desktop</literal>,
<literal>laptop</literal>,
<literal>convertible</literal>,
<literal>server</literal>,
<literal>tablet</literal>,
<literal>handset</literal>,

View File

@ -50,28 +50,88 @@
system-supplied hwdb file with a local file if needed;
a symlink in <filename>/etc</filename> with the same name as a hwdb file in
<filename>/usr/lib</filename>, pointing to <filename>/dev/null</filename>,
disables the hwdb file entirely. hwdb files must have the extension
disables that hwdb file entirely. hwdb files must have the extension
<filename>.hwdb</filename>; other extensions are ignored.</para>
<para>The hwdb file contains data records consisting of matches and
associated key-value pairs. Every record in the hwdb starts with one or
more match strings, specifying a shell glob to compare the database
lookup string against. Multiple match lines are specified in additional
consecutive lines. Every match line is compared individually, and they are
combined by OR. Every match line must start at the first character of
the line.</para>
<para>Each hwdb file contains data records consisting of matches and associated
key-value pairs. Every record in the hwdb starts with one or more match strings,
specifying a shell glob to compare the lookup string against. Multiple match lines
are specified in consecutive lines. Every match line is compared individually, and
they are combined by OR. Every match line must start at the first character of the
line.</para>
<para>The match lines are followed by one or more key-value pair lines, which
are recognized by a leading space character. The key name and value are separated
by <literal>=</literal>. An empty line signifies the end
of a record. Lines beginning with <literal>#</literal> are ignored.</para>
<para>The match lines are followed by one or more key-value pair lines, which are
recognized by a leading space character. The key name and value are separated by
<literal>=</literal>. An empty line signifies the end of a record. Lines beginning
with <literal>#</literal> are ignored.</para>
<para>In case multiple records match a given lookup string, the key-value pairs
from all records are combined. If a key is specified multiple times, the value
from the record with the highest priority is used (each key can have only a single
value). The priority is higher when the record is in a file that sorts later
lexicographically, and in case of records in the same file, later records have
higher priority.</para>
<para>The content of all hwdb files is read by
<citerefentry><refentrytitle>systemd-hwdb</refentrytitle><manvolnum>8</manvolnum></citerefentry>
and compiled to a binary database located at <filename>/etc/udev/hwdb.bin</filename>,
or alternatively <filename>/usr/lib/udev/hwdb.bin</filename> if you want ship the compiled
database in an immutable image.
During runtime, only the binary database is used.</para>
or alternatively <filename>/usr/lib/udev/hwdb.bin</filename> if you want ship the
compiled database in an immutable image. During runtime, only the binary database
is used.</para>
</refsect1>
<refsect1>
<title>Examples</title>
<example>
<title>General syntax of hwdb files</title>
<programlisting># /usr/lib/udev/hwdb.d/example.hwdb
# Comments can be placed before any records. This is a good spot
# to describe what that file is used for, what kind of properties
# it defines, and the ordering convention.
# A record with three matches and one property
mouse:*:name:*Trackball*:
mouse:*:name:*trackball*:
mouse:*:name:*TrackBall*:
ID_INPUT_TRACKBALL=1
# A record with a single match and five properties
mouse:usb:v046dp4041:name:Logitech MX Master:
MOUSE_DPI=1000@166
MOUSE_WHEEL_CLICK_ANGLE=15
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
MOUSE_WHEEL_CLICK_COUNT=24
MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL=14
</programlisting>
</example>
<example>
<title>Overriding of properties</title>
<programlisting># /usr/lib/udev/hwdb.d/60-keyboard.hwdb
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn*
KEYBOARD_KEY_a1=help
KEYBOARD_KEY_a2=setup
KEYBOARD_KEY_a3=battery
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn123*
KEYBOARD_KEY_a2=wlan
# /etc/udev/hwdb.d/70-keyboard.hwdb
# disable wlan key on all at keyboards
evdev:atkbd:*
KEYBOARD_KEY_a2=reserved</programlisting>
<para>If the hwdb consists of those two files, a keyboard with the lookup string
<literal>evdev:atkbd:dmi:bvnAcer:bdXXXXX:bd08/05/2010:svnAcer:pn123</literal>
will match all three records, and end up with the following properties:</para>
<programlisting>KEYBOARD_KEY_a1=help
KEYBOARD_KEY_a2=reserved
KEYBOARD_KEY_a3=battery</programlisting>
</example>
</refsect1>
<refsect1>

View File

@ -318,8 +318,10 @@
<para>serializes the journal into a binary (but mostly
text-based) stream suitable for backups and network
transfer (see
<ulink url="http://www.freedesktop.org/wiki/Software/systemd/export">Journal Export Format</ulink>
for more information).</para>
<ulink url="https://www.freedesktop.org/wiki/Software/systemd/export">Journal Export Format</ulink>
for more information). To import the binary stream back
into native journald format use
<citerefentry><refentrytitle>systemd-journal-remote</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</listitem>
</varlistentry>
@ -330,7 +332,7 @@
<listitem>
<para>formats entries as JSON data structures, one per
line (see
<ulink url="http://www.freedesktop.org/wiki/Software/systemd/json">Journal JSON Format</ulink>
<ulink url="https://www.freedesktop.org/wiki/Software/systemd/json">Journal JSON Format</ulink>
for more information).</para>
</listitem>
</varlistentry>
@ -399,7 +401,7 @@
manuals. Note that help texts are not available for all
messages, but only for selected ones. For more information on
the message catalog, please refer to the
<ulink url="http://www.freedesktop.org/wiki/Software/systemd/catalog">Message Catalog Developer Documentation</ulink>.</para>
<ulink url="https://www.freedesktop.org/wiki/Software/systemd/catalog">Message Catalog Developer Documentation</ulink>.</para>
<para>Note: when attaching <command>journalctl</command>
output to bug reports, please do <emphasis>not</emphasis> use
@ -412,7 +414,7 @@
<term><option>--quiet</option></term>
<listitem><para>Suppresses all info messages
(i.e. "-- Logs begin at ...", "-- Reboot --"),
(i.e. "-- Logs begin at ", "-- Reboot --"),
any warning messages regarding
inaccessible system journals when run as a normal
user.</para></listitem>
@ -573,7 +575,7 @@
<listitem><para>The cursor is shown after the last entry after
two dashes:</para>
<programlisting>-- cursor: s=0639...</programlisting>
<programlisting>-- cursor: s=0639</programlisting>
<para>The format of the cursor is private
and subject to change.</para></listitem>
</varlistentry>
@ -675,7 +677,7 @@
a new 128-bit ID suitable for identifying messages. This is
intended for usage by developers who need a new identifier for
a new message they introduce and want to make
recognizable. This will print the new ID in three different
recognizable. This will print the new ID in four different
formats which can be copied into source code or similar.
</para></listitem>
</varlistentry>
@ -731,7 +733,7 @@
<varlistentry>
<term><option>--list-catalog
<optional><replaceable>128-bit-ID...</replaceable></optional>
<optional><replaceable>128-bit-ID</replaceable></optional>
</option></term>
<listitem><para>List the contents of the message catalog as a
@ -745,7 +747,7 @@
<varlistentry>
<term><option>--dump-catalog
<optional><replaceable>128-bit-ID...</replaceable></optional>
<optional><replaceable>128-bit-ID</replaceable></optional>
</option></term>
<listitem><para>Show the contents of the message catalog, with
@ -923,7 +925,9 @@
<citerefentry><refentrytitle>coredumpctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>
<citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-journal-remote</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-journal-upload</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>

View File

@ -227,7 +227,7 @@
rotated journal files are kept as history.</para>
<para>Specify values in bytes or use K, M, G, T, P, E as
units for the specified sizes (equal to 1024, 1024², ... bytes).
units for the specified sizes (equal to 1024, 1024², bytes).
Note that size limits are enforced synchronously when journal
files are extended, and no explicit rotation step triggered by
time is needed.</para>

View File

@ -78,20 +78,22 @@
<varlistentry>
<term><varname>systemd.unit=</varname></term>
<term><varname>rd.systemd.unit=</varname></term>
<term><varname>systemd.dump_core=</varname></term>
<term><varname>systemd.crash_chvt=</varname></term>
<term><varname>systemd.crash_shell=</varname></term>
<term><varname>systemd.crash_reboot=</varname></term>
<term><varname>systemd.confirm_spawn=</varname></term>
<term><varname>systemd.show_status=</varname></term>
<term><varname>systemd.dump_core</varname></term>
<term><varname>systemd.crash_chvt</varname></term>
<term><varname>systemd.crash_shell</varname></term>
<term><varname>systemd.crash_reboot</varname></term>
<term><varname>systemd.confirm_spawn</varname></term>
<term><varname>systemd.show_status</varname></term>
<term><varname>systemd.log_target=</varname></term>
<term><varname>systemd.log_level=</varname></term>
<term><varname>systemd.log_color=</varname></term>
<term><varname>systemd.log_location=</varname></term>
<term><varname>systemd.log_color</varname></term>
<term><varname>systemd.default_standard_output=</varname></term>
<term><varname>systemd.default_standard_error=</varname></term>
<term><varname>systemd.setenv=</varname></term>
<term><varname>systemd.machine_id=</varname></term>
<term><varname>systemd.unified_cgroup_hierarchy</varname></term>
<term><varname>systemd.legacy_systemd_cgroup_controller</varname></term>
<listitem>
<para>Parameters understood by the system and service
manager to control system behavior. For details, see
@ -102,7 +104,7 @@
<varlistentry>
<term><varname>systemd.mask=</varname></term>
<term><varname>systemd.wants=</varname></term>
<term><varname>systemd.debug-shell</varname></term>
<term><varname>systemd.debug_shell</varname></term>
<listitem>
<para>Additional parameters understood by
<citerefentry><refentrytitle>systemd-debug-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
@ -124,6 +126,28 @@
</listitem>
</varlistentry>
<varlistentry>
<term><varname>systemd.volatile=</varname></term>
<listitem>
<para>This parameter controls whether the system shall boot up in volatile mode. Takes a boolean argument, or
the special value <literal>state</literal>. If false (the default), normal boot mode is selected, the root
directory and <filename>/var</filename> are mounted as specified on the kernel command line or
<filename>/etc/fstab</filename>, or otherwise configured. If true, full state-less boot mode is selected. In
this case the root directory is mounted as volatile memory file system (<literal>tmpfs</literal>), and only
<filename>/usr</filename> is mounted from the file system configured as root device, in read-only mode. This
enables fully state-less boots were the vendor-supplied OS is used as shipped, with only default
configuration and no stored state in effect, as <filename>/etc</filename> and <filename>/var</filename> (as
well as all other resources shipped in the root file system) are reset at boot and lost on shutdown. If this
setting is set to <literal>state</literal> the root file system is mounted as usual, however
<filename>/var</filename> is mounted as a volatile memory file system (<literal>tmpfs</literal>), so that the
system boots up with the normal configuration applied, but all state reset at boot and lost at shutdown. For details,
see
<citerefentry><refentrytitle>systemd-volatile-root.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
and
<citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>quiet</varname></term>
<listitem>
@ -236,14 +260,14 @@
</varlistentry>
<varlistentry>
<term><varname>udev.log-priority=</varname></term>
<term><varname>rd.udev.log-priority=</varname></term>
<term><varname>udev.children-max=</varname></term>
<term><varname>rd.udev.children-max=</varname></term>
<term><varname>udev.exec-delay=</varname></term>
<term><varname>rd.udev.exec-delay=</varname></term>
<term><varname>udev.event-timeout=</varname></term>
<term><varname>rd.udev.event-timeout=</varname></term>
<term><varname>udev.log_priority=</varname></term>
<term><varname>rd.udev.log_priority=</varname></term>
<term><varname>udev.children_max=</varname></term>
<term><varname>rd.udev.children_max=</varname></term>
<term><varname>udev.exec_delay=</varname></term>
<term><varname>rd.udev.exec_delay=</varname></term>
<term><varname>udev.event_timeout=</varname></term>
<term><varname>rd.udev.event_timeout=</varname></term>
<term><varname>net.ifnames=</varname></term>
<listitem>
@ -311,6 +335,19 @@
</listitem>
</varlistentry>
<varlistentry>
<term><varname>roothash=</varname></term>
<term><varname>systemd.verity=</varname></term>
<term><varname>rd.systemd.verity=</varname></term>
<term><varname>systemd.verity_root_data=</varname></term>
<term><varname>systemd.verity_root_hash=</varname></term>
<listitem>
<para>Configures the integrity protection root hash for the root file system, and other related
parameters. For details, see
<citerefentry><refentrytitle>systemd-veritysetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>systemd.gpt_auto=</varname></term>
<term><varname>rd.systemd.gpt_auto=</varname></term>
@ -332,8 +369,8 @@
</varlistentry>
<varlistentry>
<term><varname>modules-load=</varname></term>
<term><varname>rd.modules-load=</varname></term>
<term><varname>modules_load=</varname></term>
<term><varname>rd.modules_load=</varname></term>
<listitem>
<para>Load a specific kernel module early at boot. For
@ -353,6 +390,15 @@
<citerefentry><refentrytitle>systemd-hibernate-resume-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>systemd.firstboot=</varname></term>
<listitem><para>Takes a boolean argument, defaults to on. If off,
<citerefentry><refentrytitle>systemd-firstboot.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
will not query the user for basic system settings, even if the system boots up for the first time and the
relevant settings are not initialized yet.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
@ -371,12 +417,15 @@
<citerefentry><refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry project='die-net'><refentrytitle>plymouth</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-cryptsetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-veritysetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-gpt-auto-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-volatile-root.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-modules-load.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-backlight@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-rfkill.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-hibernate-resume-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
<citerefentry><refentrytitle>systemd-hibernate-resume-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-firstboot.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>

View File

@ -89,11 +89,12 @@
<listitem>
<para><command>kernel-install</command> creates the directory
<filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename>
and calls every executable
and calls executables from
<filename>/usr/lib/kernel/install.d/*.install</filename> and
<filename>/etc/kernel/install.d/*.install</filename> with
the arguments
<programlisting>add <replaceable>KERNEL-VERSION</replaceable> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename></programlisting>
<programlisting>add <replaceable>KERNEL-VERSION</replaceable> \
<filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename> <replaceable>KERNEL-IMAGE</replaceable></programlisting>
</para>
<para>The kernel-install plugin <filename>50-depmod.install</filename> runs depmod for the <replaceable>KERNEL-VERSION</replaceable>.</para>
@ -119,7 +120,7 @@
<varlistentry>
<term><command>remove <replaceable>KERNEL-VERSION</replaceable></command></term>
<listitem>
<para>Calls every executable <filename>/usr/lib/kernel/install.d/*.install</filename>
<para>Calls executables from <filename>/usr/lib/kernel/install.d/*.install</filename>
and <filename>/etc/kernel/install.d/*.install</filename> with the arguments
<programlisting>remove <replaceable>KERNEL-VERSION</replaceable> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename></programlisting>
</para>
@ -138,7 +139,7 @@
<refsect1>
<title>Exit status</title>
<para>If every executable returns with 0, 0 is returned, a non-zero failure code otherwise.</para>
<para>If every executable returns 0 or 77, 0 is returned, and a non-zero failure code otherwise.</para>
</refsect1>
<refsect1>
@ -188,7 +189,7 @@
<para>
<citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<ulink url="http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec">Boot loader specification</ulink>
<ulink url="https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec">Boot loader specification</ulink>
</para>
</refsect1>

View File

@ -127,7 +127,7 @@
</varlistentry>
<varlistentry>
<term><command>set-locale LOCALE...</command></term>
<term><command>set-locale LOCALE</command></term>
<listitem><para>Set the system locale. This takes one or more
assignments such as "LANG=de_DE.utf8",

View File

@ -191,7 +191,7 @@
</varlistentry>
<varlistentry>
<term><command>session-status</command> <optional><replaceable>ID</replaceable>...</optional></term>
<term><command>session-status</command> <optional><replaceable>ID</replaceable></optional></term>
<listitem><para>Show terse runtime status information about
one or more sessions, followed by the most recent log data
@ -204,7 +204,7 @@
</varlistentry>
<varlistentry>
<term><command>show-session</command> <optional><replaceable>ID</replaceable>...</optional></term>
<term><command>show-session</command> <optional><replaceable>ID</replaceable></optional></term>
<listitem><para>Show properties of one or more sessions or the
manager itself. If no argument is specified, properties of the
@ -229,8 +229,8 @@
</varlistentry>
<varlistentry>
<term><command>lock-session</command> <optional><replaceable>ID</replaceable>...</optional></term>
<term><command>unlock-session</command> <optional><replaceable>ID</replaceable>...</optional></term>
<term><command>lock-session</command> <optional><replaceable>ID</replaceable></optional></term>
<term><command>unlock-session</command> <optional><replaceable>ID</replaceable></optional></term>
<listitem><para>Activates/deactivates the screen lock on one
or more sessions, if the session supports it. Takes one or
@ -248,7 +248,7 @@
</varlistentry>
<varlistentry>
<term><command>terminate-session</command> <replaceable>ID</replaceable>...</term>
<term><command>terminate-session</command> <replaceable>ID</replaceable></term>
<listitem><para>Terminates a session. This kills all processes
of the session and deallocates all resources attached to the
@ -256,7 +256,7 @@
</varlistentry>
<varlistentry>
<term><command>kill-session</command> <replaceable>ID</replaceable>...</term>
<term><command>kill-session</command> <replaceable>ID</replaceable></term>
<listitem><para>Send a signal to one or more processes of the
session. Use <option>--kill-who=</option> to select which
@ -274,7 +274,7 @@
</varlistentry>
<varlistentry>
<term><command>user-status</command> <optional><replaceable>USER</replaceable>...</optional></term>
<term><command>user-status</command> <optional><replaceable>USER</replaceable></optional></term>
<listitem><para>Show terse runtime status information about
one or more logged in users, followed by the most recent log
@ -288,7 +288,7 @@
</varlistentry>
<varlistentry>
<term><command>show-user</command> <optional><replaceable>USER</replaceable>...</optional></term>
<term><command>show-user</command> <optional><replaceable>USER</replaceable></optional></term>
<listitem><para>Show properties of one or more users or the
manager itself. If no argument is specified, properties of the
@ -303,8 +303,8 @@
</varlistentry>
<varlistentry>
<term><command>enable-linger</command> <optional><replaceable>USER</replaceable>...</optional></term>
<term><command>disable-linger</command> <optional><replaceable>USER</replaceable>...</optional></term>
<term><command>enable-linger</command> <optional><replaceable>USER</replaceable></optional></term>
<term><command>disable-linger</command> <optional><replaceable>USER</replaceable></optional></term>
<listitem><para>Enable/disable user lingering for one or more
users. If enabled for a specific user, a user manager is
@ -320,7 +320,7 @@
</varlistentry>
<varlistentry>
<term><command>terminate-user</command> <replaceable>USER</replaceable>...</term>
<term><command>terminate-user</command> <replaceable>USER</replaceable></term>
<listitem><para>Terminates all sessions of a user. This kills
all processes of all sessions of the user and deallocates all
@ -328,7 +328,7 @@
</varlistentry>
<varlistentry>
<term><command>kill-user</command> <replaceable>USER</replaceable>...</term>
<term><command>kill-user</command> <replaceable>USER</replaceable></term>
<listitem><para>Send a signal to all processes of a user. Use
<option>--signal=</option> to select the signal to send.
@ -345,7 +345,7 @@
</varlistentry>
<varlistentry>
<term><command>seat-status</command> <optional><replaceable>NAME</replaceable>...</optional></term>
<term><command>seat-status</command> <optional><replaceable>NAME</replaceable></optional></term>
<listitem><para>Show terse runtime status information about
one or more seats. Takes one or more seat names as parameters.
@ -357,7 +357,7 @@
</varlistentry>
<varlistentry>
<term><command>show-seat</command> <optional><replaceable>NAME</replaceable>...</optional></term>
<term><command>show-seat</command> <optional><replaceable>NAME</replaceable></optional></term>
<listitem><para>Show properties of one or more seats or the
manager itself. If no argument is specified, properties of the
@ -372,7 +372,7 @@
</varlistentry>
<varlistentry>
<term><command>attach</command> <replaceable>NAME</replaceable> <replaceable>DEVICE</replaceable>...</term>
<term><command>attach</command> <replaceable>NAME</replaceable> <replaceable>DEVICE</replaceable></term>
<listitem><para>Persistently attach one or more devices to a
seat. The devices should be specified via device paths in the
@ -396,7 +396,7 @@
</varlistentry>
<varlistentry>
<term><command>terminate-seat</command> <replaceable>NAME</replaceable>...</term>
<term><command>terminate-seat</command> <replaceable>NAME</replaceable></term>
<listitem><para>Terminates all sessions on a seat. This kills
all processes of all sessions on the seat and deallocates all
@ -426,9 +426,9 @@ fatima (1005)
Sessions: 5 *3
Unit: user-1005.slice
├─user@1005.service
...
├─session-3.scope
...
└─session-5.scope
├─3473 login -- fatima
└─3515 -zsh

View File

@ -53,30 +53,32 @@
<refsect1>
<title>Description</title>
<para>The <filename>/etc/machine-id</filename> file contains the
unique machine ID of the local system that is set during
installation. The machine ID is a single newline-terminated,
hexadecimal, 32-character, lowercase machine ID string. When
decoded from hexadecimal, this corresponds with a 16-byte/128-bit
string.</para>
<para>The <filename>/etc/machine-id</filename> file contains the unique machine ID of the local
system that is set during installation. The machine ID is a single newline-terminated,
hexadecimal, 32-character, lowercase ID. When decoded from hexadecimal, this corresponds to a
16-byte/128-bit value.</para>
<para>The machine ID is usually generated from a random source
during system installation and stays constant for all subsequent
boots. Optionally, for stateless systems, it is generated during
runtime at early boot if it is found to be empty.</para>
<para>The machine ID does not change based on user configuration
or when hardware is replaced.</para>
<para>The machine ID does not change based on local or network configuration or when hardware is
replaced. Due to this and its greater length, it is a more useful replacement for the
<citerefentry project='man-pages'><refentrytitle>gethostid</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call that POSIX specifies.</para>
<para>This machine ID adheres to the same format and logic as the
D-Bus machine ID.</para>
<para>Programs may use this ID to identify the host with a
globally unique ID in the network, which does not change even if
the local network configuration changes. Due to this and its
greater length, it is a more useful replacement for the
<citerefentry project='man-pages'><refentrytitle>gethostid</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call that POSIX specifies.</para>
<para>This ID uniquely identifies the host. It should be considered "confidential", and must not be exposed in
untrusted environments, in particular on the network. If a stable unique identifier that is tied to the machine is
needed for some application, the machine ID or any part of it must not be used directly. Instead the machine ID
should be hashed with a cryptographic, keyed hash function, using a fixed, application-specific key. That way the
ID will be properly unique, and derived in a constant way from the machine ID but there will be no way to retrieve
the original machine ID from the application-specific one. The
<citerefentry><refentrytitle>sd_id128_get_machine_app_specific</refentrytitle><manvolnum>3</manvolnum></citerefentry>
API provides an implementation of such an algorithm.</para>
<para>The
<citerefentry><refentrytitle>systemd-machine-id-setup</refentrytitle><manvolnum>1</manvolnum></citerefentry>

View File

@ -120,6 +120,7 @@
chassis types are defined:
<literal>desktop</literal>,
<literal>laptop</literal>,
<literal>convertible</literal>,
<literal>server</literal>,
<literal>tablet</literal>,
<literal>handset</literal>,

View File

@ -327,7 +327,7 @@
</varlistentry>
<varlistentry>
<term><command>status</command> <replaceable>NAME</replaceable>...</term>
<term><command>status</command> <replaceable>NAME</replaceable></term>
<listitem><para>Show runtime status information about
one or more virtual machines and containers, followed by the
@ -341,7 +341,7 @@
</varlistentry>
<varlistentry>
<term><command>show</command> [<replaceable>NAME</replaceable>...]</term>
<term><command>show</command> [<replaceable>NAME</replaceable>]</term>
<listitem><para>Show properties of one or more registered virtual machines or containers or the manager
itself. If no argument is specified, properties of the manager will be shown. If a NAME is specified,
@ -353,7 +353,7 @@
</varlistentry>
<varlistentry>
<term><command>start</command> <replaceable>NAME</replaceable>...</term>
<term><command>start</command> <replaceable>NAME</replaceable></term>
<listitem><para>Start a container as a system service, using
<citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
@ -410,7 +410,7 @@
</varlistentry>
<varlistentry>
<term><command>shell</command> [[<replaceable>NAME</replaceable>@]<replaceable>NAME</replaceable> [<replaceable>PATH</replaceable> [<replaceable>ARGUMENTS</replaceable>...]]] </term>
<term><command>shell</command> [[<replaceable>NAME</replaceable>@]<replaceable>NAME</replaceable> [<replaceable>PATH</replaceable> [<replaceable>ARGUMENTS</replaceable>]]] </term>
<listitem><para>Open an interactive shell session in a
container or on the local host. The first argument refers to
@ -428,6 +428,9 @@
user may be selected. Use <option>--setenv=</option> to set
environment variables for the executed process.</para>
<para>Note that <command>machinectl shell</command> does not propagate the exit code/status of the invoked
shell process. Use <command>systemd-run</command> instead if that information is required (see below).</para>
<para>When using the <command>shell</command> command without
arguments, (thus invoking the executed shell or command on the
local host), it is in many ways similar to a <citerefentry
@ -440,17 +443,20 @@
environment variables or resource limits, among other
properties.</para>
<para>Note that
<citerefentry><refentrytitle>systemd-run</refentrytitle><manvolnum>1</manvolnum></citerefentry>
may be used in place of the <command>shell</command> command,
and allows more detailed, low-level configuration of the
invoked unit. However, it is frequently more privileged than
the <command>shell</command> command.</para></listitem>
<para>Note that <citerefentry><refentrytitle>systemd-run</refentrytitle><manvolnum>1</manvolnum></citerefentry>
with its <option>--machine=</option> switch may be used in place of the <command>machinectl shell</command>
command, and allows non-interactive operation, more detailed and low-level configuration of the invoked unit,
as well as access to runtime and exit code/status information of the invoked shell process. In particular, use
<command>systemd-run</command>'s <option>--wait</option> switch to propagate exit status information of the
invoked process. Use <command>systemd-run</command>'s <option>--pty</option> switch for acquiring an
interactive shell, similar to <command>machinectl shell</command>. In general, <command>systemd-run</command>
is preferable for scripting purposes. However, note that <command>systemd-run</command> might require higher
privileges than <command>machinectl shell</command>.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>enable</command> <replaceable>NAME</replaceable>...</term>
<term><command>disable</command> <replaceable>NAME</replaceable>...</term>
<term><command>enable</command> <replaceable>NAME</replaceable></term>
<term><command>disable</command> <replaceable>NAME</replaceable></term>
<listitem><para>Enable or disable a container as a system
service to start at system boot, using
@ -463,7 +469,7 @@
</varlistentry>
<varlistentry>
<term><command>poweroff</command> <replaceable>NAME</replaceable>...</term>
<term><command>poweroff</command> <replaceable>NAME</replaceable></term>
<listitem><para>Power off one or more containers. This will
trigger a reboot by sending SIGRTMIN+4 to the container's init
@ -478,7 +484,7 @@
</varlistentry>
<varlistentry>
<term><command>reboot</command> <replaceable>NAME</replaceable>...</term>
<term><command>reboot</command> <replaceable>NAME</replaceable></term>
<listitem><para>Reboot one or more containers. This will
trigger a reboot by sending SIGINT to the container's init
@ -488,7 +494,7 @@
</varlistentry>
<varlistentry>
<term><command>terminate</command> <replaceable>NAME</replaceable>...</term>
<term><command>terminate</command> <replaceable>NAME</replaceable></term>
<listitem><para>Immediately terminates a virtual machine or
container, without cleanly shutting it down. This kills all
@ -499,7 +505,7 @@
</varlistentry>
<varlistentry>
<term><command>kill</command> <replaceable>NAME</replaceable>...</term>
<term><command>kill</command> <replaceable>NAME</replaceable></term>
<listitem><para>Send a signal to one or more processes of the
virtual machine or container. This means processes as seen by
@ -512,19 +518,14 @@
<varlistentry>
<term><command>bind</command> <replaceable>NAME</replaceable> <replaceable>PATH</replaceable> [<replaceable>PATH</replaceable>]</term>
<listitem><para>Bind mounts a directory from the host into the
specified container. The first directory argument is the
source directory on the host, the second directory argument
is the destination directory in the container. When the
latter is omitted, the destination path in the container is
the same as the source path on the host. When combined with
the <option>--read-only</option> switch, a ready-only bind
mount is created. When combined with the
<option>--mkdir</option> switch, the destination path is first
created before the mount is applied. Note that this option is
currently only supported for
<citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>
containers.</para></listitem>
<listitem><para>Bind mounts a directory from the host into the specified container. The first directory
argument is the source directory on the host, the second directory argument is the destination directory in the
container. When the latter is omitted, the destination path in the container is the same as the source path on
the host. When combined with the <option>--read-only</option> switch, a ready-only bind mount is created. When
combined with the <option>--mkdir</option> switch, the destination path is first created before the mount is
applied. Note that this option is currently only supported for
<citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry> containers,
and only if user namespacing (<option>--private-users</option>) is not used.</para></listitem>
</varlistentry>
<varlistentry>
@ -534,9 +535,12 @@
system into a running container. Takes a container name,
followed by the source path on the host and the destination
path in the container. If the destination path is omitted, the
same as the source path is used.</para></listitem>
</varlistentry>
same as the source path is used.</para>
<para>If host and container share the same user and group namespace, file ownership by numeric user ID and
group ID is preserved for the copy, otherwise all files and directories in the copy will be owned by the root
user and group (UID/GID 0).</para></listitem>
</varlistentry>
<varlistentry>
<term><command>copy-from</command> <replaceable>NAME</replaceable> <replaceable>PATH</replaceable> [<replaceable>PATH</replaceable>]</term>
@ -545,7 +549,11 @@
into the host system. Takes a container name, followed by the
source path in the container the destination path on the host.
If the destination path is omitted, the same as the source path
is used.</para></listitem>
is used.</para>
<para>If host and container share the same user and group namespace, file ownership by numeric user ID and
group ID is preserved for the copy, otherwise all files and directories in the copy will be owned by the root
user and group (UID/GID 0).</para></listitem>
</varlistentry>
</variablelist></refsect2>
@ -568,7 +576,7 @@
</varlistentry>
<varlistentry>
<term><command>image-status</command> [<replaceable>NAME</replaceable>...]</term>
<term><command>image-status</command> [<replaceable>NAME</replaceable>]</term>
<listitem><para>Show terse status information about one or
more container or VM images. This function is intended to
@ -578,7 +586,7 @@
</varlistentry>
<varlistentry>
<term><command>show-image</command> [<replaceable>NAME</replaceable>...]</term>
<term><command>show-image</command> [<replaceable>NAME</replaceable>]</term>
<listitem><para>Show properties of one or more registered
virtual machine or container images, or the manager itself. If
@ -599,8 +607,8 @@
<listitem><para>Clones a container or VM image. The arguments specify the name of the image to clone and the
name of the newly cloned image. Note that plain directory container images are cloned into btrfs subvolume
images with this command, if the underlying file system supports this. Note that cloning a container or VM
image is optimized for btrfs file systems, and might not be efficient on others, due to file system
limitations.</para>
image is optimized for file systems that support copy-on-write, and might not be efficient on others, due to
file system limitations.</para>
<para>Note that this command leaves host name, machine ID and
all other settings that could identify the instance
@ -630,7 +638,7 @@
</varlistentry>
<varlistentry>
<term><command>remove</command> <replaceable>NAME</replaceable>...</term>
<term><command>remove</command> <replaceable>NAME</replaceable></term>
<listitem><para>Removes one or more container or VM images.
The special image <literal>.host</literal>, which refers to
@ -849,7 +857,7 @@
</varlistentry>
<varlistentry>
<term><command>cancel-transfers</command> <replaceable>ID</replaceable>...</term>
<term><command>cancel-transfers</command> <replaceable>ID</replaceable></term>
<listitem><para>Aborts a download, import or export of the
container or VM image with the specified ID. To list ongoing
@ -910,7 +918,7 @@
<filename>/var/lib/machines/</filename> to make them available for
control with <command>machinectl</command>.</para>
<para>Note that many image operations are only supported,
<para>Note that some image operations are only supported,
efficient or atomic on btrfs file systems. Due to this, if the
<command>pull-tar</command>, <command>pull-raw</command>,
<command>import-tar</command>, <command>import-raw</command> and

View File

@ -102,7 +102,7 @@
<varlistentry>
<term>
<command>list</command>
<optional><replaceable>LINK...</replaceable></optional>
<optional><replaceable>LINK</replaceable></optional>
</term>
<listitem>
@ -122,7 +122,7 @@
<varlistentry>
<term>
<command>status</command>
<optional><replaceable>LINK...</replaceable></optional>
<optional><replaceable>LINK</replaceable></optional>
</term>
<listitem>
@ -150,7 +150,7 @@
<varlistentry>
<term>
<command>lldp</command>
<optional><replaceable>LINK...</replaceable></optional>
<optional><replaceable>LINK</replaceable></optional>
</term>
<listitem>

View File

@ -63,16 +63,13 @@
hostnames via DNS.</para>
<para>To activate the NSS module, add <literal>resolve</literal> to the line starting with
<literal>hosts:</literal> in <filename>/etc/nsswitch.conf</filename>.</para>
<para>It is recommended to place <literal>resolve</literal> early in <filename>/etc/nsswitch.conf</filename>'
<literal>hosts:</literal> line (but after the <literal>files</literal> or <literal>mymachines</literal> entries),
replacing the <literal>dns</literal> entry if it exists, to ensure DNS queries are always routed via
<citerefentry><refentrytitle>systemd-resolved</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
<para>Note that <command>nss-resolve</command> will chain-load <command>nss-dns</command> if
<filename>systemd-resolved.service</filename> is not running, ensuring that basic DNS resolution continues to work
if the service is down.</para>
<literal>hosts:</literal> in <filename>/etc/nsswitch.conf</filename>. Specifcally, it is recommended to place
<literal>resolve</literal> early in <filename>/etc/nsswitch.conf</filename>' <literal>hosts:</literal> line (but
after the <literal>files</literal> or <literal>mymachines</literal> entries), right before the
<literal>dns</literal> entry if it exists, followed by <literal>[!UNAVAIL=return]</literal>, to ensure DNS queries
are always routed via
<citerefentry><refentrytitle>systemd-resolved</refentrytitle><manvolnum>8</manvolnum></citerefentry> if it is
running, but are routed to <command>nss-dns</command> if this service is not available.</para>
</refsect1>
<refsect1>
@ -94,9 +91,6 @@ ethers: db files
rpc: db files
netgroup: nis</programlisting>
<para>This keeps the <command>dns</command> module as a fallback for cases where the <command>nss-resolve</command>
module is not installed.</para>
</refsect1>
<refsect1>

View File

@ -59,29 +59,23 @@
<citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
and hence the systemd control group hierarchy.</para>
<para>On login, this module ensures the following:</para>
<para>On login, this module — in conjunction with <filename>systemd-logind.service</filename> — ensures the
following:</para>
<orderedlist>
<listitem><para>If it does not exist yet, the user runtime
directory <filename>/run/user/$USER</filename> is created and
its ownership changed to the user that is logging
in.</para></listitem>
<listitem><para>If it does not exist yet, the user runtime directory <filename>/run/user/$UID</filename> is
either created or mounted as new <literal>tmpfs</literal> file system with quota applied, and its ownership
changed to the user that is logging in.</para></listitem>
<listitem><para>The <varname>$XDG_SESSION_ID</varname>
environment variable is initialized. If auditing is available
and <command>pam_loginuid.so</command> was run before this
module (which is highly recommended), the variable is
initialized from the auditing session id
(<filename>/proc/self/sessionid</filename>). Otherwise, an
<listitem><para>The <varname>$XDG_SESSION_ID</varname> environment variable is initialized. If auditing is
available and <command>pam_loginuid.so</command> was run before this module (which is highly recommended), the
variable is initialized from the auditing session id (<filename>/proc/self/sessionid</filename>). Otherwise, an
independent session counter is used.</para></listitem>
<listitem><para>A new systemd scope unit is created for the
session. If this is the first concurrent session of the user, an
implicit slice below <filename>user.slice</filename> is
automatically created and the scope placed into it. An instance
of the system service <filename>user@.service</filename>, which
runs the systemd user manager instance, is started.
</para></listitem>
<listitem><para>A new systemd scope unit is created for the session. If this is the first concurrent session of
the user, an implicit per-user slice unit below <filename>user.slice</filename> is automatically created and the
scope placed into it. An instance of the system service <filename>user@.service</filename>, which runs the
systemd user manager instance, is started. </para></listitem>
</orderedlist>
<para>On logout, this module ensures the following:</para>
@ -89,10 +83,9 @@
<orderedlist>
<listitem><para>If enabled in
<citerefentry><refentrytitle>logind.conf</refentrytitle>
<manvolnum>5</manvolnum></citerefentry>, all processes of the
session are terminated. If the last concurrent session of a user
ends, the user's systemd instance will be terminated too, and so
will the user's slice unit.</para></listitem>
<manvolnum>5</manvolnum></citerefentry> (<varname>KillUserProcesses=</varname>), all processes of the session are
terminated. If the last concurrent session of a user ends, the user's systemd instance will be terminated too,
and so will the user's slice unit.</para></listitem>
<listitem><para>If the last concurrent session of a user ends,
the <varname>$XDG_RUNTIME_DIR</varname> directory and all its

View File

@ -62,7 +62,7 @@
<title>Description</title>
<para><filename>sd-bus.h</filename> provides an implementation of a D-Bus IPC client. See
<ulink url="http://www.freedesktop.org/software/dbus/" />
<ulink url="https://www.freedesktop.org/software/dbus/" />
for more information about D-Bus IPC.
</para>

View File

@ -47,6 +47,7 @@
<refname>sd-id128</refname>
<refname>sd_id128_t</refname>
<refname>SD_ID128_MAKE</refname>
<refname>SD_ID128_MAKE_STR</refname>
<refname>SD_ID128_NULL</refname>
<refname>SD_ID128_CONST_STR</refname>
<refname>SD_ID128_FORMAT_STR</refname>
@ -113,12 +114,24 @@
<para><function>SD_ID128_NULL</function> may be used to refer to the 128bit ID consisting of only NUL
bytes.</para>
<para><function>SD_ID128_MAKE_STR()</function> is similar to <function>SD_ID128_MAKE()</function>, but creates a
<type>const char*</type> expression that can be conveniently used in message formats and such:</para>
<programlisting>#include &lt;stdio.h&gt;
#define SD_MESSAGE_COREDUMP_STR SD_ID128_MAKE_STR(fc,2e,22,bc,6e,e6,47,b6,b9,07,29,ab,34,a2,50,b1)
int main(int argc, char **argv) {
puts("Match for coredumps: MESSAGE_ID=" SD_MESSAGE_COREDUMP_STR);
}
</programlisting>
<para><function>SD_ID128_CONST_STR()</function> may be used to
convert constant 128-bit IDs into constant strings for output. The
following example code will output the string
"fc2e22bc6ee647b6b90729ab34a250b1":</para>
<programlisting>int main(int argc, char *argv[]) {
puts(SD_ID128_CONST_STR(SD_MESSAGE_COREDUMP));
puts("Match for coredumps: %s", SD_ID128_CONST_STR(SD_MESSAGE_COREDUMP));
}</programlisting>
<para><function>SD_ID128_FORMAT_STR()</function> and
@ -154,7 +167,7 @@
<para>Note that new, randomized IDs may be generated with
<citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
<option>--new-id</option> option.</para>
<option>--new-id128</option> option.</para>
</refsect1>
<xi:include href="libsystemd-pkgconfig.xml" />

View File

@ -67,7 +67,7 @@
local system. </para>
<para>See <ulink
url="http://www.freedesktop.org/wiki/Software/systemd/multiseat">Multi-Seat
url="https://www.freedesktop.org/wiki/Software/systemd/multiseat">Multi-Seat
on Linux</ulink> for an introduction into multi-seat support on
Linux, the background for this set of APIs.</para>

View File

@ -68,7 +68,7 @@
<funcsynopsisinfo>typedef struct {
const char *name;
const char *message;
...
} sd_bus_error;</funcsynopsisinfo>
<para>
@ -95,7 +95,7 @@
<paramdef>sd_bus_error *<parameter>e</parameter></paramdef>
<paramdef>const char *<parameter>name</parameter></paramdef>
<paramdef>const char *<parameter>format</parameter></paramdef>
<paramdef>...</paramdef>
<paramdef></paramdef>
</funcprototype>
<funcprototype>
@ -116,7 +116,7 @@
<paramdef>sd_bus_error *<parameter>e</parameter></paramdef>
<paramdef>int <parameter>error</parameter></paramdef>
<paramdef>const char *<parameter>format</parameter></paramdef>
<paramdef>...</paramdef>
<paramdef></paramdef>
</funcprototype>
<funcprototype>

View File

@ -58,7 +58,7 @@
<funcsynopsisinfo>typedef struct {
const char *name;
int code;
...
} sd_bus_error_map;</funcsynopsisinfo>
</funcsynopsis>

View File

@ -58,7 +58,7 @@
<funcdef>int sd_bus_message_append</funcdef>
<paramdef>sd_bus_message *<parameter>m</parameter></paramdef>
<paramdef>const char *<parameter>types</parameter></paramdef>
<paramdef>...</paramdef>
<paramdef></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
@ -198,7 +198,7 @@ dictionary ::= "a" "{" basic_type complete_type "}"
</para>
<programlisting>sd_bus_message *m;
...
sd_bus_message_append(m, "s", "a string");</programlisting>
<para>Append all types of integers:</para>

View File

@ -66,7 +66,7 @@
<funcdef>int <function>sd_bus_path_encode_many</function></funcdef>
<paramdef>char **<parameter>out</parameter></paramdef>
<paramdef>const char *<parameter>path_template</parameter></paramdef>
<paramdef>...</paramdef>
<paramdef></paramdef>
</funcprototype>
<funcprototype>
@ -80,7 +80,7 @@
<funcdef>int <function>sd_bus_path_decode_many</function></funcdef>
<paramdef>const char *<parameter>path</parameter></paramdef>
<paramdef>const char *<parameter>path_template</parameter></paramdef>
<paramdef>...</paramdef>
<paramdef></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>

View File

@ -153,7 +153,7 @@
<refsect1>
<title>Return Value</title>
<para>On success, this functions return 0 or a positive
<para>On success, these functions return 0 or a positive
integer. On failure, they return a negative errno-style error
code.</para>
</refsect1>

View File

@ -76,10 +76,11 @@
specified as <parameter>callback</parameter> will be invoked
immediately before the event loop goes to sleep to wait for
incoming events. It is invoked with the user data pointer passed
when the event source was created. The callback function may be
used to reconfigure the precise events to wait for. If the
<parameter>callback</parameter> parameter is passed as NULL the
callback function is reset. </para>
when the event source was created. The event source will be disabled
if the callback function returns a negative error code. The callback
function may be used to reconfigure the precise events to wait for.
If the <parameter>callback</parameter> parameter is passed as NULL
the callback function is reset. </para>
<para>Event source objects have no preparation callback associated
when they are first created with calls such as

View File

@ -44,6 +44,7 @@
<refnamediv>
<refname>sd_id128_get_machine</refname>
<refname>sd_id128_get_machine_app_specific</refname>
<refname>sd_id128_get_boot</refname>
<refname>sd_id128_get_invocation</refname>
<refpurpose>Retrieve 128-bit IDs</refpurpose>
@ -58,6 +59,12 @@
<paramdef>sd_id128_t *<parameter>ret</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_id128_get_machine_app_specific</function></funcdef>
<paramdef>sd_id128_t <parameter>app_id</parameter></paramdef>
<paramdef>sd_id128_t *<parameter>ret</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_id128_get_boot</function></funcdef>
<paramdef>sd_id128_t *<parameter>ret</parameter></paramdef>
@ -74,11 +81,22 @@
<refsect1>
<title>Description</title>
<para><function>sd_id128_get_machine()</function> returns the
machine ID of the executing host. This reads and parses the
<citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>
file. This function caches the machine ID internally to make
retrieving the machine ID a cheap operation.</para>
<para><function>sd_id128_get_machine()</function> returns the machine ID of the executing host. This reads and
parses the <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>
file. This function caches the machine ID internally to make retrieving the machine ID a cheap operation. This ID
may be used wherever a unique identifier for the local system is needed. However, it is recommended to use this ID
as-is only in trusted environments. In untrusted environments it is recommended to derive an application specific
ID from this machine ID, in an irreversable (cryptographically secure) way. To make this easy
<function>sd_id128_get_machine_app_specific()</function> is provided, see below.</para>
<para><function>sd_id128_get_machine_app_specific()</function> is similar to
<function>sd_id128_get_machine()</function>, but retrieves a machine ID that is specific to the application that is
identified by the indicated application ID. It is recommended to use this function instead of
<function>sd_id128_get_machine()</function> when passing an ID to untrusted environments, in order to make sure
that the original machine ID may not be determined externally. The application-specific ID should be generated via
a tool like <command>journalctl --new-id128</command>, and may be compiled into the application. This function will
return the same application-specific ID for each combination of machine ID and application ID. Internally, this
function calculates HMAC-SHA256 of the application ID, keyed by the machine ID.</para>
<para><function>sd_id128_get_boot()</function> returns the boot ID
of the executing kernel. This reads and parses the
@ -95,10 +113,10 @@
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details. The
ID is cached internally. In future a different mechanism to determine the invocation ID may be added.</para>
<para>Note that <function>sd_id128_get_boot()</function> and <function>sd_id128_get_invocation()</function> always
return UUID v4 compatible IDs. <function>sd_id128_get_machine()</function> will also return a UUID v4-compatible
ID on new installations but might not on older. It is possible to convert the machine ID into a UUID v4-compatible
one. For more information, see
<para>Note that <function>sd_id128_get_machine_app_specific()</function>, <function>sd_id128_get_boot()</function>
and <function>sd_id128_get_invocation()</function> always return UUID v4 compatible IDs.
<function>sd_id128_get_machine()</function> will also return a UUID v4-compatible ID on new installations but might
not on older. It is possible to convert the machine ID into a UUID v4-compatible one. For more information, see
<citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
<para>For more information about the <literal>sd_id128_t</literal>
@ -117,12 +135,35 @@
<refsect1>
<title>Notes</title>
<para>The <function>sd_id128_get_machine()</function>, <function>sd_id128_get_boot()</function> and
<function>sd_id128_get_invocation()</function> interfaces are available as a shared library, which can be compiled
and linked to with the <literal>libsystemd</literal> <citerefentry
<para>The <function>sd_id128_get_machine()</function>, <function>sd_id128_get_machine_app_specific()</function>
<function>sd_id128_get_boot()</function> and <function>sd_id128_get_invocation()</function> interfaces are
available as a shared library, which can be compiled and linked to with the
<literal>libsystemd</literal> <citerefentry
project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> file.</para>
</refsect1>
<refsect1>
<title>Examples</title>
<example>
<title>Application-specific machine ID</title>
<para>Here's a simple example for an application specific machine ID:</para>
<programlisting>#include &lt;systemd/sd-id128.h&gt;
#include &lt;stdio.h&gt;
#define OUR_APPLICATION_ID SD_ID128_MAKE(c2,73,27,73,23,db,45,4e,a6,3b,b9,6e,79,b5,3e,97)
int main(int argc, char *argv[]) {
sd_id128_t id;
sd_id128_get_machine_app_specific(OUR_APPLICATION_ID, &amp;id);
printf("Our application ID: " SD_ID128_FORMAT_STR "\n", SD_ID128_FORMAT_VAL(id));
return 0;
}</programlisting>
</example>
</refsect1>
<refsect1>
<title>See Also</title>

View File

@ -48,6 +48,7 @@
<refname>sd_is_socket</refname>
<refname>sd_is_socket_inet</refname>
<refname>sd_is_socket_unix</refname>
<refname>sd_is_socket_sockaddr</refname>
<refname>sd_is_mq</refname>
<refname>sd_is_special</refname>
<refpurpose>Check the type of a file descriptor</refpurpose>
@ -80,6 +81,15 @@
<paramdef>uint16_t <parameter>port</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_is_socket_sockaddr</function></funcdef>
<paramdef>int <parameter>fd</parameter></paramdef>
<paramdef>int <parameter>type</parameter></paramdef>
<paramdef>const struct sockaddr *<parameter>addr</parameter></paramdef>
<paramdef>unsigned <parameter>addr_len</parameter></paramdef>
<paramdef>int <parameter>listening</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_is_socket_unix</function></funcdef>
<paramdef>int <parameter>fd</parameter></paramdef>
@ -118,10 +128,10 @@
<parameter>family</parameter> parameter is not
<constant>AF_UNSPEC</constant>, it is checked whether the socket
is of the specified family (<constant>AF_UNIX</constant>,
<constant>AF_INET</constant>, ...). If the <parameter>type</parameter>
<constant>AF_INET</constant>, ). If the <parameter>type</parameter>
parameter is not 0, it is checked whether the socket is of the
specified type (<constant>SOCK_STREAM</constant>,
<constant>SOCK_DGRAM</constant>, ...). If the
<constant>SOCK_DGRAM</constant>, ). If the
<parameter>listening</parameter> parameter is positive, it is
checked whether the socket is in accepting mode, i.e.
<function>listen()</function> has been called for it. If
@ -139,6 +149,18 @@
<constant>AF_UNSPEC</constant>, <constant>AF_INET</constant>, or
<constant>AF_INET6</constant>.</para>
<para><function>sd_is_socket_sockaddr()</function> is similar to
<function>sd_is_socket_inet()</function>, but checks if the socket is bound to the
address specified by <parameter>addr</parameter>. The
<structfield>family</structfield> specified by <parameter>addr</parameter> must be
either <constant>AF_INET</constant> or <constant>AF_INET6</constant> and
<parameter>addr_len</parameter> must be large enough for that family. If
<parameter>addr</parameter> specifies a non-zero port, it is also checked if the
socket is bound to this port. In addition, for IPv6, if <parameter>addr</parameter>
specifies non-zero <structfield>sin6_flowinfo</structfield> or
<structfield>sin6_scope_id</structfield>, it is checked if the socket has the same
values.</para>
<para><function>sd_is_socket_unix()</function> is similar to
<function>sd_is_socket()</function> but optionally checks the
<constant>AF_UNIX</constant> path the socket is bound to, unless
@ -193,7 +215,13 @@
<citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
<citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry project='man-pages'><refentrytitle>ip</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry project='man-pages'><refentrytitle>ipv6</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry project='man-pages'><refentrytitle>unix</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry project='man-pages'><refentrytitle>fifo</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry project='man-pages'><refentrytitle>mq_overview</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
</para>
</refsect1>

View File

@ -190,7 +190,7 @@
message ID 03bb1dab98ab4ecfbf6fff2738bdd964 coming from any
service (this example lacks the necessary error checking):</para>
<programlisting>...
<programlisting>
int add_matches(sd_journal *j) {
sd_journal_add_match(j, "_SYSTEMD_UNIT=avahi-daemon.service", 0);
sd_journal_add_match(j, "PRIORITY=0", 0);

View File

@ -90,7 +90,7 @@
<para>For more information about the journal message catalog
please refer to the <ulink
url="http://www.freedesktop.org/wiki/Software/systemd/catalog">Journal
url="https://www.freedesktop.org/wiki/Software/systemd/catalog">Journal
Message Catalogs</ulink> documentation page.</para>
</refsect1>

View File

@ -207,14 +207,14 @@
iterate through all fields of the current journal
entry:</para>
<programlisting>...
<programlisting>
int print_fields(sd_journal *j) {
const void *data;
size_t length;
SD_JOURNAL_FOREACH_DATA(j, data, length)
printf("%.*s\n", (int) length, data);
}
...</programlisting>
</programlisting>
</refsect1>

View File

@ -60,7 +60,7 @@
<funcdef>int <function>sd_journal_print</function></funcdef>
<paramdef>int <parameter>priority</parameter></paramdef>
<paramdef>const char *<parameter>format</parameter></paramdef>
<paramdef>...</paramdef>
<paramdef></paramdef>
</funcprototype>
<funcprototype>
@ -73,7 +73,7 @@
<funcprototype>
<funcdef>int <function>sd_journal_send</function></funcdef>
<paramdef>const char *<parameter>format</parameter></paramdef>
<paramdef>...</paramdef>
<paramdef></paramdef>
</funcprototype>
<funcprototype>
@ -133,7 +133,7 @@
project='man-pages'><refentrytitle>readv</refentrytitle><manvolnum>3</manvolnum></citerefentry> for details)
instead of the format string. Each structure should reference one field of the entry to submit. The second argument
specifies the number of structures in the array. <function>sd_journal_sendv()</function> is particularly useful to
submit binary objects to the journal where that is necessary. Note that this function wil not strip trailing
submit binary objects to the journal where that is necessary. Note that this function will not strip trailing
whitespace of the passed fields, but passes the specified data along unmodified. This is different from both
<function>sd_journal_print()</function> and <function>sd_journal_send()</function> described above, which are based
on format strings, and do strip trailing whitespace.</para>
@ -189,10 +189,9 @@ sd_journal_send("MESSAGE=Hello World, this is PID %lu!", (unsigned long) getpid(
<refsect1>
<title>Return Value</title>
<para>The four calls return 0 on success or a negative errno-style
error code. The
<citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>
variable itself is not altered.</para>
<para>The five calls return 0 on success or a negative errno-style error code. The <citerefentry
project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry> variable itself is
not altered.</para>
<para>If
<citerefentry><refentrytitle>systemd-journald</refentrytitle><manvolnum>8</manvolnum></citerefentry>
@ -218,13 +217,11 @@ sd_journal_send("MESSAGE=Hello World, this is PID %lu!", (unsigned long) getpid(
<refsect1>
<title>Notes</title>
<para>The <function>sd_journal_print()</function>,
<function>sd_journal_printv()</function>,
<function>sd_journal_send()</function> and
<function>sd_journal_sendv()</function> interfaces are available
as a shared library, which can be compiled and linked to with the
<constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
file.</para>
<para>The <function>sd_journal_print()</function>, <function>sd_journal_printv()</function>,
<function>sd_journal_send()</function>, <function>sd_journal_sendv()</function> and
<function>sd_journal_perror()</function> interfaces are available as a shared library, which can be compiled and
linked to with the <constant>libsystemd</constant> <citerefentry
project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> file.</para>
</refsect1>
<refsect1>

View File

@ -79,7 +79,7 @@
received, zero is returned. The first file descriptor may be found
at file descriptor number 3
(i.e. <constant>SD_LISTEN_FDS_START</constant>), the remaining
descriptors follow at 4, 5, 6, ..., if any.</para>
descriptors follow at 4, 5, 6, , if any.</para>
<para>If a daemon receives more than one file descriptor, they
will be passed in the same order as configured in the systemd

View File

@ -66,7 +66,7 @@
<funcdef>int <function>sd_notifyf</function></funcdef>
<paramdef>int <parameter>unset_environment</parameter></paramdef>
<paramdef>const char *<parameter>format</parameter></paramdef>
<paramdef>...</paramdef>
<paramdef></paramdef>
</funcprototype>
<funcprototype>
@ -81,7 +81,7 @@
<paramdef>pid_t <parameter>pid</parameter></paramdef>
<paramdef>int <parameter>unset_environment</parameter></paramdef>
<paramdef>const char *<parameter>format</parameter></paramdef>
<paramdef>...</paramdef>
<paramdef></paramdef>
</funcprototype>
<funcprototype>
@ -152,7 +152,7 @@
</varlistentry>
<varlistentry>
<term>STATUS=...</term>
<term>STATUS=</term>
<listitem><para>Passes a single-line UTF-8 status string back
to the service manager that describes the service state. This
@ -160,11 +160,11 @@
state feedback, fsck-like programs could pass completion
percentages and failing programs could pass a human-readable
error message. Example: <literal>STATUS=Completed 66% of file
system check...</literal></para></listitem>
system check</literal></para></listitem>
</varlistentry>
<varlistentry>
<term>ERRNO=...</term>
<term>ERRNO=</term>
<listitem><para>If a service fails, the errno-style error
code, formatted as string. Example: <literal>ERRNO=2</literal>
@ -172,7 +172,7 @@
</varlistentry>
<varlistentry>
<term>BUSERROR=...</term>
<term>BUSERROR=</term>
<listitem><para>If a service fails, the D-Bus error-style
error code. Example:
@ -180,7 +180,7 @@
</varlistentry>
<varlistentry>
<term>MAINPID=...</term>
<term>MAINPID=</term>
<listitem><para>The main process ID (PID) of the service, in
case the service manager did not fork off the process itself.
@ -227,7 +227,7 @@
</varlistentry>
<varlistentry>
<term>FDNAME=...</term>
<term>FDNAME=</term>
<listitem><para>When used in combination with
<varname>FDSTORE=1</varname>, specifies a name for the
@ -248,7 +248,7 @@
</varlistentry>
<varlistentry>
<term>WATCHDOG_USEC=...</term>
<term>WATCHDOG_USEC=</term>
<listitem><para>Reset <varname>watchdog_usec</varname> value during runtime.
Notice that this is not available when using <function>sd_event_set_watchdog()</function>
@ -268,6 +268,15 @@
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
for details.</para>
<para>Note that <function>sd_notify()</function> notifications may be attributed to units correctly only if either
the sending process is still around at the time PID 1 processes the message, or if the sending process is
explicitly runtime-tracked by the service manager. The latter is the case if the service manager originally forked
off the process, i.e. on all processes that match <varname>NotifyAccess=</varname><option>main</option> or
<varname>NotifyAccess=</varname><option>exec</option>. Conversely, if an auxiliary process of the unit sends an
<function>sd_notify()</function> message and immediately exits, the service manager might not be able to properly
attribute the message to the unit, and thus will ignore it, even if
<varname>NotifyAccess=</varname><option>all</option> is set for it.</para>
<para><function>sd_notifyf()</function> is similar to
<function>sd_notify()</function> but takes a
<function>printf()</function>-like format string plus
@ -362,7 +371,7 @@
initialization:</para>
<programlisting>sd_notifyf(0, "READY=1\n"
"STATUS=Processing requests...\n"
"STATUS=Processing requests\n"
"MAINPID=%lu",
(unsigned long) getpid());</programlisting>
</example>

View File

@ -121,7 +121,7 @@
<xi:include href="libsystemd-pkgconfig.xml" xpointer="pkgconfig-text"/>
<para>Internally, this functions parses the
<para>Internally, this function parses the
<varname>$WATCHDOG_PID</varname> and
<varname>$WATCHDOG_USEC</varname> environment variable. The call
will ignore these variables if <varname>$WATCHDOG_PID</varname>
@ -148,7 +148,7 @@
<listitem><para>Set by the system manager for supervised
process for which watchdog support is enabled, and contains
the watchdog timeout in µs See above for
the watchdog timeout in µs. See above for
details.</para></listitem>
</varlistentry>
</variablelist>

View File

@ -209,6 +209,10 @@
<varname>RequiresMountsFor=</varname>). Both explicitly
and implicitly introduced dependencies are shown with
<command>list-dependencies</command>.</para>
<para>When passed to the <command>list-jobs</command> command, for each printed job show which other jobs are
waiting for it. May be combined with <option>--before</option> to show both the jobs waiting for each job as
well as all jobs each job is waiting for.</para>
</listitem>
</varlistentry>
@ -220,6 +224,10 @@
units that are ordered after the specified unit. In other
words, recursively list units following the
<varname>Before=</varname> dependency.</para>
<para>When passed to the <command>list-jobs</command> command, for each printed job show which other jobs it
is waiting for. May be combined with <option>--after</option> to show both the jobs waiting for each job as
well as all jobs each job is waiting for.</para>
</listitem>
</varlistentry>
@ -385,10 +393,14 @@
<xi:include href="user-system-options.xml" xpointer="user" />
<xi:include href="user-system-options.xml" xpointer="system" />
<!-- we do not document -failed here, as it has been made
redundant by -state=failed, which it predates. To keep
things simple, we only document the new switch, while
keeping the old one around for compatibility only. -->
<varlistentry>
<term><option>--failed</option></term>
<listitem>
<para>List units in failed state. This is equivalent to
<option>--state=failed</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--no-wall</option></term>
@ -656,7 +668,7 @@
<variablelist>
<varlistentry>
<term><command>list-units <optional><replaceable>PATTERN</replaceable>...</optional></command></term>
<term><command>list-units <optional><replaceable>PATTERN</replaceable></optional></command></term>
<listitem>
<para>List units that <command>systemd</command> currently has in memory. This includes units that are
@ -672,7 +684,7 @@
</varlistentry>
<varlistentry>
<term><command>list-sockets <optional><replaceable>PATTERN</replaceable>...</optional></command></term>
<term><command>list-sockets <optional><replaceable>PATTERN</replaceable></optional></command></term>
<listitem>
<para>List socket units currently in memory, ordered by listening address. If one or more
@ -681,7 +693,7 @@
<programlisting>
LISTEN UNIT ACTIVATES
/dev/initctl systemd-initctl.socket systemd-initctl.service
...
[::]:22 sshd.socket sshd.service
kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
@ -695,19 +707,34 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</varlistentry>
<varlistentry>
<term><command>list-timers <optional><replaceable>PATTERN</replaceable>...</optional></command></term>
<term><command>list-timers <optional><replaceable>PATTERN</replaceable></optional></command></term>
<listitem>
<para>List timer units currently in memory, ordered by the time they elapse next. If one or more
<replaceable>PATTERN</replaceable>s are specified, only units matching one of them are shown.
Produces output similar to
<programlisting>
NEXT LEFT LAST PASSED UNIT ACTIVATES
n/a n/a Thu 2017-02-23 13:40:29 EST 3 days ago ureadahead-stop.timer ureadahead-stop.service
Sun 2017-02-26 18:55:42 EST 1min 14s left Thu 2017-02-23 13:54:44 EST 3 days ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Sun 2017-02-26 20:37:16 EST 1h 42min left Sun 2017-02-26 11:56:36 EST 6h ago apt-daily.timer apt-daily.service
Sun 2017-02-26 20:57:49 EST 2h 3min left Sun 2017-02-26 11:56:36 EST 6h ago snapd.refresh.timer snapd.refresh.service
</programlisting>
</para>
<para><emphasis>NEXT</emphasis> shows the next time the timer will run.</para>
<para><emphasis>LEFT</emphasis> shows how long till the next time the timer runs.</para>
<para><emphasis>LAST</emphasis> shows the last time the timer ran.</para>
<para><emphasis>PASSED</emphasis> shows has long as passed since the timer laset ran.</para>
<para><emphasis>UNIT</emphasis> shows the name of the timer</para>
<para><emphasis>ACTIVATES</emphasis> shows the the name the service the timer activates when it runs.</para>
<para>Also see <option>--all</option> and <option>--state=</option>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>start <replaceable>PATTERN</replaceable>...</command></term>
<term><command>start <replaceable>PATTERN</replaceable></command></term>
<listitem>
<para>Start (activate) one or more units specified on the
@ -721,7 +748,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</listitem>
</varlistentry>
<varlistentry>
<term><command>stop <replaceable>PATTERN</replaceable>...</command></term>
<term><command>stop <replaceable>PATTERN</replaceable></command></term>
<listitem>
<para>Stop (deactivate) one or more units specified on the
@ -729,7 +756,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</listitem>
</varlistentry>
<varlistentry>
<term><command>reload <replaceable>PATTERN</replaceable>...</command></term>
<term><command>reload <replaceable>PATTERN</replaceable></command></term>
<listitem>
<para>Asks all units listed on the command line to reload
@ -749,27 +776,27 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</varlistentry>
<varlistentry>
<term><command>restart <replaceable>PATTERN</replaceable>...</command></term>
<term><command>restart <replaceable>PATTERN</replaceable></command></term>
<listitem>
<para>Restart one or more units specified on the command
line. If the units are not running yet, they will be
started.</para>
<para>Stop and then start one or more units specified on the
command line. If the units are not running yet, they will
be started.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>try-restart <replaceable>PATTERN</replaceable>...</command></term>
<term><command>try-restart <replaceable>PATTERN</replaceable></command></term>
<listitem>
<para>Restart one or more units specified on the command
line if the units are running. This does nothing if units are not
running.</para>
<para>Stop and then start one or more units specified on the
command line if the units are running. This does nothing
if units are not running.</para>
<!-- Note that we don't document condrestart here, as that is just compatibility support, and we generally
don't document that. -->
</listitem>
</varlistentry>
<varlistentry>
<term><command>reload-or-restart <replaceable>PATTERN</replaceable>...</command></term>
<term><command>reload-or-restart <replaceable>PATTERN</replaceable></command></term>
<listitem>
<para>Reload one or more units if they support it. If not,
@ -778,7 +805,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</listitem>
</varlistentry>
<varlistentry>
<term><command>try-reload-or-restart <replaceable>PATTERN</replaceable>...</command></term>
<term><command>try-reload-or-restart <replaceable>PATTERN</replaceable></command></term>
<listitem>
<para>Reload one or more units if they support it. If not,
@ -810,7 +837,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</listitem>
</varlistentry>
<varlistentry>
<term><command>kill <replaceable>PATTERN</replaceable>...</command></term>
<term><command>kill <replaceable>PATTERN</replaceable></command></term>
<listitem>
<para>Send a signal to one or more processes of the
@ -820,7 +847,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</listitem>
</varlistentry>
<varlistentry>
<term><command>is-active <replaceable>PATTERN</replaceable>...</command></term>
<term><command>is-active <replaceable>PATTERN</replaceable></command></term>
<listitem>
<para>Check whether any of the specified units are active
@ -832,7 +859,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</listitem>
</varlistentry>
<varlistentry>
<term><command>is-failed <replaceable>PATTERN</replaceable>...</command></term>
<term><command>is-failed <replaceable>PATTERN</replaceable></command></term>
<listitem>
<para>Check whether any of the specified units are in a
@ -844,7 +871,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</listitem>
</varlistentry>
<varlistentry>
<term><command>status</command> <optional><replaceable>PATTERN</replaceable>...|<replaceable>PID</replaceable>...]</optional></term>
<term><command>status</command> <optional><replaceable>PATTERN</replaceable>…|<replaceable>PID</replaceable>]</optional></term>
<listitem>
<para>Show terse runtime status information about one or
@ -868,27 +895,81 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
a similar filter for messages and might be more
convenient.
</para>
<para>Systemd implicitly loads units as necessary, so just running the <command>status</command> will
attempt to load a file. The command is thus not useful for determining if something was already loaded or
not. The units may possibly also be quickly unloaded after the operation is completed if there's no reason
to keep it in memory thereafter.
</para>
<example>
<title>Example output from systemctl status </title>
<programlisting>$ systemctl status bluetooth
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2017-01-04 13:54:04 EST; 1 weeks 0 days ago
Docs: man:bluetoothd(8)
Main PID: 930 (bluetoothd)
Status: "Running"
Tasks: 1
Memory: 648.0K
CPU: 435ms
CGroup: /system.slice/bluetooth.service
└─930 /usr/lib/bluetooth/bluetoothd
Jan 12 10:46:45 example.com bluetoothd[8900]: Not enough free handles to register service
Jan 12 10:46:45 example.com bluetoothd[8900]: Current Time Service could not be registered
Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output error (5)
</programlisting>
<para>The dot ("●") uses color on supported terminals to summarize the unit state at a glance. White
indicates an <literal>inactive</literal> or <literal>deactivating</literal> state. Red indicates a
<literal>failed</literal> or <literal>error</literal> state and green indicates an
<literal>active</literal>, <literal>reloading</literal> or <literal>activating</literal> state.
</para>
<para>The "Loaded:" line in the output will show <literal>loaded</literal> if the unit has been loaded into
memory. Other possible values for "Loaded:" include: <literal>error</literal> if there was a problem
loading it, <literal>not-found</literal>, and <literal>masked</literal>. Along with showing the path to
the unit file, this line will also show the enablement state. Enabled commands start at boot. See the
full table of possible enablement states — including the definition of <literal>masked</literal> — in the
documentation for the <command>is-enabled</command> command.
</para>
<para>The "Active:" line shows active state. The value is usually <literal>active</literal> or
<literal>inactive</literal>. Active could mean started, bound, plugged in, etc depending on the unit type.
The unit could also be in process of changing states, reporting a state of <literal>activating</literal> or
<literal>deactivating</literal>. A special <literal>failed</literal> state is entered when the service
failed in some way, such as a crash, exiting with an error code or timing out. If the failed state is
entered the cause will be logged for later reference.</para>
</example>
</listitem>
</varlistentry>
<varlistentry>
<term><command>show</command> <optional><replaceable>PATTERN</replaceable>...|<replaceable>JOB</replaceable>...</optional></term>
<term><command>show</command> <optional><replaceable>PATTERN</replaceable>…|<replaceable>JOB</replaceable></optional></term>
<listitem>
<para>Show properties of one or more units, jobs, or the
manager itself. If no argument is specified, properties of
the manager will be shown. If a unit name is specified,
properties of the unit are shown, and if a job ID is
specified, properties of the job are shown. By default, empty
properties are suppressed. Use <option>--all</option> to
show those too. To select specific properties to show, use
<option>--property=</option>. This command is intended to be
used whenever computer-parsable output is required. Use
<command>status</command> if you are looking for formatted
human-readable output.</para>
<para>Show properties of one or more units, jobs, or the manager itself. If no argument is specified,
properties of the manager will be shown. If a unit name is specified, properties of the unit are shown, and
if a job ID is specified, properties of the job are shown. By default, empty properties are suppressed. Use
<option>--all</option> to show those too. To select specific properties to show, use
<option>--property=</option>. This command is intended to be used whenever computer-parsable output is
required. Use <command>status</command> if you are looking for formatted human-readable output.</para>
<para>Many properties shown by <command>systemctl show</command> map directly to configuration settings of
the system and service manager and its unit files. Note that the properties shown by the command are
generally more low-level, normalized versions of the original configuration settings and expose runtime
state in addition to configuration. For example, properties shown for service units include the service's
current main process identifier as <literal>MainPID</literal> (which is runtime state), and time settings
are always exposed as properties ending in the <literal>…USec</literal> suffix even if a matching
configuration options end in <literal>…Sec</literal>, because microseconds is the normalized time unit used
by the system and service manager.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>cat <replaceable>PATTERN</replaceable>...</command></term>
<term><command>cat <replaceable>PATTERN</replaceable></command></term>
<listitem>
<para>Show backing files of one or more units. Prints the
@ -902,7 +983,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</listitem>
</varlistentry>
<varlistentry>
<term><command>set-property <replaceable>NAME</replaceable> <replaceable>ASSIGNMENT</replaceable>...</command></term>
<term><command>set-property <replaceable>NAME</replaceable> <replaceable>ASSIGNMENT</replaceable></command></term>
<listitem>
<para>Set the specified unit properties at runtime where
@ -933,7 +1014,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</varlistentry>
<varlistentry>
<term><command>help <replaceable>PATTERN</replaceable>...|<replaceable>PID</replaceable>...</command></term>
<term><command>help <replaceable>PATTERN</replaceable>…|<replaceable>PID</replaceable></command></term>
<listitem>
<para>Show manual pages for one or more units, if
@ -943,7 +1024,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</varlistentry>
<varlistentry>
<term><command>reset-failed [<replaceable>PATTERN</replaceable>...]</command></term>
<term><command>reset-failed [<replaceable>PATTERN</replaceable>]</command></term>
<listitem>
<para>Reset the <literal>failed</literal> state of the
@ -991,7 +1072,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
<variablelist>
<varlistentry>
<term><command>list-unit-files <optional><replaceable>PATTERN...</replaceable></optional></command></term>
<term><command>list-unit-files <optional><replaceable>PATTERN</replaceable></optional></command></term>
<listitem>
<para>List unit files installed on the system, in combination with their enablement state (as reported by
@ -1002,8 +1083,8 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</varlistentry>
<varlistentry>
<term><command>enable <replaceable>NAME</replaceable>...</command></term>
<term><command>enable <replaceable>PATH</replaceable>...</command></term>
<term><command>enable <replaceable>NAME</replaceable></command></term>
<term><command>enable <replaceable>PATH</replaceable></command></term>
<listitem>
<para>Enable one or more units or unit instances. This will create a set of symlinks, as encoded in the
@ -1053,7 +1134,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</varlistentry>
<varlistentry>
<term><command>disable <replaceable>NAME</replaceable>...</command></term>
<term><command>disable <replaceable>NAME</replaceable></command></term>
<listitem>
<para>Disables one or more units. This removes all symlinks to the unit files backing the specified units
@ -1085,7 +1166,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</varlistentry>
<varlistentry>
<term><command>reenable <replaceable>NAME</replaceable>...</command></term>
<term><command>reenable <replaceable>NAME</replaceable></command></term>
<listitem>
<para>Reenable one or more units, as specified on the command line. This is a combination of
@ -1096,7 +1177,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</varlistentry>
<varlistentry>
<term><command>preset <replaceable>NAME</replaceable>...</command></term>
<term><command>preset <replaceable>NAME</replaceable></command></term>
<listitem>
<para>Reset the enable/disable status one or more unit files, as specified on
@ -1115,7 +1196,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
<para>For more information on the preset policy format, see
<citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
For more information on the concept of presets, please consult the
<ulink url="http://freedesktop.org/wiki/Software/systemd/Preset">Preset</ulink>
<ulink url="https://www.freedesktop.org/wiki/Software/systemd/Preset">Preset</ulink>
document.</para>
</listitem>
</varlistentry>
@ -1134,7 +1215,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</varlistentry>
<varlistentry>
<term><command>is-enabled <replaceable>NAME</replaceable>...</command></term>
<term><command>is-enabled <replaceable>NAME</replaceable></command></term>
<listitem>
<para>Checks whether any of the specified unit files are
@ -1221,7 +1302,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</varlistentry>
<varlistentry>
<term><command>mask <replaceable>NAME</replaceable>...</command></term>
<term><command>mask <replaceable>NAME</replaceable></command></term>
<listitem>
<para>Mask one or more units, as specified on the command line. This will link these unit files to
@ -1235,7 +1316,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</varlistentry>
<varlistentry>
<term><command>unmask <replaceable>NAME</replaceable>...</command></term>
<term><command>unmask <replaceable>NAME</replaceable></command></term>
<listitem>
<para>Unmask one or more unit files, as specified on the command line. This will undo the effect of
@ -1245,7 +1326,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</varlistentry>
<varlistentry>
<term><command>link <replaceable>PATH</replaceable>...</command></term>
<term><command>link <replaceable>PATH</replaceable></command></term>
<listitem>
<para>Link a unit file that is not in the unit file search paths into the unit file search path. This
@ -1256,7 +1337,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</varlistentry>
<varlistentry>
<term><command>revert <replaceable>NAME</replaceable>...</command></term>
<term><command>revert <replaceable>NAME</replaceable></command></term>
<listitem>
<para>Revert one or more unit files to their vendor versions. This command removes drop-in configuration
@ -1279,9 +1360,9 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
<varlistentry>
<term><command>add-wants <replaceable>TARGET</replaceable>
<replaceable>NAME</replaceable>...</command></term>
<replaceable>NAME</replaceable></command></term>
<term><command>add-requires <replaceable>TARGET</replaceable>
<replaceable>NAME</replaceable>...</command></term>
<replaceable>NAME</replaceable></command></term>
<listitem>
<para>Adds <literal>Wants=</literal> or <literal>Requires=</literal>
@ -1297,7 +1378,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</varlistentry>
<varlistentry>
<term><command>edit <replaceable>NAME</replaceable>...</command></term>
<term><command>edit <replaceable>NAME</replaceable></command></term>
<listitem>
<para>Edit a drop-in snippet or a whole replacement file if
@ -1364,7 +1445,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
<variablelist>
<varlistentry>
<term><command>list-machines <optional><replaceable>PATTERN</replaceable>...</optional></command></term>
<term><command>list-machines <optional><replaceable>PATTERN</replaceable></optional></command></term>
<listitem>
<para>List the host and all running local containers with
@ -1382,16 +1463,20 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
<variablelist>
<varlistentry>
<term><command>list-jobs <optional><replaceable>PATTERN...</replaceable></optional></command></term>
<term><command>list-jobs <optional><replaceable>PATTERN</replaceable></optional></command></term>
<listitem>
<para>List jobs that are in progress. If one or more
<replaceable>PATTERN</replaceable>s are specified, only
jobs for units matching one of them are shown.</para>
<para>When combined with <option>--after</option> or <option>--before</option> the list is augmented with
information on which other job each job is waiting for, and which other jobs are waiting for it, see
above.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>cancel <replaceable>JOB</replaceable>...</command></term>
<term><command>cancel <replaceable>JOB</replaceable></command></term>
<listitem>
<para>Cancel one or more jobs specified on the command line
@ -1418,7 +1503,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</listitem>
</varlistentry>
<varlistentry>
<term><command>set-environment <replaceable>VARIABLE=VALUE</replaceable>...</command></term>
<term><command>set-environment <replaceable>VARIABLE=VALUE</replaceable></command></term>
<listitem>
<para>Set one or more systemd manager environment variables,
@ -1426,7 +1511,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
</listitem>
</varlistentry>
<varlistentry>
<term><command>unset-environment <replaceable>VARIABLE</replaceable>...</command></term>
<term><command>unset-environment <replaceable>VARIABLE</replaceable></command></term>
<listitem>
<para>Unset one or more systemd manager environment
@ -1439,7 +1524,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
<varlistentry>
<term>
<command>import-environment</command>
<optional><replaceable>VARIABLE...</replaceable></optional>
<optional><replaceable>VARIABLE</replaceable></optional>
</term>
<listitem>
@ -1747,7 +1832,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
<title>Parameter Syntax</title>
<para>Unit commands listed above take either a single unit name (designated as <replaceable>NAME</replaceable>),
or multiple unit specifications (designated as <replaceable>PATTERN</replaceable>...). In the first case, the
or multiple unit specifications (designated as <replaceable>PATTERN</replaceable>). In the first case, the
unit name with or without a suffix must be given. If the suffix is not specified (unit name is "abbreviated"),
systemctl will append a suitable suffix, <literal>.service</literal> by default, and a type-specific suffix in
case of commands which operate only on specific unit types. For example,

View File

@ -101,6 +101,12 @@
<arg choice="plain">set-log-target</arg>
<arg choice="plain"><replaceable>TARGET</replaceable></arg>
</cmdsynopsis>
<cmdsynopsis>
<command>systemd-analyze</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
<arg choice="plain">syscall-filter</arg>
<arg choice="opt"><replaceable>SET</replaceable></arg>
</cmdsynopsis>
<cmdsynopsis>
<command>systemd-analyze</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
@ -134,7 +140,7 @@
initialization of another service to complete.</para>
<para><command>systemd-analyze critical-chain
[<replaceable>UNIT...</replaceable>]</command> prints a tree of
[<replaceable>UNIT</replaceable>]</command> prints a tree of
the time-critical chain of units (for each of the specified
<replaceable>UNIT</replaceable>s or for the default target
otherwise). The time after the unit is active or started is
@ -181,6 +187,11 @@
<option>--log-target=</option>, described in
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>).</para>
<para><command>systemd-analyze syscall-filter <optional><replaceable>SET</replaceable></optional></command>
will list system calls contained in the specified system call set <replaceable>SET</replaceable>,
or all known sets if no sets are specified. Argument <replaceable>SET</replaceable> must include
the <literal>@</literal> prefix.</para>
<para><command>systemd-analyze verify</command> will load unit files and print
warnings if any errors are detected. Files specified on the command line will be
loaded, but also any other units referenced by them. The full unit search path is
@ -343,7 +354,7 @@ Documentation=man:nosuchfile(1)
Requires=different.service
[Service]
Desription=x
Description=x
$ systemd-analyze verify ./user.slice
[./user.slice:9] Unknown lvalue 'WhatIsThis' in section 'Unit'

View File

@ -71,7 +71,7 @@
properly notified.</para>
<para>See the <ulink
url="http://www.freedesktop.org/wiki/Software/systemd/PasswordAgents">
url="https://www.freedesktop.org/wiki/Software/systemd/PasswordAgents">
developer documentation</ulink> for more information about the
system password logic.</para>

View File

@ -61,10 +61,9 @@
a system password or passphrase from the user, using a question
message specified on the command line. When run from a TTY it will
query a password on the TTY and print it to standard output. When
run with no TTY or with <option>--no-tty</option> it will query
the password system-wide and allow active users to respond via
several agents. The latter is only available to privileged
processes.</para>
run with no TTY or with <option>--no-tty</option> it will use the
system-wide query mechanism, which allows active users to respond via
several agents, listed below.</para>
<para>The purpose of this tool is to query system-wide passwords
— that is passwords not attached to a specific user account.
@ -76,28 +75,41 @@
<itemizedlist>
<listitem><para>A boot-time password agent asking the user for
passwords using Plymouth</para></listitem>
passwords using
<citerefentry project='die-net'><refentrytitle>plymouth</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
</para></listitem>
<listitem><para>A boot-time password agent querying the user
directly on the console</para></listitem>
directly on the console —
<citerefentry><refentrytitle>systemd-ask-password-console.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
</para></listitem>
<listitem><para>An agent requesting password input via a
<citerefentry
project='man-pages'><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>
message</para></listitem>
<listitem><para>A command line agent which can be started
temporarily to process queued password
requests</para></listitem>
<citerefentry project='man-pages'><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>
message —
<citerefentry><refentrytitle>systemd-ask-password-wall.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
</para></listitem>
<listitem><para>A TTY agent that is temporarily spawned during
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
invocations</para></listitem>
invocations,</para></listitem>
<listitem><para>A command line agent which can be started
temporarily to process queued password
requests — <command>systemd-tty-ask-password-agent --query</command>.
</para></listitem>
</itemizedlist></para>
<para>Answering system-wide password queries is a privileged operation, hence
all the agents listed above (except for the last one), run as privileged
system services. The last one also needs elevated privileges, so
should be run through
<citerefentry project='die-net'><refentrytitle>sudo</refentrytitle><manvolnum>8</manvolnum></citerefentry>
or similar.</para>
<para>Additional password agents may be implemented according to
the <ulink
url="http://www.freedesktop.org/wiki/Software/systemd/PasswordAgents">systemd
url="https://www.freedesktop.org/wiki/Software/systemd/PasswordAgents">systemd
Password Agent Specification</ulink>.</para>
<para>If a password is queried on a TTY, the user may press TAB to
@ -217,7 +229,8 @@
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-ask-password-console.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-tty-ask-password</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry project='die-net'><refentrytitle>keyctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry project='die-net'><refentrytitle>plymouth</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry project='man-pages'><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>

View File

@ -54,6 +54,12 @@
<arg choice="opt" rep="repeat">OPTIONS</arg>
<arg choice="opt" rep="repeat">CGROUP</arg>
</cmdsynopsis>
<cmdsynopsis>
<command>systemd-cgls</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
<arg choice="plain"><option>--unit</option>|<option>--user-unit</option></arg>
<arg choice="opt" rep="repeat">UNIT</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
@ -95,6 +101,21 @@
</listitem>
</varlistentry>
<varlistentry>
<term><option>-u</option></term>
<term><option>--unit</option></term>
<listitem><para>Show cgroup subtrees for the specified units.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--user-unit</option></term>
<listitem><para>Show cgroup subtrees for the specified user units.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-k</option></term>

View File

@ -52,14 +52,26 @@
<refsynopsisdiv>
<para><filename>/usr/lib/systemd/systemd-coredump</filename></para>
<para><filename>/usr/lib/systemd/systemd-coredump</filename> <option>--backtrace</option></para>
<para><filename>systemd-coredump@.service</filename></para>
<para><filename>systemd-coredump.socket</filename></para>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><command>systemd-coredump</command> is a system service that can acquire core dumps
from the kernel and handle them in various ways.</para>
<para><filename>systemd-coredump@.service</filename> is a system service that can acquire core
dumps from the kernel and handle them in various ways. The <command>systemd-coredump</command>
executable does the actual work. It is invoked twice: once as the handler by the kernel, and the
second time in the <filename>systemd-coredump@.service</filename> to actually write the data to
the journal.</para>
<para>When the kernel invokes <command>systemd-coredump</command> to handle a core dump, it runs
in privileged mode, and will connect to the socket created by the
<filename>systemd-coredump.socket</filename> unit, which in turn will spawn an unprivileged
<filename>systemd-coredump@.service</filename> instance to process the core dump. Hence
<filename>systemd-coredump.socket</filename> and <filename>systemd-coredump@.service</filename>
are helper units which do the actual processing of core dumps and are subject to normal service
management.</para>
<para>Core dumps can be written to the journal or saved as a file. Once saved they can be retrieved
for further processing, for example in
@ -70,18 +82,20 @@
if possible to the journal and store the core dump itself in an external file in
<filename>/var/lib/systemd/coredump</filename>.</para>
<para>When the kernel invokes <command>systemd-coredump</command> to handle a core dump,
it will connect to the socket created by the <filename>systemd-coredump.socket</filename>
unit, which in turn will spawn a <filename>systemd-coredump@.service</filename> instance
to process the core dump. Hence <filename>systemd-coredump.socket</filename>
and <filename>systemd-coredump@.service</filename> are helper units which do the actual
processing of core dumps and are subject to normal service management.</para>
<para>The behavior of a specific program upon reception of a signal is governed by a few
factors which are described in detail in
<citerefentry project='man-pages'><refentrytitle>core</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
In particular, the core dump will only be processed when the related resource limits are sufficient.
</para>
<para>It is also possible to invoke <command>systemd-coredump</command> with
<option>--backtrace</option> option. In this case, <command>systemd-coredump</command> expects
a journal entry in the journal
<ulink url="https://www.freedesktop.org/wiki/Software/systemd/export">Journal Export Format</ulink>
on standard input. The entry should contain a <varname>MESSAGE=</varname> field and any additional
metadata fields the caller deems reasonable. <command>systemd-coredump</command> will append
additional metadata fields in the same way it does for core dumps received from the kernel. In
this mode, no core dump is stored in the journal.</para>
</refsect1>
<refsect1>
@ -91,7 +105,8 @@
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
</para>
<para>In order to be used <command>systemd-coredump</command> must be configured in
<para>In order to be used by the kernel to handle core dumps,
<command>systemd-coredump</command> must be configured in
<citerefentry project='man-pages'><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
parameter <varname>kernel.core_pattern</varname>. The syntax of this parameter is explained in
<citerefentry project='man-pages'><refentrytitle>core</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
@ -99,14 +114,20 @@
<varname>kernel.core_pattern</varname> accordingly. This file may be masked or overridden to use a different
setting following normal
<citerefentry><refentrytitle>sysctl.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>
rules.
If the sysctl configuration is modified, it must be updated in the kernel before
it takes effect, see
rules. If the sysctl configuration is modified, it must be updated in the kernel before it
takes effect, see
<citerefentry project='man-pages'><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
and
<citerefentry><refentrytitle>systemd-sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
</para>
<para>In order to by used in the <option>--backtrace</option> mode, an appropriate backtrace
handler must be installed on the sender side. For example, in case of
<citerefentry><refentrytitle>python</refentrytitle><manvolnum>1</manvolnum></citerefentry>, this
means a <varname>sys.excepthook</varname> must installed, see
<ulink url="https://github.com/keszybz/systemd-coredump-python">systemd-coredump-python</ulink>.
</para>
<para>The behavior of <command>systemd-coredump</command> itself is configured through the configuration file
<filename>/etc/systemd/coredump.conf</filename> and corresponding snippets
<filename>/etc/systemd/coredump.conf.d/*.conf</filename>, see

View File

@ -61,14 +61,13 @@
<para><filename>systemd-cryptsetup@.service</filename> will ask
for hard disk passwords via the <ulink
url="http://www.freedesktop.org/wiki/Software/systemd/PasswordAgents">
url="https://www.freedesktop.org/wiki/Software/systemd/PasswordAgents">
password agent logic</ulink>, in order to query the user for the
password using the right mechanism at boot and during
runtime.</para>
<para>At early boot and when the system manager configuration is
reloaded this <filename>/etc/crypttab</filename> is translated
into <filename>systemd-cryptsetup@.service</filename> units by
<para>At early boot and when the system manager configuration is reloaded, <filename>/etc/crypttab</filename> is
translated into <filename>systemd-cryptsetup@.service</filename> units by
<citerefentry><refentrytitle>systemd-cryptsetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</refsect1>

View File

@ -70,7 +70,7 @@
the initial transaction. This is useful to start one or more
additional units at boot. May be specified more than once.</para>
<para>If the <option>systemd.debug-shell</option> option is
<para>If the <option>systemd.debug_shell</option> option is
specified, the debug shell service
<literal>debug-shell.service</literal> is pulled into the boot
transaction. It will spawn a debug shell on tty9 during early

View File

@ -63,7 +63,7 @@
compare configuration files that override other configuration
files. Files in <filename>/etc</filename> have highest priority,
files in <filename>/run</filename> have the second highest
priority, ..., files in <filename>/lib</filename> have lowest
priority, , files in <filename>/lib</filename> have lowest
priority. Files in a directory with higher priority override files
with the same name in directories of lower priority. In addition,
certain configuration files can have <literal>.d</literal>
@ -82,7 +82,7 @@
suffix. Either is optional. The prefix must be one of the
directories containing configuration files
(<filename>/etc</filename>, <filename>/run</filename>,
<filename>/usr/lib</filename>, ...). If it is given, only
<filename>/usr/lib</filename>, ). If it is given, only
overriding files contained in this directory will be shown.
Otherwise, all overriding files will be shown. The suffix must be
a name of a subdirectory containing configuration files like

View File

@ -91,12 +91,13 @@
<row>
<entry valign="top" morerows="10">VM</entry>
<entry><varname>qemu</varname></entry>
<entry>QEMU software virtualization</entry>
<entry>QEMU software virtualization, without KVM</entry>
</row>
<row>
<entry><varname>kvm</varname></entry>
<entry>Linux KVM kernel virtual machine</entry>
<entry>Linux KVM kernel virtual machine, with whatever software, except
Oracle Virtualbox</entry>
</row>
<row>
@ -116,7 +117,8 @@
<row>
<entry><varname>oracle</varname></entry>
<entry>Oracle VM VirtualBox (historically marketed by innotek and Sun Microsystems)</entry>
<entry>Oracle VM VirtualBox (historically marketed by innotek and Sun Microsystems),
for legacy and KVM hypervisor</entry>
</row>
<row>

View File

@ -0,0 +1,80 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
<!ENTITY % entities SYSTEM "custom-entities.ent" >
%entities;
]>
<!--
This file is part of systemd.
Copyright 2017 Zbigniew Jędrzejewski-Szmek
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
systemd is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
<refentry id="systemd-environment-d-generator">
<refentryinfo>
<title>systemd-environment-d-generator</title>
<productname>systemd</productname>
<authorgroup>
<author>
<contrib>Developer</contrib>
<firstname>Zbigniew</firstname>
<surname>Jędrzejewski-Szmek</surname>
<email>zbyszek@in.waw.pl</email>
</author>
</authorgroup>
</refentryinfo>
<refmeta>
<refentrytitle>systemd-environment-d-generator</refentrytitle>
<manvolnum>8</manvolnum>
</refmeta>
<refnamediv>
<refname>systemd-environment-d-generator</refname>
<refname>30-systemd-environment-d-generator</refname>
<refpurpose>Load variables specified by <filename>environment.d</filename>
</refpurpose>
</refnamediv>
<refsynopsisdiv>
<para><filename>&userenvgeneratordir;/30-systemd-environment-d-generator</filename></para>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><filename>systemd-environment-d-generator</filename> is a
<citerefentry><refentrytitle>systemd.environment-generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>
that reads environment configuration specified by
<citerefentry><refentrytitle>environment.d</refentrytitle><manvolnum>7</manvolnum></citerefentry>
configuration files and passes it to the
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
user manager instance.</para>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.environment-generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>

View File

@ -86,8 +86,8 @@
<listitem><para>Appends the specified unit type suffix to the
escaped string. Takes one of the unit types supported by
systemd, such as <literal>.service</literal> or
<literal>.mount</literal>. May not be used in conjunction with
systemd, such as <literal>service</literal> or
<literal>mount</literal>. May not be used in conjunction with
<option>--template=</option>, <option>--unescape</option> or
<option>--mangle</option>.</para></listitem>
</varlistentry>

Some files were not shown because too many files have changed in this diff Show More