mirror of
https://git.proxmox.com/git/systemd
synced 2025-08-04 16:03:11 +00:00
Imported Upstream version 232
This commit is contained in:
parent
5a920b42ce
commit
8a584da277
5
.gitignore
vendored
5
.gitignore
vendored
@ -1,5 +1,6 @@
|
||||
*.a
|
||||
*.cache
|
||||
*.gch
|
||||
*.la
|
||||
*.lo
|
||||
*.log
|
||||
@ -36,6 +37,7 @@
|
||||
/exported
|
||||
/exported-*
|
||||
/hostnamectl
|
||||
/image.raw
|
||||
/install-tree
|
||||
/journalctl
|
||||
/libtool
|
||||
@ -89,6 +91,7 @@
|
||||
/systemd-machine-id-setup
|
||||
/systemd-machined
|
||||
/systemd-modules-load
|
||||
/systemd-mount
|
||||
/systemd-networkd
|
||||
/systemd-networkd-wait-online
|
||||
/systemd-notify
|
||||
@ -151,6 +154,7 @@
|
||||
/test-bus-policy
|
||||
/test-bus-server
|
||||
/test-bus-signature
|
||||
/test-bus-track
|
||||
/test-bus-zero-copy
|
||||
/test-calendarspec
|
||||
/test-cap-list
|
||||
@ -258,6 +262,7 @@
|
||||
/test-ring
|
||||
/test-rlimit-util
|
||||
/test-sched-prio
|
||||
/test-seccomp
|
||||
/test-selinux
|
||||
/test-set
|
||||
/test-sizeof
|
||||
|
15
.mailmap
15
.mailmap
@ -74,3 +74,18 @@ Thomas H. P. Andersen <phomes@gmail.com>
|
||||
Michael Olbrich <m.olbrich@pengutronix.de>
|
||||
Douglas Christman <DouglasChristman@gmail.com>
|
||||
Alexander Kuleshov <kuleshovmail@gmail.com> <0xAX@users.noreply.github.com>
|
||||
Andreas Henriksson <andreas@fatal.se>
|
||||
Daniel Rusek <mail@asciiwolf.com>
|
||||
Dennis Wassenberg <dennis.wassenberg@secunet.com>
|
||||
Reid Price <reid.price@gmail.com>
|
||||
Stefan Schweter <stefan@schweter.it>
|
||||
Seraphime Kirkovski <kirkseraph@gmail.com>
|
||||
Bart Rulon <barron@lexmark.com>
|
||||
Richard W.M. Jones <rjones@redhat.com>
|
||||
Roman Stingler <coolx67@gmx.at>
|
||||
Michael Hoy <rimmington@gmail.com>
|
||||
Tiago Levit <liamgliam@gmail.com>
|
||||
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>
|
||||
|
67
.mkosi/mkosi.arch
Normal file
67
.mkosi/mkosi.arch
Normal file
@ -0,0 +1,67 @@
|
||||
# This file is part of systemd.
|
||||
#
|
||||
# Copyright 2016 Zeal Jagannatha
|
||||
#
|
||||
# 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=arch
|
||||
|
||||
[Output]
|
||||
Format=raw_btrfs
|
||||
Bootable=yes
|
||||
|
||||
[Partitions]
|
||||
RootSize=2G
|
||||
|
||||
[Packages]
|
||||
Cache=/var/cache/pacman/pkg/
|
||||
BuildPackages=
|
||||
acl
|
||||
autoconf
|
||||
automake
|
||||
bzip2
|
||||
cryptsetup
|
||||
curl
|
||||
dbus
|
||||
docbook-xsl
|
||||
elfutils
|
||||
gcc
|
||||
git
|
||||
gnu-efi-libs
|
||||
gnutls
|
||||
gperf
|
||||
intltool
|
||||
iptables
|
||||
kmod
|
||||
libcap
|
||||
libgcrypt
|
||||
libidn
|
||||
libmicrohttpd
|
||||
libseccomp
|
||||
libtool
|
||||
libutil-linux
|
||||
libxkbcommon
|
||||
libxslt
|
||||
lz4
|
||||
make
|
||||
pam
|
||||
pkgconfig
|
||||
python
|
||||
python-lxml
|
||||
qrencode
|
||||
xz
|
71
.mkosi/mkosi.fedora
Normal file
71
.mkosi/mkosi.fedora
Normal file
@ -0,0 +1,71 @@
|
||||
# This file is part of systemd.
|
||||
#
|
||||
# Copyright 2016 Lennart Poettering
|
||||
#
|
||||
# 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=fedora
|
||||
Release=25
|
||||
|
||||
[Output]
|
||||
Format=raw_btrfs
|
||||
Bootable=yes
|
||||
|
||||
[Partitions]
|
||||
RootSize=2G
|
||||
|
||||
[Packages]
|
||||
BuildPackages=
|
||||
audit-libs-devel
|
||||
autoconf
|
||||
automake
|
||||
bzip2-devel
|
||||
cryptsetup-devel
|
||||
dbus-devel
|
||||
docbook-style-xsl
|
||||
elfutils-devel
|
||||
gcc
|
||||
git
|
||||
gnu-efi
|
||||
gnu-efi-devel
|
||||
gnutls-devel
|
||||
gperf
|
||||
intltool
|
||||
iptables-devel
|
||||
kmod-devel
|
||||
libacl-devel
|
||||
libblkid-devel
|
||||
libcap-devel
|
||||
libcurl-devel
|
||||
libgcrypt-devel
|
||||
libidn-devel
|
||||
libmicrohttpd-devel
|
||||
libmount-devel
|
||||
libseccomp-devel
|
||||
libselinux-devel
|
||||
libtool
|
||||
libxkbcommon-devel
|
||||
libxslt
|
||||
lz4-devel
|
||||
make
|
||||
pam-devel
|
||||
pkgconfig
|
||||
python3-devel
|
||||
python3-lxml
|
||||
qrencode-devel
|
||||
xz-devel
|
@ -15,6 +15,7 @@ HOWTO:
|
||||
--with-kbd-setfont=
|
||||
--with-tty-gid=
|
||||
--with-ntp-servers=
|
||||
--with-support-url=
|
||||
|
||||
2) Try it out. Play around (as an ordinary user) with
|
||||
'/usr/lib/systemd/systemd --test --system' for a test run
|
||||
@ -40,6 +41,16 @@ NTP POOL:
|
||||
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
|
||||
to provide a more seamless experience. For example, limits set in
|
||||
/etc/security/limits.conf will not be read unless you load pam_limits.
|
||||
Make sure you add modules your distro expects from user services.
|
||||
|
||||
Pass --with-pamconfdir=no to ./configure to avoid installing this file
|
||||
and instead install your own.
|
||||
|
||||
CONTRIBUTING UPSTREAM:
|
||||
|
||||
We generally do no longer accept distribution-specific
|
||||
|
120
Makefile-man.am
120
Makefile-man.am
@ -23,6 +23,7 @@ MANPAGES += \
|
||||
man/localtime.5 \
|
||||
man/machine-id.5 \
|
||||
man/machine-info.5 \
|
||||
man/nss-systemd.8 \
|
||||
man/os-release.5 \
|
||||
man/sd-bus-errors.3 \
|
||||
man/sd-bus.3 \
|
||||
@ -51,6 +52,8 @@ MANPAGES += \
|
||||
man/sd_bus_path_encode.3 \
|
||||
man/sd_bus_process.3 \
|
||||
man/sd_bus_request_name.3 \
|
||||
man/sd_bus_track_add_name.3 \
|
||||
man/sd_bus_track_new.3 \
|
||||
man/sd_event_add_child.3 \
|
||||
man/sd_event_add_defer.3 \
|
||||
man/sd_event_add_io.3 \
|
||||
@ -120,6 +123,7 @@ MANPAGES += \
|
||||
man/systemd-journald.service.8 \
|
||||
man/systemd-machine-id-commit.service.8 \
|
||||
man/systemd-machine-id-setup.1 \
|
||||
man/systemd-mount.1 \
|
||||
man/systemd-notify.1 \
|
||||
man/systemd-nspawn.1 \
|
||||
man/systemd-path.1 \
|
||||
@ -235,6 +239,7 @@ MANPAGES_ALIAS += \
|
||||
man/SD_ID128_FORMAT_STR.3 \
|
||||
man/SD_ID128_FORMAT_VAL.3 \
|
||||
man/SD_ID128_MAKE.3 \
|
||||
man/SD_ID128_NULL.3 \
|
||||
man/SD_INFO.3 \
|
||||
man/SD_JOURNAL_APPEND.3 \
|
||||
man/SD_JOURNAL_CURRENT_USER.3 \
|
||||
@ -255,6 +260,7 @@ MANPAGES_ALIAS += \
|
||||
man/SD_WARNING.3 \
|
||||
man/init.1 \
|
||||
man/journald.conf.d.5 \
|
||||
man/libnss_systemd.so.2.8 \
|
||||
man/poweroff.8 \
|
||||
man/reboot.8 \
|
||||
man/sd_bus_creds_get_audit_login_uid.3 \
|
||||
@ -329,6 +335,23 @@ MANPAGES_ALIAS += \
|
||||
man/sd_bus_path_encode_many.3 \
|
||||
man/sd_bus_ref.3 \
|
||||
man/sd_bus_release_name.3 \
|
||||
man/sd_bus_track_add_sender.3 \
|
||||
man/sd_bus_track_contains.3 \
|
||||
man/sd_bus_track_count.3 \
|
||||
man/sd_bus_track_count_name.3 \
|
||||
man/sd_bus_track_count_sender.3 \
|
||||
man/sd_bus_track_first.3 \
|
||||
man/sd_bus_track_get_bus.3 \
|
||||
man/sd_bus_track_get_recursive.3 \
|
||||
man/sd_bus_track_get_userdata.3 \
|
||||
man/sd_bus_track_next.3 \
|
||||
man/sd_bus_track_ref.3 \
|
||||
man/sd_bus_track_remove_name.3 \
|
||||
man/sd_bus_track_remove_sender.3 \
|
||||
man/sd_bus_track_set_recursive.3 \
|
||||
man/sd_bus_track_set_userdata.3 \
|
||||
man/sd_bus_track_unref.3 \
|
||||
man/sd_bus_track_unrefp.3 \
|
||||
man/sd_bus_unref.3 \
|
||||
man/sd_bus_unrefp.3 \
|
||||
man/sd_event.3 \
|
||||
@ -373,6 +396,8 @@ MANPAGES_ALIAS += \
|
||||
man/sd_id128_equal.3 \
|
||||
man/sd_id128_from_string.3 \
|
||||
man/sd_id128_get_boot.3 \
|
||||
man/sd_id128_get_invocation.3 \
|
||||
man/sd_id128_is_null.3 \
|
||||
man/sd_id128_t.3 \
|
||||
man/sd_is_mq.3 \
|
||||
man/sd_is_socket.3 \
|
||||
@ -567,6 +592,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_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
|
||||
man/SD_JOURNAL_CURRENT_USER.3: man/sd_journal_open.3
|
||||
@ -587,6 +613,7 @@ man/SD_NOTICE.3: man/sd-daemon.3
|
||||
man/SD_WARNING.3: man/sd-daemon.3
|
||||
man/init.1: man/systemd.1
|
||||
man/journald.conf.d.5: man/journald.conf.5
|
||||
man/libnss_systemd.so.2.8: man/nss-systemd.8
|
||||
man/poweroff.8: man/halt.8
|
||||
man/reboot.8: man/halt.8
|
||||
man/sd_bus_creds_get_audit_login_uid.3: man/sd_bus_creds_get_pid.3
|
||||
@ -661,6 +688,23 @@ man/sd_bus_path_decode_many.3: man/sd_bus_path_encode.3
|
||||
man/sd_bus_path_encode_many.3: man/sd_bus_path_encode.3
|
||||
man/sd_bus_ref.3: man/sd_bus_new.3
|
||||
man/sd_bus_release_name.3: man/sd_bus_request_name.3
|
||||
man/sd_bus_track_add_sender.3: man/sd_bus_track_add_name.3
|
||||
man/sd_bus_track_contains.3: man/sd_bus_track_add_name.3
|
||||
man/sd_bus_track_count.3: man/sd_bus_track_add_name.3
|
||||
man/sd_bus_track_count_name.3: man/sd_bus_track_add_name.3
|
||||
man/sd_bus_track_count_sender.3: man/sd_bus_track_add_name.3
|
||||
man/sd_bus_track_first.3: man/sd_bus_track_add_name.3
|
||||
man/sd_bus_track_get_bus.3: man/sd_bus_track_new.3
|
||||
man/sd_bus_track_get_recursive.3: man/sd_bus_track_new.3
|
||||
man/sd_bus_track_get_userdata.3: man/sd_bus_track_new.3
|
||||
man/sd_bus_track_next.3: man/sd_bus_track_add_name.3
|
||||
man/sd_bus_track_ref.3: man/sd_bus_track_new.3
|
||||
man/sd_bus_track_remove_name.3: man/sd_bus_track_add_name.3
|
||||
man/sd_bus_track_remove_sender.3: man/sd_bus_track_add_name.3
|
||||
man/sd_bus_track_set_recursive.3: man/sd_bus_track_new.3
|
||||
man/sd_bus_track_set_userdata.3: man/sd_bus_track_new.3
|
||||
man/sd_bus_track_unref.3: man/sd_bus_track_new.3
|
||||
man/sd_bus_track_unrefp.3: man/sd_bus_track_new.3
|
||||
man/sd_bus_unref.3: man/sd_bus_new.3
|
||||
man/sd_bus_unrefp.3: man/sd_bus_new.3
|
||||
man/sd_event.3: man/sd_event_new.3
|
||||
@ -705,6 +749,8 @@ man/sd_event_unrefp.3: man/sd_event_new.3
|
||||
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_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
|
||||
@ -1011,6 +1057,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_NULL.html: man/sd-id128.html
|
||||
$(html-alias)
|
||||
|
||||
man/SD_INFO.html: man/sd-daemon.html
|
||||
$(html-alias)
|
||||
|
||||
@ -1071,6 +1120,9 @@ man/init.html: man/systemd.html
|
||||
man/journald.conf.d.html: man/journald.conf.html
|
||||
$(html-alias)
|
||||
|
||||
man/libnss_systemd.so.2.html: man/nss-systemd.html
|
||||
$(html-alias)
|
||||
|
||||
man/poweroff.html: man/halt.html
|
||||
$(html-alias)
|
||||
|
||||
@ -1293,6 +1345,57 @@ man/sd_bus_ref.html: man/sd_bus_new.html
|
||||
man/sd_bus_release_name.html: man/sd_bus_request_name.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_add_sender.html: man/sd_bus_track_add_name.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_contains.html: man/sd_bus_track_add_name.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_count.html: man/sd_bus_track_add_name.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_count_name.html: man/sd_bus_track_add_name.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_count_sender.html: man/sd_bus_track_add_name.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_first.html: man/sd_bus_track_add_name.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_get_bus.html: man/sd_bus_track_new.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_get_recursive.html: man/sd_bus_track_new.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_get_userdata.html: man/sd_bus_track_new.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_next.html: man/sd_bus_track_add_name.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_ref.html: man/sd_bus_track_new.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_remove_name.html: man/sd_bus_track_add_name.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_remove_sender.html: man/sd_bus_track_add_name.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_set_recursive.html: man/sd_bus_track_new.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_set_userdata.html: man/sd_bus_track_new.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_unref.html: man/sd_bus_track_new.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_track_unrefp.html: man/sd_bus_track_new.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_bus_unref.html: man/sd_bus_new.html
|
||||
$(html-alias)
|
||||
|
||||
@ -1425,6 +1528,12 @@ man/sd_id128_from_string.html: man/sd_id128_to_string.html
|
||||
man/sd_id128_get_boot.html: man/sd_id128_get_machine.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_id128_get_invocation.html: man/sd_id128_get_machine.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_id128_is_null.html: man/sd-id128.html
|
||||
$(html-alias)
|
||||
|
||||
man/sd_id128_t.html: man/sd-id128.html
|
||||
$(html-alias)
|
||||
|
||||
@ -2163,19 +2272,25 @@ endif
|
||||
if HAVE_MICROHTTPD
|
||||
MANPAGES += \
|
||||
man/journal-remote.conf.5 \
|
||||
man/journal-upload.conf.5 \
|
||||
man/systemd-journal-gatewayd.service.8 \
|
||||
man/systemd-journal-remote.8 \
|
||||
man/systemd-journal-upload.8
|
||||
MANPAGES_ALIAS += \
|
||||
man/journal-remote.conf.d.5 \
|
||||
man/journal-upload.conf.d.5 \
|
||||
man/systemd-journal-gatewayd.8 \
|
||||
man/systemd-journal-gatewayd.socket.8
|
||||
man/journal-remote.conf.d.5: man/journal-remote.conf.5
|
||||
man/journal-upload.conf.d.5: man/journal-upload.conf.5
|
||||
man/systemd-journal-gatewayd.8: man/systemd-journal-gatewayd.service.8
|
||||
man/systemd-journal-gatewayd.socket.8: man/systemd-journal-gatewayd.service.8
|
||||
man/journal-remote.conf.d.html: man/journal-remote.conf.html
|
||||
$(html-alias)
|
||||
|
||||
man/journal-upload.conf.d.html: man/journal-upload.conf.html
|
||||
$(html-alias)
|
||||
|
||||
man/systemd-journal-gatewayd.html: man/systemd-journal-gatewayd.service.html
|
||||
$(html-alias)
|
||||
|
||||
@ -2498,6 +2613,7 @@ EXTRA_DIST += \
|
||||
man/hostnamectl.xml \
|
||||
man/hwdb.xml \
|
||||
man/journal-remote.conf.xml \
|
||||
man/journal-upload.conf.xml \
|
||||
man/journalctl.xml \
|
||||
man/journald.conf.xml \
|
||||
man/kernel-command-line.xml \
|
||||
@ -2519,6 +2635,7 @@ EXTRA_DIST += \
|
||||
man/nss-myhostname.xml \
|
||||
man/nss-mymachines.xml \
|
||||
man/nss-resolve.xml \
|
||||
man/nss-systemd.xml \
|
||||
man/os-release.xml \
|
||||
man/pam_systemd.xml \
|
||||
man/resolved.conf.xml \
|
||||
@ -2551,6 +2668,8 @@ EXTRA_DIST += \
|
||||
man/sd_bus_path_encode.xml \
|
||||
man/sd_bus_process.xml \
|
||||
man/sd_bus_request_name.xml \
|
||||
man/sd_bus_track_add_name.xml \
|
||||
man/sd_bus_track_new.xml \
|
||||
man/sd_event_add_child.xml \
|
||||
man/sd_event_add_defer.xml \
|
||||
man/sd_event_add_io.xml \
|
||||
@ -2644,6 +2763,7 @@ EXTRA_DIST += \
|
||||
man/systemd-machine-id-setup.xml \
|
||||
man/systemd-machined.service.xml \
|
||||
man/systemd-modules-load.service.xml \
|
||||
man/systemd-mount.xml \
|
||||
man/systemd-networkd-wait-online.service.xml \
|
||||
man/systemd-networkd.service.xml \
|
||||
man/systemd-notify.xml \
|
||||
|
182
Makefile.am
182
Makefile.am
@ -42,9 +42,9 @@ LIBUDEV_CURRENT=7
|
||||
LIBUDEV_REVISION=5
|
||||
LIBUDEV_AGE=6
|
||||
|
||||
LIBSYSTEMD_CURRENT=16
|
||||
LIBSYSTEMD_CURRENT=17
|
||||
LIBSYSTEMD_REVISION=0
|
||||
LIBSYSTEMD_AGE=16
|
||||
LIBSYSTEMD_AGE=17
|
||||
|
||||
# Dirs of external packages
|
||||
dbuspolicydir=@dbuspolicydir@
|
||||
@ -157,6 +157,7 @@ nodist_zshcompletion_DATA = $(nodist_zshcompletion_data)
|
||||
endif
|
||||
udevlibexec_PROGRAMS =
|
||||
gperf_gperf_sources =
|
||||
rootlib_LTLIBRARIES =
|
||||
|
||||
in_files = $(filter %.in,$(EXTRA_DIST))
|
||||
in_in_files = $(filter %.in.in, $(in_files))
|
||||
@ -250,16 +251,6 @@ AM_CFLAGS = $(OUR_CFLAGS)
|
||||
AM_LDFLAGS = $(OUR_LDFLAGS)
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
define move-to-rootlibdir
|
||||
if test "$(libdir)" != "$(rootlibdir)"; then \
|
||||
$(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
|
||||
so_img_name=$$(readlink $(DESTDIR)$(libdir)/$$libname) && \
|
||||
rm -f $(DESTDIR)$(libdir)/$$libname && \
|
||||
$(LN_S) --relative -f $(DESTDIR)$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/$$libname && \
|
||||
mv $(DESTDIR)$(libdir)/$$libname.* $(DESTDIR)$(rootlibdir); \
|
||||
fi
|
||||
endef
|
||||
|
||||
INSTALL_DIRS =
|
||||
|
||||
SHUTDOWN_TARGET_WANTS =
|
||||
@ -384,6 +375,7 @@ bin_PROGRAMS = \
|
||||
systemd-delta \
|
||||
systemd-analyze \
|
||||
systemd-run \
|
||||
systemd-mount \
|
||||
systemd-stdio-bridge \
|
||||
systemd-path
|
||||
|
||||
@ -501,7 +493,6 @@ dist_systemunit_DATA = \
|
||||
units/swap.target \
|
||||
units/slices.target \
|
||||
units/system.slice \
|
||||
units/x-.slice \
|
||||
units/systemd-initctl.socket \
|
||||
units/syslog.socket \
|
||||
units/dev-hugepages.mount \
|
||||
@ -532,7 +523,6 @@ dist_systemunit_DATA_busnames += \
|
||||
nodist_systemunit_DATA = \
|
||||
units/getty@.service \
|
||||
units/serial-getty@.service \
|
||||
units/console-shell.service \
|
||||
units/console-getty.service \
|
||||
units/container-getty@.service \
|
||||
units/systemd-initctl.service \
|
||||
@ -573,7 +563,18 @@ endif
|
||||
dist_userunit_DATA = \
|
||||
units/user/basic.target \
|
||||
units/user/default.target \
|
||||
units/user/exit.target
|
||||
units/user/exit.target \
|
||||
units/user/graphical-session.target \
|
||||
units/user/graphical-session-pre.target \
|
||||
units/user/bluetooth.target \
|
||||
units/user/busnames.target \
|
||||
units/user/paths.target \
|
||||
units/user/printer.target \
|
||||
units/user/shutdown.target \
|
||||
units/user/smartcard.target \
|
||||
units/user/sockets.target \
|
||||
units/user/sound.target \
|
||||
units/user/timers.target
|
||||
|
||||
nodist_userunit_DATA = \
|
||||
units/user/systemd-exit.service
|
||||
@ -584,7 +585,6 @@ dist_systempreset_DATA = \
|
||||
EXTRA_DIST += \
|
||||
units/getty@.service.m4 \
|
||||
units/serial-getty@.service.m4 \
|
||||
units/console-shell.service.m4.in \
|
||||
units/console-getty.service.m4.in \
|
||||
units/container-getty@.service.m4.in \
|
||||
units/rescue.service.in \
|
||||
@ -632,16 +632,9 @@ EXTRA_DIST += \
|
||||
units/rc-local.service.in \
|
||||
units/halt-local.service.in
|
||||
|
||||
# automake is broken and can't handle files with a dash in front
|
||||
# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14728#8
|
||||
units-install-hook:
|
||||
mv $(DESTDIR)$(systemunitdir)/x-.slice $(DESTDIR)/$(systemunitdir)/-.slice
|
||||
|
||||
units-uninstall-hook:
|
||||
rm -f $(DESTDIR)/$(systemunitdir)/-.slice
|
||||
|
||||
INSTALL_DATA_HOOKS += units-install-hook
|
||||
UNINSTALL_DATA_HOOKS += units-uninstall-hook
|
||||
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 = \
|
||||
README \
|
||||
@ -1198,6 +1191,8 @@ libcore_la_SOURCES = \
|
||||
src/core/load-dropin.h \
|
||||
src/core/execute.c \
|
||||
src/core/execute.h \
|
||||
src/core/dynamic-user.c \
|
||||
src/core/dynamic-user.h \
|
||||
src/core/kill.c \
|
||||
src/core/kill.h \
|
||||
src/core/dbus.c \
|
||||
@ -1268,8 +1263,8 @@ libcore_la_SOURCES = \
|
||||
src/core/audit-fd.h \
|
||||
src/core/show-status.c \
|
||||
src/core/show-status.h \
|
||||
src/core/failure-action.c \
|
||||
src/core/failure-action.h
|
||||
src/core/emergency-action.c \
|
||||
src/core/emergency-action.h
|
||||
|
||||
nodist_libcore_la_SOURCES = \
|
||||
src/core/load-fragment-gperf.c \
|
||||
@ -1563,6 +1558,11 @@ tests += \
|
||||
test-acl-util
|
||||
endif
|
||||
|
||||
if HAVE_SECCOMP
|
||||
tests += \
|
||||
test-seccomp
|
||||
endif
|
||||
|
||||
EXTRA_DIST += \
|
||||
test/a.service \
|
||||
test/basic.target \
|
||||
@ -1620,15 +1620,36 @@ EXTRA_DIST += \
|
||||
test/test-execute/exec-passenvironment.service \
|
||||
test/test-execute/exec-group.service \
|
||||
test/test-execute/exec-group-nfsnobody.service \
|
||||
test/test-execute/exec-supplementarygroups.service \
|
||||
test/test-execute/exec-supplementarygroups-single-group.service \
|
||||
test/test-execute/exec-supplementarygroups-single-group-user.service \
|
||||
test/test-execute/exec-supplementarygroups-multiple-groups-default-group-user.service \
|
||||
test/test-execute/exec-supplementarygroups-multiple-groups-withgid.service \
|
||||
test/test-execute/exec-supplementarygroups-multiple-groups-withuid.service \
|
||||
test/test-execute/exec-dynamicuser-fixeduser.service \
|
||||
test/test-execute/exec-dynamicuser-fixeduser-one-supplementarygroup.service \
|
||||
test/test-execute/exec-dynamicuser-supplementarygroups.service \
|
||||
test/test-execute/exec-ignoresigpipe-no.service \
|
||||
test/test-execute/exec-ignoresigpipe-yes.service \
|
||||
test/test-execute/exec-personality-x86-64.service \
|
||||
test/test-execute/exec-personality-x86.service \
|
||||
test/test-execute/exec-personality-s390.service \
|
||||
test/test-execute/exec-personality-ppc64.service \
|
||||
test/test-execute/exec-personality-ppc64le.service \
|
||||
test/test-execute/exec-personality-aarch64.service \
|
||||
test/test-execute/exec-privatedevices-no.service \
|
||||
test/test-execute/exec-privatedevices-yes.service \
|
||||
test/test-execute/exec-privatedevices-no-capability-mknod.service \
|
||||
test/test-execute/exec-privatedevices-yes-capability-mknod.service \
|
||||
test/test-execute/exec-protectkernelmodules-no-capabilities.service \
|
||||
test/test-execute/exec-protectkernelmodules-yes-capabilities.service \
|
||||
test/test-execute/exec-protectkernelmodules-yes-mount-propagation.service \
|
||||
test/test-execute/exec-privatetmp-no.service \
|
||||
test/test-execute/exec-privatetmp-yes.service \
|
||||
test/test-execute/exec-readonlypaths.service \
|
||||
test/test-execute/exec-readonlypaths-mount-propagation.service \
|
||||
test/test-execute/exec-readwritepaths-mount-propagation.service \
|
||||
test/test-execute/exec-inaccessiblepaths-mount-propagation.service \
|
||||
test/test-execute/exec-spec-interpolation.service \
|
||||
test/test-execute/exec-systemcallerrornumber.service \
|
||||
test/test-execute/exec-systemcallfilter-failing2.service \
|
||||
@ -2013,6 +2034,12 @@ test_acl_util_SOURCES = \
|
||||
test_acl_util_LDADD = \
|
||||
libsystemd-shared.la
|
||||
|
||||
test_seccomp_SOURCES = \
|
||||
src/test/test-seccomp.c
|
||||
|
||||
test_seccomp_LDADD = \
|
||||
libsystemd-shared.la
|
||||
|
||||
test_namespace_LDADD = \
|
||||
libcore.la
|
||||
|
||||
@ -3125,6 +3152,13 @@ systemd_run_SOURCES = \
|
||||
systemd_run_LDADD = \
|
||||
libsystemd-shared.la
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
systemd_mount_SOURCES = \
|
||||
src/mount/mount-tool.c
|
||||
|
||||
systemd_mount_LDADD = \
|
||||
libsystemd-shared.la
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
systemd_stdio_bridge_SOURCES = \
|
||||
src/stdio-bridge/stdio-bridge.c
|
||||
@ -3255,15 +3289,6 @@ libsystemd_la_LIBADD = \
|
||||
libbasic.la \
|
||||
libsystemd-journal-internal.la
|
||||
|
||||
libsystemd-install-hook:
|
||||
libname=libsystemd.so && $(move-to-rootlibdir)
|
||||
|
||||
libsystemd-uninstall-hook:
|
||||
rm -f $(DESTDIR)$(rootlibdir)/libsystemd.so*
|
||||
|
||||
INSTALL_EXEC_HOOKS += libsystemd-install-hook
|
||||
UNINSTALL_EXEC_HOOKS += libsystemd-uninstall-hook
|
||||
|
||||
pkgconfiglib_DATA += \
|
||||
src/libsystemd/libsystemd.pc
|
||||
|
||||
@ -3276,7 +3301,7 @@ pkginclude_HEADERS += \
|
||||
src/systemd/sd-id128.h \
|
||||
src/systemd/sd-daemon.h
|
||||
|
||||
lib_LTLIBRARIES += \
|
||||
rootlib_LTLIBRARIES += \
|
||||
libsystemd.la
|
||||
|
||||
tests += \
|
||||
@ -3295,6 +3320,7 @@ tests += \
|
||||
test-bus-error \
|
||||
test-bus-creds \
|
||||
test-bus-gvariant \
|
||||
test-bus-track \
|
||||
test-event \
|
||||
test-netlink \
|
||||
test-local-addresses \
|
||||
@ -3338,6 +3364,16 @@ test_bus_cleanup_CFLAGS = \
|
||||
test_bus_cleanup_LDADD = \
|
||||
libsystemd-shared.la
|
||||
|
||||
test_bus_track_SOURCES = \
|
||||
src/libsystemd/sd-bus/test-bus-track.c
|
||||
|
||||
test_bus_track_CFLAGS = \
|
||||
$(AM_CFLAGS) \
|
||||
$(SECCOMP_CFLAGS)
|
||||
|
||||
test_bus_track_LDADD = \
|
||||
libsystemd-shared.la
|
||||
|
||||
test_bus_server_SOURCES = \
|
||||
src/libsystemd/sd-bus/test-bus-server.c
|
||||
|
||||
@ -3597,7 +3633,7 @@ tests += \
|
||||
include_HEADERS += \
|
||||
src/libudev/libudev.h
|
||||
|
||||
lib_LTLIBRARIES += \
|
||||
rootlib_LTLIBRARIES += \
|
||||
libudev.la
|
||||
|
||||
libudev_la_SOURCES =\
|
||||
@ -3629,16 +3665,6 @@ pkgconfiglib_DATA += \
|
||||
EXTRA_DIST += \
|
||||
src/libudev/libudev.pc.in
|
||||
|
||||
# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
|
||||
libudev-install-hook:
|
||||
libname=libudev.so && $(move-to-rootlibdir)
|
||||
|
||||
libudev-uninstall-hook:
|
||||
rm -f $(DESTDIR)$(rootlibdir)/libudev.so*
|
||||
|
||||
INSTALL_EXEC_HOOKS += libudev-install-hook
|
||||
UNINSTALL_EXEC_HOOKS += libudev-uninstall-hook
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
noinst_LTLIBRARIES += \
|
||||
libudev-internal.la
|
||||
@ -3865,7 +3891,8 @@ TESTS += \
|
||||
|
||||
if HAVE_PYTHON
|
||||
TESTS += \
|
||||
test/rule-syntax-check.py
|
||||
test/rule-syntax-check.py \
|
||||
hwdb/parse_hwdb.py
|
||||
|
||||
if HAVE_SYSV_COMPAT
|
||||
TESTS += \
|
||||
@ -3917,7 +3944,8 @@ EXTRA_DIST += \
|
||||
test/udev-test.pl \
|
||||
test/rule-syntax-check.py \
|
||||
test/sysv-generator-test.py \
|
||||
test/mocks/fsck
|
||||
test/mocks/fsck \
|
||||
hwdb/parse_hwdb.py
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
ata_id_SOURCES = \
|
||||
@ -4629,9 +4657,6 @@ nodist_udevrules_DATA += \
|
||||
|
||||
nodist_systemunit_DATA += \
|
||||
units/systemd-vconsole-setup.service
|
||||
|
||||
SYSINIT_TARGET_WANTS += \
|
||||
systemd-vconsole-setup.service
|
||||
endif
|
||||
|
||||
EXTRA_DIST += \
|
||||
@ -5000,6 +5025,27 @@ test_nss_LDADD = \
|
||||
manual_tests += \
|
||||
test-nss
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
libnss_systemd_la_SOURCES = \
|
||||
src/nss-systemd/nss-systemd.sym \
|
||||
src/nss-systemd/nss-systemd.c
|
||||
|
||||
libnss_systemd_la_LDFLAGS = \
|
||||
$(AM_LDFLAGS) \
|
||||
-module \
|
||||
-export-dynamic \
|
||||
-avoid-version \
|
||||
-shared \
|
||||
-shrext .so.2 \
|
||||
-Wl,--version-script=$(top_srcdir)/src/nss-systemd/nss-systemd.sym
|
||||
|
||||
libnss_systemd_la_LIBADD = \
|
||||
libsystemd-internal.la \
|
||||
libbasic.la
|
||||
|
||||
rootlib_LTLIBRARIES += \
|
||||
libnss_systemd.la
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
if HAVE_MYHOSTNAME
|
||||
libnss_myhostname_la_SOURCES = \
|
||||
@ -5019,7 +5065,7 @@ libnss_myhostname_la_LIBADD = \
|
||||
libsystemd-internal.la \
|
||||
libbasic.la
|
||||
|
||||
lib_LTLIBRARIES += \
|
||||
rootlib_LTLIBRARIES += \
|
||||
libnss_myhostname.la
|
||||
endif
|
||||
|
||||
@ -5118,7 +5164,7 @@ libnss_mymachines_la_LIBADD = \
|
||||
libsystemd-internal.la \
|
||||
libbasic.la
|
||||
|
||||
lib_LTLIBRARIES += \
|
||||
rootlib_LTLIBRARIES += \
|
||||
libnss_mymachines.la
|
||||
|
||||
endif
|
||||
@ -5417,7 +5463,7 @@ libnss_resolve_la_LIBADD = \
|
||||
libbasic.la \
|
||||
-ldl
|
||||
|
||||
lib_LTLIBRARIES += \
|
||||
rootlib_LTLIBRARIES += \
|
||||
libnss_resolve.la
|
||||
|
||||
systemd_resolve_SOURCES = \
|
||||
@ -5591,6 +5637,8 @@ libnetworkd_core_la_SOURCES = \
|
||||
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-dhcp4.c \
|
||||
@ -5865,8 +5913,10 @@ pam_systemd_la_LIBADD = \
|
||||
pamlib_LTLIBRARIES = \
|
||||
pam_systemd.la
|
||||
|
||||
if ENABLE_PAM_CONFIG
|
||||
dist_pamconf_DATA = \
|
||||
src/login/systemd-user
|
||||
endif
|
||||
|
||||
EXTRA_DIST += \
|
||||
src/login/systemd-user.m4
|
||||
@ -5988,6 +6038,9 @@ EXTRA_DIST += \
|
||||
test/TEST-11-ISSUE-3166/test.sh \
|
||||
test/TEST-12-ISSUE-3171/Makefile \
|
||||
test/TEST-12-ISSUE-3171/test.sh \
|
||||
test/TEST-13-NSPAWN-SMOKE/Makefile \
|
||||
test/TEST-13-NSPAWN-SMOKE/create-busybox-container \
|
||||
test/TEST-13-NSPAWN-SMOKE/test.sh \
|
||||
test/test-functions
|
||||
|
||||
EXTRA_DIST += \
|
||||
@ -6265,19 +6318,6 @@ SYSTEM_UNIT_ALIASES += \
|
||||
reboot.target ctrl-alt-del.target \
|
||||
getty@.service autovt@.service
|
||||
|
||||
USER_UNIT_ALIASES += \
|
||||
$(systemunitdir)/shutdown.target shutdown.target \
|
||||
$(systemunitdir)/sockets.target sockets.target \
|
||||
$(systemunitdir)/timers.target timers.target \
|
||||
$(systemunitdir)/paths.target paths.target \
|
||||
$(systemunitdir)/bluetooth.target bluetooth.target \
|
||||
$(systemunitdir)/printer.target printer.target \
|
||||
$(systemunitdir)/sound.target sound.target \
|
||||
$(systemunitdir)/smartcard.target smartcard.target
|
||||
|
||||
USER_UNIT_ALIASES += \
|
||||
$(systemunitdir)/busnames.target busnames.target
|
||||
|
||||
GENERAL_ALIASES += \
|
||||
$(systemunitdir)/remote-fs.target $(pkgsysconfdir)/system/multi-user.target.wants/remote-fs.target \
|
||||
$(systemunitdir)/getty@.service $(pkgsysconfdir)/system/getty.target.wants/getty@tty1.service \
|
||||
@ -6530,7 +6570,7 @@ print-%:
|
||||
@echo $($*)
|
||||
|
||||
git-contrib:
|
||||
@git shortlog -s `git describe --abbrev=0`.. | cut -c8- | awk '{ print $$0 "," }' | sort -u
|
||||
@git shortlog -s `git describe --abbrev=0`.. | cut -c8- | sed 's/ / /g' | awk '{ print $$0 "," }' | sort -u
|
||||
|
||||
EXTRA_DIST += \
|
||||
tools/gdb-sd_dump_hashmaps.py
|
||||
|
396
NEWS
396
NEWS
@ -1,5 +1,354 @@
|
||||
systemd System and Service Manager
|
||||
|
||||
CHANGES WITH 232:
|
||||
|
||||
* The new RemoveIPC= option can be used to remove IPC objects owned by
|
||||
the user or group of a service when that service exits.
|
||||
|
||||
* The new ProtectKernelModules= option can be used to disable explicit
|
||||
load and unload operations of kernel modules by a service. In
|
||||
addition access to /usr/lib/modules is removed if this option is set.
|
||||
|
||||
* ProtectSystem= option gained a new value "strict", which causes the
|
||||
whole file system tree with the exception of /dev, /proc, and /sys,
|
||||
to be remounted read-only for a service.
|
||||
|
||||
* The new ProtectKernelTunables= option can be used to disable
|
||||
modification of configuration files in /sys and /proc by a service.
|
||||
Various directories and files are remounted read-only, so access is
|
||||
restricted even if the file permissions would allow it.
|
||||
|
||||
* The new ProtectControlGroups= option can be used to disable write
|
||||
access by a service to /sys/fs/cgroup.
|
||||
|
||||
* Various systemd services have been hardened with
|
||||
ProtectKernelTunables=yes, ProtectControlGroups=yes,
|
||||
RestrictAddressFamilies=.
|
||||
|
||||
* Support for dynamically creating users for the lifetime of a service
|
||||
has been added. If DynamicUser=yes is specified, user and group IDs
|
||||
will be allocated from the range 61184..65519 for the lifetime of the
|
||||
service. They can be resolved using the new nss-systemd.so NSS
|
||||
module. The module must be enabled in /etc/nsswitch.conf. Services
|
||||
started in this way have PrivateTmp= and RemoveIPC= enabled, so that
|
||||
any resources allocated by the service will be cleaned up when the
|
||||
service exits. They also have ProtectHome=read-only and
|
||||
ProtectSystem=strict enabled, so they are not able to make any
|
||||
permanent modifications to the system.
|
||||
|
||||
* The nss-systemd module also always resolves root and nobody, making
|
||||
it possible to have no /etc/passwd or /etc/group files in minimal
|
||||
container or chroot environments.
|
||||
|
||||
* Services may be started with their own user namespace using the new
|
||||
boolean PrivateUsers= option. Only root, nobody, and the uid/gid
|
||||
under which the service is running are mapped. All other users are
|
||||
mapped to nobody.
|
||||
|
||||
* Support for the cgroup namespace has been added to systemd-nspawn. If
|
||||
supported by kernel, the container system started by systemd-nspawn
|
||||
will have its own view of the cgroup hierarchy. This new behaviour
|
||||
can be disabled using $SYSTEMD_NSPAWN_USE_CGNS environment variable.
|
||||
|
||||
* The new MemorySwapMax= option can be used to limit the maximum swap
|
||||
usage under the unified cgroup hierarchy.
|
||||
|
||||
* Support for the CPU controller in the unified cgroup hierarchy has
|
||||
been added, via the CPUWeight=, CPUStartupWeight=, CPUAccounting=
|
||||
options. This controller requires out-of-tree patches for the kernel
|
||||
and the support is provisional.
|
||||
|
||||
* Mount and automount units may now be created transiently
|
||||
(i.e. dynamically at runtime via the bus API, instead of requiring
|
||||
unit files in the file system).
|
||||
|
||||
* systemd-mount is a new tool which may mount file systems – much like
|
||||
mount(8), optionally pulling in additional dependencies through
|
||||
transient .mount and .automount units. For example, this tool
|
||||
automatically runs fsck on a backing block device before mounting,
|
||||
and allows the automount logic to be used dynamically from the
|
||||
command line for establishing mount points. This tool is particularly
|
||||
useful when dealing with removable media, as it will ensure fsck is
|
||||
run – if necessary – before the first access and that the file system
|
||||
is quickly unmounted after each access by utilizing the automount
|
||||
logic. This maximizes the chance that the file system on the
|
||||
removable media stays in a clean state, and if it isn't in a clean
|
||||
state is fixed automatically.
|
||||
|
||||
* LazyUnmount=yes option for mount units has been added to expose the
|
||||
umount --lazy option. Similarly, ForceUnmount=yes exposes the --force
|
||||
option.
|
||||
|
||||
* /efi will be used as the mount point of the EFI boot partition, if
|
||||
the directory is present, and the mount point was not configured
|
||||
through other means (e.g. fstab). If /efi directory does not exist,
|
||||
/boot will be used as before. This makes it easier to automatically
|
||||
mount the EFI partition on systems where /boot is used for something
|
||||
else.
|
||||
|
||||
* When operating on GPT disk images for containers, systemd-nspawn will
|
||||
now mount the ESP to /boot or /efi according to the same rules as PID
|
||||
1 running on a host. This allows tools like "bootctl" to operate
|
||||
correctly within such containers, in order to make container images
|
||||
bootable on physical systems.
|
||||
|
||||
* disk/by-id and disk/by-path symlinks are now created for NVMe drives.
|
||||
|
||||
* Two new user session targets have been added to support running
|
||||
graphical sessions under the systemd --user instance:
|
||||
graphical-session.target and graphical-session-pre.target. See
|
||||
systemd.special(7) for a description of how those targets should be
|
||||
used.
|
||||
|
||||
* The vconsole initialization code has been significantly reworked to
|
||||
use KD_FONT_OP_GET/SET ioctls instead of KD_FONT_OP_COPY and better
|
||||
support unicode keymaps. Font and keymap configuration will now be
|
||||
copied to all allocated virtual consoles.
|
||||
|
||||
* FreeBSD's bhyve virtualization is now detected.
|
||||
|
||||
* Information recorded in the journal for core dumps now includes the
|
||||
contents of /proc/mountinfo and the command line of the process at
|
||||
the top of the process hierarchy (which is usually the init process
|
||||
of the container).
|
||||
|
||||
* systemd-journal-gatewayd learned the --directory= option to serve
|
||||
files from the specified location.
|
||||
|
||||
* journalctl --root=… can be used to peruse the journal in the
|
||||
/var/log/ directories inside of a container tree. This is similar to
|
||||
the existing --machine= option, but does not require the container to
|
||||
be active.
|
||||
|
||||
* The hardware database has been extended to support
|
||||
ID_INPUT_TRACKBALL, used in addition to ID_INPUT_MOUSE to identify
|
||||
trackball devices.
|
||||
|
||||
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL hwdb property has been added to
|
||||
specify the click rate for mice which include a horizontal wheel with
|
||||
a click rate that is different than the one for the vertical wheel.
|
||||
|
||||
* systemd-run gained a new --wait option that makes service execution
|
||||
synchronous. (Specifically, the command will not return until the
|
||||
specified service binary exited.)
|
||||
|
||||
* systemctl gained a new --wait option that causes the start command to
|
||||
wait until the units being started have terminated again.
|
||||
|
||||
* A new journal output mode "short-full" has been added which displays
|
||||
timestamps with abbreviated English day names and adds a timezone
|
||||
suffix. Those timestamps include more information than the default
|
||||
"short" output mode, and can be passed directly to journalctl's
|
||||
--since= and --until= options.
|
||||
|
||||
* /etc/resolv.conf will be bind-mounted into containers started by
|
||||
systemd-nspawn, if possible, so any changes to resolv.conf contents
|
||||
are automatically propagated to the container.
|
||||
|
||||
* The number of instances for socket-activated services originating
|
||||
from a single IP address can be limited with
|
||||
MaxConnectionsPerSource=, extending the existing setting of
|
||||
MaxConnections=.
|
||||
|
||||
* systemd-networkd gained support for vcan ("Virtual CAN") interface
|
||||
configuration.
|
||||
|
||||
* .netdev and .network configuration can now be extended through
|
||||
drop-ins.
|
||||
|
||||
* UDP Segmentation Offload, TCP Segmentation Offload, Generic
|
||||
Segmentation Offload, Generic Receive Offload, Large Receive Offload
|
||||
can be enabled and disabled using the new UDPSegmentationOffload=,
|
||||
TCPSegmentationOffload=, GenericSegmentationOffload=,
|
||||
GenericReceiveOffload=, LargeReceiveOffload= options in the
|
||||
[Link] section of .link files.
|
||||
|
||||
* The Spanning Tree Protocol, Priority, Aging Time, and the Default
|
||||
Port VLAN ID can be configured for bridge devices using the new STP=,
|
||||
Priority=, AgeingTimeSec=, and DefaultPVID= settings in the [Bridge]
|
||||
section of .netdev files.
|
||||
|
||||
* The route table to which routes received over DHCP or RA should be
|
||||
added can be configured with the new RouteTable= option in the [DHCP]
|
||||
and [IPv6AcceptRA] sections of .network files.
|
||||
|
||||
* The Address Resolution Protocol can be disabled on links managed by
|
||||
systemd-networkd using the ARP=no setting in the [Link] section of
|
||||
.network files.
|
||||
|
||||
* New environment variables $SERVICE_RESULT, $EXIT_CODE and
|
||||
$EXIT_STATUS are set for ExecStop= and ExecStopPost= commands, and
|
||||
encode information about the result and exit codes of the current
|
||||
service runtime cycle.
|
||||
|
||||
* systemd-sysctl will now configure kernel parameters in the order
|
||||
they occur in the configuration files. This matches what sysctl
|
||||
has been traditionally doing.
|
||||
|
||||
* kernel-install "plugins" that are executed to perform various
|
||||
tasks after a new kernel is added and before an old one is removed
|
||||
can now return a special value to terminate the procedure and
|
||||
prevent any later plugins from running.
|
||||
|
||||
* Journald's SplitMode=login setting has been deprecated. It has been
|
||||
removed from documentation, and its use is discouraged. In a future
|
||||
release it will be completely removed, and made equivalent to current
|
||||
default of SplitMode=uid.
|
||||
|
||||
* Storage=both option setting in /etc/systemd/coredump.conf has been
|
||||
removed. With fast LZ4 compression storing the core dump twice is not
|
||||
useful.
|
||||
|
||||
* The --share-system systemd-nspawn option has been replaced with an
|
||||
(undocumented) variable $SYSTEMD_NSPAWN_SHARE_SYSTEM, but the use of
|
||||
this functionality is discouraged. In addition the variables
|
||||
$SYSTEMD_NSPAWN_SHARE_NS_IPC, $SYSTEMD_NSPAWN_SHARE_NS_PID,
|
||||
$SYSTEMD_NSPAWN_SHARE_NS_UTS may be used to control the unsharing of
|
||||
individual namespaces.
|
||||
|
||||
* "machinectl list" now shows the IP address of running containers in
|
||||
the output, as well as OS release information.
|
||||
|
||||
* "loginctl list" now shows the TTY of each session in the output.
|
||||
|
||||
* sd-bus gained new API calls sd_bus_track_set_recursive(),
|
||||
sd_bus_track_get_recursive(), sd_bus_track_count_name(),
|
||||
sd_bus_track_count_sender(). They permit usage of sd_bus_track peer
|
||||
tracking objects in a "recursive" mode, where a single client can be
|
||||
counted multiple times, if it takes multiple references.
|
||||
|
||||
* sd-bus gained new API calls sd_bus_set_exit_on_disconnect() and
|
||||
sd_bus_get_exit_on_disconnect(). They may be used to to make a
|
||||
process using sd-bus automatically exit if the bus connection is
|
||||
severed.
|
||||
|
||||
* Bus clients of the service manager may now "pin" loaded units into
|
||||
memory, by taking an explicit reference on them. This is useful to
|
||||
ensure the client can retrieve runtime data about the service even
|
||||
after the service completed execution. Taking such a reference is
|
||||
available only for privileged clients and should be helpful to watch
|
||||
running services in a race-free manner, and in particular collect
|
||||
information about exit statuses and results.
|
||||
|
||||
* The nss-resolve module has been changed to strictly return UNAVAIL
|
||||
when communication via D-Bus with resolved failed, and NOTFOUND when
|
||||
a lookup completed but was negative. This means it is now possible to
|
||||
neatly configure fallbacks using nsswitch.conf result checking
|
||||
expressions. Taking benefit of this, the new recommended
|
||||
configuration line for the "hosts" entry in /etc/nsswitch.conf is:
|
||||
|
||||
hosts: files mymachines resolve [!UNAVAIL=return] dns myhostname
|
||||
|
||||
* A new setting CtrlAltDelBurstAction= has been added to
|
||||
/etc/systemd/system.conf which may be used to configure the precise
|
||||
behaviour if the user on the console presses Ctrl-Alt-Del more often
|
||||
than 7 times in 2s. Previously this would unconditionally result in
|
||||
an expedited, immediate reboot. With this new setting the precise
|
||||
operation may be configured in more detail, and also turned off
|
||||
entirely.
|
||||
|
||||
* In .netdev files two new settings RemoteChecksumTx= and
|
||||
RemoteChecksumRx= are now understood that permit configuring the
|
||||
remote checksumming logic for VXLAN networks.
|
||||
|
||||
* The service manager learnt a new "invocation ID" concept for invoked
|
||||
services. Each runtime cycle of a service will get a new invocation
|
||||
ID (a 128bit random UUID) assigned that identifies the current
|
||||
run of the service uniquely and globally. A new invocation ID
|
||||
is generated each time a service starts up. The journal will store
|
||||
the invocation ID of a service along with any logged messages, thus
|
||||
making the invocation ID useful for matching the online runtime of a
|
||||
service with the offline log data it generated in a safe way without
|
||||
relying on synchronized timestamps. In many ways this new service
|
||||
invocation ID concept is similar to the kernel's boot ID concept that
|
||||
uniquely and globally identifies the runtime of each boot. The
|
||||
invocation ID of a service is passed to the service itself via an
|
||||
environment variable ($INVOCATION_ID). A new bus call
|
||||
GetUnitByInvocationID() has been added that is similar to GetUnit()
|
||||
but instead of retrieving the bus path for a unit by its name
|
||||
retrieves it by its invocation ID. The returned path is valid only as
|
||||
long as the passed invocation ID is current.
|
||||
|
||||
* systemd-resolved gained a new "DNSStubListener" setting in
|
||||
resolved.conf. It either takes a boolean value or the special values
|
||||
"udp" and "tcp", and configures whether to enable the stub DNS
|
||||
listener on 127.0.0.53:53.
|
||||
|
||||
* IP addresses configured via networkd may now carry additional
|
||||
configuration settings supported by the kernel. New options include:
|
||||
HomeAddress=, DuplicateAddressDetection=, ManageTemporaryAddress=,
|
||||
PrefixRoute=, AutoJoin=.
|
||||
|
||||
* The PAM configuration fragment file for "user@.service" shipped with
|
||||
systemd (i.e. the --user instance of systemd) has been stripped to
|
||||
the minimum necessary to make the system boot. Previously, it
|
||||
contained Fedora-specific stanzas that did not apply to other
|
||||
distributions. It is expected that downstream distributions add
|
||||
additional configuration lines, matching their needs to this file,
|
||||
using it only as rough template of what systemd itself needs. Note
|
||||
that this reduced fragment does not even include an invocation of
|
||||
pam_limits which most distributions probably want to add, even though
|
||||
systemd itself does not need it. (There's also the new build time
|
||||
option --with-pamconfdir=no to disable installation of the PAM
|
||||
fragment entirely.)
|
||||
|
||||
* If PrivateDevices=yes is set for a service the CAP_SYS_RAWIO
|
||||
capability is now also dropped from its set (in addition to
|
||||
CAP_SYS_MKNOD as before).
|
||||
|
||||
* In service unit files it is now possible to connect a specific named
|
||||
file descriptor with stdin/stdout/stdout of an executed service. The
|
||||
name may be specified in matching .socket units using the
|
||||
FileDescriptorName= setting.
|
||||
|
||||
* A number of journal settings may now be configured on the kernel
|
||||
command line. Specifically, the following options are now understood:
|
||||
systemd.journald.max_level_console=,
|
||||
systemd.journald.max_level_store=,
|
||||
systemd.journald.max_level_syslog=, systemd.journald.max_level_kmsg=,
|
||||
systemd.journald.max_level_wall=.
|
||||
|
||||
* "systemctl is-enabled --full" will now show by which symlinks a unit
|
||||
file is enabled in the unit dependency tree.
|
||||
|
||||
* Support for VeraCrypt encrypted partitions has been added to the
|
||||
"cryptsetup" logic and /etc/crypttab.
|
||||
|
||||
* systemd-detect-virt gained support for a new --private-users switch
|
||||
that checks whether the invoking processes are running inside a user
|
||||
namespace. Similar, a new special value "private-users" for the
|
||||
existing ConditionVirtualization= setting has been added, permitting
|
||||
skipping of specific units in user namespace environments.
|
||||
|
||||
Contributions from: Alban Crequy, Alexander Kuleshov, Alfie John,
|
||||
Andreas Henriksson, Andrew Jeddeloh, Balázs Úr, Bart Rulon, Benjamin
|
||||
Richter, Ben Gamari, Ben Harris, Brian J. Murrell, Christian Brauner,
|
||||
Christian Rebischke, Clinton Roy, Colin Walters, Cristian Rodríguez,
|
||||
Daniel Hahler, Daniel Mack, Daniel Maixner, Daniel Rusek, Dan Dedrick,
|
||||
Davide Cavalca, David Herrmann, David Michael, Dennis Wassenberg,
|
||||
Djalal Harouni, Dongsu Park, Douglas Christman, Elias Probst, Eric
|
||||
Cook, Erik Karlsson, Evgeny Vereshchagin, Felipe Sateler, Felix Zhang,
|
||||
Franck Bui, George Hilliard, Giuseppe Scrivano, HATAYAMA Daisuke,
|
||||
Heikki Kemppainen, Hendrik Brueckner, hi117, Ismo Puustinen, Ivan
|
||||
Shapovalov, Jakub Filak, Jakub Wilk, Jan Synacek, Jason Kölker,
|
||||
Jean-Sébastien Bour, Jiří Pírko, Jonathan Boulle, Jorge Niedbalski,
|
||||
Keith Busch, kristbaum, Kyle Russell, Lans Zhang, Lennart Poettering,
|
||||
Leonardo Brondani Schenkel, Lucas Werkmeister, Luca Bruno, Lukáš
|
||||
Nykrýn, Maciek Borzecki, Mantas Mikulėnas, Marc-Antoine Perennou,
|
||||
Marcel Holtmann, Marcos Mello, Martin Ejdestig, Martin Pitt, Matej
|
||||
Habrnal, Maxime de Roucy, Michael Biebl, Michael Chapman, Michael Hoy,
|
||||
Michael Olbrich, Michael Pope, Michal Sekletar, Michal Soltys, Mike
|
||||
Gilbert, Nick Owens, Patrik Flykt, Paweł Szewczyk, Peter Hutterer,
|
||||
Piotr Drąg, Reid Price, Richard W.M. Jones, Roman Stingler, Ronny
|
||||
Chevalier, Seraphime Kirkovski, Stefan Schweter, Steve Muir, Susant
|
||||
Sahani, Tejun Heo, Thomas Blume, Thomas H. P. Andersen, Tiago Levit,
|
||||
Tobias Jungel, Tomáš Janoušek, Topi Miettinen, Torstein Husebø, Umut
|
||||
Tezduyar Lindskog, Vito Caputo, WaLyong Cho, Wilhelm Schuster, Yann
|
||||
E. MORIN, Yi EungJun, Yuki Inoguchi, Yu Watanabe, Zbigniew
|
||||
Jędrzejewski-Szmek, Zeal Jagannatha
|
||||
|
||||
— Santa Fe, 2016-11-03
|
||||
|
||||
CHANGES WITH 231:
|
||||
|
||||
* In service units the various ExecXYZ= settings have been extended
|
||||
@ -176,7 +525,7 @@ CHANGES WITH 231:
|
||||
file. It can be used in lieu of %systemd_requires in packages which
|
||||
don't use any systemd functionality and are intended to be installed
|
||||
in minimal containers without systemd present. This macro provides
|
||||
ordering dependecies to ensure that if the package is installed in
|
||||
ordering dependencies to ensure that if the package is installed in
|
||||
the same rpm transaction as systemd, systemd will be installed before
|
||||
the scriptlets for the package are executed, allowing unit presets
|
||||
to be handled.
|
||||
@ -211,11 +560,14 @@ CHANGES WITH 231:
|
||||
"mkosi" is invoked in the build tree a new raw OS image is generated
|
||||
incorporating the systemd sources currently being worked on and a
|
||||
clean, fresh distribution installation. The generated OS image may be
|
||||
booted up with "systemd-nspawn -b -i", qemu-kvm or on any physcial
|
||||
booted up with "systemd-nspawn -b -i", qemu-kvm or on any physical
|
||||
UEFI PC. This functionality is particularly useful to easily test
|
||||
local changes made to systemd in a pristine, defined environment. See
|
||||
HACKING for details.
|
||||
|
||||
* configure learned the --with-support-url= option to specify the
|
||||
distribution's bugtracker.
|
||||
|
||||
Contributions from: Alban Crequy, Alessandro Puccetti, Alessio Igor
|
||||
Bogani, Alexander Kuleshov, Alexander Kurtz, Alex Gaynor, Andika
|
||||
Triwidada, Andreas Pokorny, Andreas Rammhold, Andrew Jeddeloh, Ansgar
|
||||
@ -385,13 +737,13 @@ CHANGES WITH 230:
|
||||
of the owners and the ACLs of all files and directories in a
|
||||
container tree to match the UID/GID user namespacing range selected
|
||||
for the container invocation. This mode is enabled via the new
|
||||
--private-user-chown switch. It also gained support for automatically
|
||||
choosing a free, previously unused UID/GID range when starting a
|
||||
container, via the new --private-users=pick setting (which implies
|
||||
--private-user-chown). Together, these options for the first time
|
||||
make user namespacing for nspawn containers fully automatic and thus
|
||||
deployable. The systemd-nspawn@.service template unit file has been
|
||||
changed to use this functionality by default.
|
||||
--private-users-chown switch. It also gained support for
|
||||
automatically choosing a free, previously unused UID/GID range when
|
||||
starting a container, via the new --private-users=pick setting (which
|
||||
implies --private-users-chown). Together, these options for the first
|
||||
time make user namespacing for nspawn containers fully automatic and
|
||||
thus deployable. The systemd-nspawn@.service template unit file has
|
||||
been changed to use this functionality by default.
|
||||
|
||||
* systemd-nspawn gained a new --network-zone= switch, that allows
|
||||
creating ad-hoc virtual Ethernet links between multiple containers,
|
||||
@ -871,7 +1223,7 @@ CHANGES WITH 228:
|
||||
--user instance of systemd these specifiers where correctly
|
||||
resolved, but hardly made any sense, since the user instance
|
||||
lacks privileges to do user switches anyway, and User= is
|
||||
hence useless. Morever, even in the --user instance of
|
||||
hence useless. Moreover, even in the --user instance of
|
||||
systemd behaviour was awkward as it would only take settings
|
||||
from User= assignment placed before the specifier into
|
||||
account. In order to unify and simplify the logic around
|
||||
@ -1007,7 +1359,7 @@ CHANGES WITH 227:
|
||||
* The RuntimeDirectory= setting now understands unit
|
||||
specifiers like %i or %f.
|
||||
|
||||
* A new (still internal) libary API sd-ipv4acd has been added,
|
||||
* A new (still internal) library API sd-ipv4acd has been added,
|
||||
that implements address conflict detection for IPv4. It's
|
||||
based on code from sd-ipv4ll, and will be useful for
|
||||
detecting DHCP address conflicts.
|
||||
@ -1576,7 +1928,7 @@ CHANGES WITH 220:
|
||||
|
||||
* systemd-nspawn gained a new --property= setting to set unit
|
||||
properties for the container scope. This is useful for
|
||||
setting resource parameters (e.g "CPUShares=500") on
|
||||
setting resource parameters (e.g. "CPUShares=500") on
|
||||
containers started from the command line.
|
||||
|
||||
* systemd-nspawn gained a new --private-users= switch to make
|
||||
@ -1874,7 +2226,7 @@ CHANGES WITH 219:
|
||||
files.
|
||||
|
||||
* systemd now provides a way to store file descriptors
|
||||
per-service in PID 1.This is useful for daemons to ensure
|
||||
per-service in PID 1. This is useful for daemons to ensure
|
||||
that fds they require are not lost during a daemon
|
||||
restart. The fds are passed to the daemon on the next
|
||||
invocation in the same way socket activation fds are
|
||||
@ -2922,7 +3274,7 @@ CHANGES WITH 214:
|
||||
time, the extended attribute calls have moved to glibc, and
|
||||
libattr is thus unnecessary.
|
||||
|
||||
* Virtualization detection works without priviliges now. This
|
||||
* Virtualization detection works without privileges now. This
|
||||
means the systemd-detect-virt binary no longer requires
|
||||
CAP_SYS_PTRACE file capabilities, and our daemons can run
|
||||
with fewer privileges.
|
||||
@ -3646,7 +3998,7 @@ CHANGES WITH 209:
|
||||
/usr/lib/net/links/99-default.link. Old
|
||||
80-net-name-slot.rules udev configuration file has been
|
||||
removed, so local configuration overriding this file should
|
||||
be adapated to override 99-default.link instead.
|
||||
be adapted to override 99-default.link instead.
|
||||
|
||||
* When the User= switch is used in a unit file, also
|
||||
initialize $SHELL= based on the user database entry.
|
||||
@ -4289,7 +4641,7 @@ CHANGES WITH 206:
|
||||
|
||||
* logind's device ACLs may now be applied to these "dead"
|
||||
devices nodes too, thus finally allowing managed access to
|
||||
devices such as /dev/snd/sequencer whithout loading the
|
||||
devices such as /dev/snd/sequencer without loading the
|
||||
backing module right-away.
|
||||
|
||||
* A new RPM macro has been added that may be used to apply
|
||||
@ -4780,7 +5132,7 @@ CHANGES WITH 199:
|
||||
processes executed in parallel based on the number of available
|
||||
CPUs instead of the amount of available RAM. This is supposed
|
||||
to provide a more reliable default and limit a too aggressive
|
||||
paralellism for setups with 1000s of devices connected.
|
||||
parallelism for setups with 1000s of devices connected.
|
||||
|
||||
Contributions from: Auke Kok, Colin Walters, Cristian
|
||||
Rodríguez, Daniel Buch, Dave Reisner, Frederic Crozat, Hannes
|
||||
@ -5118,7 +5470,7 @@ CHANGES WITH 197:
|
||||
presenting log data.
|
||||
|
||||
* systemctl will no longer show control group information for
|
||||
a unit if a the control group is empty anyway.
|
||||
a unit if the control group is empty anyway.
|
||||
|
||||
* logind can now automatically suspend/hibernate/shutdown the
|
||||
system on idle.
|
||||
@ -5909,7 +6261,7 @@ CHANGES WITH 186:
|
||||
* The SysV search path is no longer exported on the D-Bus
|
||||
Manager object.
|
||||
|
||||
* The Names= option is been removed from unit file parsing.
|
||||
* The Names= option has been removed from unit file parsing.
|
||||
|
||||
* There's a new man page bootup(7) detailing the boot process.
|
||||
|
||||
@ -6054,7 +6406,7 @@ CHANGES WITH 183:
|
||||
about this in more detail.
|
||||
|
||||
* var-run.mount and var-lock.mount are no longer provided
|
||||
(which prevously bind mounted these directories to their new
|
||||
(which previously bind mounted these directories to their new
|
||||
places). Distributions which have not converted these
|
||||
directories to symlinks should consider stealing these files
|
||||
from git history and add them downstream.
|
||||
@ -6195,7 +6547,7 @@ CHANGES WITH 44:
|
||||
* Many bugfixes for the journal, including endianness fixes and
|
||||
ensuring that disk space enforcement works
|
||||
|
||||
* sd-login.h is C++ comptaible again
|
||||
* sd-login.h is C++ compatible again
|
||||
|
||||
* Extend the /etc/os-release format on request of the Debian
|
||||
folks
|
||||
@ -6423,7 +6775,7 @@ CHANGES WITH 38:
|
||||
|
||||
* New man pages for all APIs from libsystemd-login.
|
||||
|
||||
* The build tree got reorganized and a the build system is a
|
||||
* The build tree got reorganized and the build system is a
|
||||
lot more modular allowing embedded setups to specifically
|
||||
select the components of systemd they are interested in.
|
||||
|
||||
|
31
README
31
README
@ -79,6 +79,7 @@ REQUIREMENTS:
|
||||
CONFIG_TMPFS_XATTR
|
||||
CONFIG_{TMPFS,EXT4,XFS,BTRFS_FS,...}_POSIX_ACL
|
||||
CONFIG_SECCOMP
|
||||
CONFIG_SECCOMP_FILTER (required for seccomp support)
|
||||
CONFIG_CHECKPOINT_RESTORE (for the kcmp() syscall)
|
||||
|
||||
Required for CPUShares= in resource control unit settings
|
||||
@ -119,7 +120,7 @@ REQUIREMENTS:
|
||||
libcap
|
||||
libmount >= 2.27.1 (from util-linux)
|
||||
(util-linux *must* be built with --enable-libmount-force-mountinfo)
|
||||
libseccomp >= 1.0.0 (optional)
|
||||
libseccomp >= 2.3.1 (optional)
|
||||
libblkid >= 2.24 (from util-linux) (optional)
|
||||
libkmod >= 15 (optional)
|
||||
PAM >= 1.1.2 (optional)
|
||||
@ -168,6 +169,13 @@ REQUIREMENTS:
|
||||
under all circumstances. In fact, systemd-hostnamed will warn
|
||||
if nss-myhostname is not installed.
|
||||
|
||||
Additional packages are necessary to run some tests:
|
||||
- busybox (used by test/TEST-13-NSPAWN-SMOKE)
|
||||
- nc (used by test/TEST-12-ISSUE-3171)
|
||||
- python3-pyparsing
|
||||
- python3-evdev (used by hwdb parsing tests)
|
||||
- strace (used by test/test-functions)
|
||||
|
||||
USERS AND GROUPS:
|
||||
Default udev rules use the following standard system group
|
||||
names, which need to be resolvable by getgrnam() at any time,
|
||||
@ -201,7 +209,7 @@ USERS AND GROUPS:
|
||||
"systemd-coredump" system user and group to exist.
|
||||
|
||||
NSS:
|
||||
systemd ships with three NSS modules:
|
||||
systemd ships with four glibc NSS modules:
|
||||
|
||||
nss-myhostname resolves the local hostname to locally
|
||||
configured IP addresses, as well as "localhost" to
|
||||
@ -210,15 +218,22 @@ NSS:
|
||||
nss-resolve enables DNS resolution via the systemd-resolved
|
||||
DNS/LLMNR caching stub resolver "systemd-resolved".
|
||||
|
||||
nss-mymachines enables resolution of all local containers
|
||||
registered with machined to their respective IP addresses.
|
||||
nss-mymachines enables resolution of all local containers registered
|
||||
with machined to their respective IP addresses. It also maps UID/GIDs
|
||||
ranges used by containers to useful names.
|
||||
|
||||
To make use of these NSS modules, please add them to the
|
||||
"hosts: " line in /etc/nsswitch.conf. The "resolve" module
|
||||
should replace the glibc "dns" module in this file.
|
||||
nss-systemd enables resolution of all dynamically allocated service
|
||||
users. (See the DynamicUser= setting in unit files.)
|
||||
|
||||
The three modules should be used in the following order:
|
||||
To make use of these NSS modules, please add them to the "hosts:",
|
||||
"passwd:" and "group:" lines in /etc/nsswitch.conf. The "resolve"
|
||||
module should replace the glibc "dns" module in this file (and don't
|
||||
worry, it chain-loads the "dns" module if it can't talk to resolved).
|
||||
|
||||
The four modules should be used in the following order:
|
||||
|
||||
passwd: compat mymachines systemd
|
||||
group: compat mymachines systemd
|
||||
hosts: files mymachines resolve myhostname
|
||||
|
||||
SYSV INIT.D SCRIPTS:
|
||||
|
105
TODO
105
TODO
@ -23,54 +23,96 @@ External:
|
||||
|
||||
Janitorial Clean-ups:
|
||||
|
||||
* code cleanup: retire FOREACH_WORD_QUOTED, port to extract_first_word() loops instead
|
||||
* 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
|
||||
|
||||
* Get rid of the last strerror() invocations in favour of %m and strerror_r()
|
||||
|
||||
* Rearrange tests so that the various test-xyz.c match a specific src/basic/xyz.c again
|
||||
|
||||
Features:
|
||||
|
||||
* drop nss-myhostname in favour of nss-resolve?
|
||||
|
||||
* drop internal dlopen() based nss-dns fallback in nss-resolve, and rely on the
|
||||
external nsswitch.conf based one
|
||||
|
||||
* add a percentage syntax for TimeoutStopSec=, e.g. TimeoutStopSec=150%, and
|
||||
then use that for the setting used in user@.service. It should be understood
|
||||
relative to the configured default value.
|
||||
|
||||
* on cgroupsv2 add DelegateControllers=, to pick the precise cgroup controllers to delegate
|
||||
|
||||
* in networkd, when matching device types, fix up DEVTYPE rubbish the kernel passes to us
|
||||
|
||||
* enable LockMLOCK to take a percentage value relative to physical memory
|
||||
|
||||
* 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
|
||||
|
||||
* nspawn: support that /proc, /sys/, /dev are pre-mounted
|
||||
|
||||
* 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
|
||||
|
||||
* ProtectMount= (drop mount/umount/pivot_root from seccomp, disallow fuse via DeviceAllow, imply Mountflags=slave)
|
||||
* ProtectKernelModules= (drops CAP_SYS_MODULE and filters the kmod syscalls)
|
||||
|
||||
* ProtectDevices= should also take iopl/ioperm/pciaccess away
|
||||
* 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)
|
||||
|
||||
* ProtectKeyRing= to take keyring calls away
|
||||
|
||||
* PrivateUsers= which maps the all user ids except root and the one specified
|
||||
in User= to nobody
|
||||
* RemoveKeyRing= to remove all keyring entries of the specified user
|
||||
|
||||
* Add AllocateUser= for allowing dynamic user ids per-service
|
||||
* ProtectReboot= that masks reboot() and kexec_load() syscalls, prohibits kill
|
||||
on PID 1 with the relevant signals, and makes relevant files in /sys and
|
||||
/proc (such as the sysrq stuff) unavailable
|
||||
|
||||
* DeviceAllow= should also generate seccomp filters for mknod()
|
||||
|
||||
* 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
|
||||
|
||||
* Beef up RootDirectory= to use namespacing/bind mounts as soon as fs
|
||||
namespaces are enabled by the service
|
||||
|
||||
* 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)
|
||||
|
||||
* nspawn: make /proc/sys/net writable?
|
||||
|
||||
* 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
|
||||
|
||||
* mount: automatically search for "main" partition of an image has multiple
|
||||
partitions
|
||||
|
||||
* expose the "privileged" flag of ExecCommand on the bus, and open it up to
|
||||
transient units
|
||||
|
||||
* in nss-systemd, if we run inside of RootDirectory= with PrivateUsers= set,
|
||||
find a way to map the User=/Group= of the service to the right name. This way
|
||||
a user/group for a service only has to exist on the host for the right
|
||||
mapping to work.
|
||||
|
||||
* allow attaching additional journald log fields to cgroups
|
||||
|
||||
* add bus API for creating unit files in /etc, reusing the code for transient units
|
||||
|
||||
* add bus API to remove unit files from /etc
|
||||
|
||||
* add bus API to retrieve current unit file contents (i.e. implement "systemctl cat" on the bus only)
|
||||
|
||||
* rework fopen_temporary() to make use of open_tmpfile_linkable() (problem: the
|
||||
kernel doesn't support linkat() that replaces existing files, currently)
|
||||
|
||||
@ -82,8 +124,6 @@ Features:
|
||||
* journald: sigbus API via a signal-handler safe function that people may call
|
||||
from the SIGBUS handler
|
||||
|
||||
* when using UTF8, ellipsize with "…" rather than "...", so that we can show more contents before truncating
|
||||
|
||||
* move specifier expansion from service_spawn() into load-fragment.c
|
||||
|
||||
* optionally, also require WATCHDOG=1 notifications during service start-up and shutdown
|
||||
@ -97,8 +137,6 @@ Features:
|
||||
|
||||
* add systemctl stop --job-mode=triggering that follows TRIGGERED_BY deps and adds them to the same transaction
|
||||
|
||||
* Maybe add a way how users can "pin" units into memory, so that they are not subject to automatic GC?
|
||||
|
||||
* PID1: find a way how we can reload unit file configuration for
|
||||
specific units only, without reloading the whole of systemd
|
||||
|
||||
@ -114,8 +152,6 @@ Features:
|
||||
|
||||
* PID 1 should send out sd_notify("WATCHDOG=1") messages (for usage in the --user mode, and when run via nspawn)
|
||||
|
||||
* consider throwing a warning if a service declares it wants to be "Before=" a .device unit.
|
||||
|
||||
* there's probably something wrong with having user mounts below /sys,
|
||||
as we have for debugfs. for exmaple, src/core/mount.c handles mounts
|
||||
prefixed with /sys generally special.
|
||||
@ -153,7 +189,7 @@ Features:
|
||||
* implement a per-service firewall based on net_cls
|
||||
|
||||
* Port various tools to make use of verbs.[ch], where applicable: busctl,
|
||||
bootctl, coredumpctl, hostnamectl, localectl, systemd-analyze, timedatectl
|
||||
coredumpctl, hostnamectl, localectl, systemd-analyze, timedatectl
|
||||
|
||||
* hostnamectl: show root image uuid
|
||||
|
||||
@ -170,7 +206,7 @@ Features:
|
||||
* synchronize console access with BSD locks:
|
||||
http://lists.freedesktop.org/archives/systemd-devel/2014-October/024582.html
|
||||
|
||||
* as soon as we have kdbus, and sender timestamps, revisit coalescing multiple parallel daemon reloads:
|
||||
* as soon as we have sender timestamps, revisit coalescing multiple parallel daemon reloads:
|
||||
http://lists.freedesktop.org/archives/systemd-devel/2014-December/025862.html
|
||||
|
||||
* in systemctl list-unit-files: show the install value the presets would suggest for a service in a third column
|
||||
@ -210,10 +246,6 @@ Features:
|
||||
|
||||
* timesyncd: add ugly bus calls to set NTP servers per-interface, for usage by NM
|
||||
|
||||
* extract_many_words() should probably be used by a lot of code that
|
||||
currently uses FOREACH_WORD and friends. For example, most conf
|
||||
parsing callbacks should use it.
|
||||
|
||||
* merge ~/.local/share and ~/.local/lib into one similar /usr/lib and /usr/share....
|
||||
|
||||
* systemd.show_status= should probably have a mode where only failed
|
||||
@ -270,9 +302,6 @@ Features:
|
||||
|
||||
* MessageQueueMessageSize= (and suchlike) should use parse_iec_size().
|
||||
|
||||
* "busctl status" works only as root on dbus1, since we cannot read
|
||||
/proc/$PID/exe
|
||||
|
||||
* implement Distribute= in socket units to allow running multiple
|
||||
service instances processing the listening socket, and open this up
|
||||
for ReusePort=
|
||||
@ -283,8 +312,6 @@ Features:
|
||||
and passes this back to PID1 via SCM_RIGHTS. This also could be used
|
||||
to allow Chown/chgrp on sockets without requiring NSS in PID 1.
|
||||
|
||||
* New service property: maximum CPU runtime for a service
|
||||
|
||||
* introduce bus call FreezeUnit(s, b), as well as "systemctl freeze
|
||||
$UNIT" and "systemctl thaw $UNIT" as wrappers around this. The calls
|
||||
should SIGSTOP all unit processes in a loop until all processes of
|
||||
@ -321,12 +348,10 @@ Features:
|
||||
error. Currently, we just ignore it and read the unit from the search
|
||||
path anyway.
|
||||
|
||||
* refuse boot if /etc/os-release is missing or /etc/machine-id cannot be set up
|
||||
* 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
|
||||
|
||||
* make sure gdm does not use multi-user-x but the new default X configuration file, and then remove multi-user-x from systemd
|
||||
|
||||
* 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
|
||||
@ -474,7 +499,6 @@ Features:
|
||||
message that works, but alraedy after a short tiemout
|
||||
- check if we can make journalctl by default use --follow mode inside of less if called without args?
|
||||
- maybe add API to send pairs of iovecs via sd_journal_send
|
||||
- journal: when writing journal auto-rotate if time jumps backwards
|
||||
- journal: add a setgid "systemd-journal" utility to invoke from libsystemd-journal, which passes fds via STDOUT and does PK access
|
||||
- journactl: support negative filtering, i.e. FOOBAR!="waldo",
|
||||
and !FOOBAR for events without FOOBAR.
|
||||
@ -583,9 +607,6 @@ Features:
|
||||
* currently x-systemd.timeout is lost in the initrd, since crypttab is copied into dracut, but fstab is not
|
||||
|
||||
* nspawn:
|
||||
- to allow "linking" of nspawn containers, extend --network-bridge= so
|
||||
that it can dynamically create bridge interfaces that are refcounted
|
||||
by the containers on them. For each group of containers to link together
|
||||
- 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
|
||||
@ -594,8 +615,6 @@ Features:
|
||||
- as soon as networkd has a bus interface, hook up --network-interface=,
|
||||
--network-bridge= with networkd, to trigger netdev creation should an
|
||||
interface be missing
|
||||
- don't copy /etc/resolv.conf from host into container unless we are in
|
||||
shared-network mode
|
||||
- a nice way to boot up without machine id set, so that it is set at boot
|
||||
automatically for supporting --ephemeral. Maybe hash the host machine id
|
||||
together with the machine name to generate the machine id for the container
|
||||
@ -612,8 +631,6 @@ Features:
|
||||
is used
|
||||
|
||||
* machined:
|
||||
- "machinectl list" should probably show columns for OS version and IP
|
||||
addresses
|
||||
- add an API so that libvirt-lxc can inform us about network interfaces being
|
||||
removed or added to an existing machine
|
||||
- "machinectl migrate" or similar to copy a container from or to a
|
||||
@ -663,7 +680,7 @@ Features:
|
||||
|
||||
* coredump:
|
||||
- save coredump in Windows/Mozilla minidump format
|
||||
- move PID 1 segfaults to /var/lib/systemd/coredump?
|
||||
- when truncating coredumps, also log the full size that the process had, and make a metadata field so we can report truncated coredumps
|
||||
|
||||
* support crash reporting operation modes (https://live.gnome.org/GnomeOS/Design/Whiteboards/ProblemReporting)
|
||||
|
||||
@ -730,7 +747,6 @@ Features:
|
||||
- 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.
|
||||
- for services: do not set $HOME in services unless requested
|
||||
- hide PAM options in fragment parser when compile time disabled
|
||||
- Support --test based on current system state
|
||||
- If we show an error about a unit (such as not showing up) and it has no Description string, then show a description string generated form the reverse of unit_name_mangle().
|
||||
@ -780,7 +796,6 @@ Features:
|
||||
- add reduced [Link] support to .network files
|
||||
- add Scope= parsing option for [Network]
|
||||
- properly handle routerless dhcp leases
|
||||
- add more attribute support for SIT tunnel
|
||||
- work with non-Ethernet devices
|
||||
- add support for more bond options
|
||||
- dhcp: do we allow configuring dhcp routes on interfaces that are not the one we got the dhcp info from?
|
||||
@ -797,7 +812,6 @@ Features:
|
||||
support Name=foo*|bar*|baz ?
|
||||
- duplicate address check for static IPs (like ARPCHECK in network-scripts)
|
||||
- allow DUID/IAID to be customized, see issue #394.
|
||||
- support configuration option for TSO (tcp segmentation offload)
|
||||
- whenever uplink info changes, make DHCP server send out FORCERENEW
|
||||
|
||||
* networkd-wait-online:
|
||||
@ -819,6 +833,7 @@ Features:
|
||||
or interface down
|
||||
- some servers don't do rapid commit without a filled in IA_NA, verify
|
||||
this behavior
|
||||
- RouteTable= ?
|
||||
|
||||
External:
|
||||
|
||||
|
32
autogen.sh
32
autogen.sh
@ -17,6 +17,14 @@
|
||||
|
||||
set -e
|
||||
|
||||
verb="$1"
|
||||
|
||||
case "$verb" in
|
||||
"") ;;
|
||||
[cgals]) shift ;;
|
||||
*) echo "Unexpected argument: $verb" >&2; exit 1 ;;
|
||||
esac
|
||||
|
||||
oldpwd=$(pwd)
|
||||
topdir=$(dirname $0)
|
||||
cd $topdir
|
||||
@ -52,21 +60,27 @@ args="$args \
|
||||
"
|
||||
fi
|
||||
|
||||
args="$args $@"
|
||||
cd $oldpwd
|
||||
|
||||
if [ "x$1" = "xc" ]; then
|
||||
if [ "$verb" = "c" ]; then
|
||||
set -x
|
||||
$topdir/configure CFLAGS='-g -O0 -ftrapv' $args
|
||||
make clean
|
||||
elif [ "x$1" = "xg" ]; then
|
||||
make clean >/dev/null
|
||||
elif [ "$verb" = "g" ]; then
|
||||
set -x
|
||||
$topdir/configure CFLAGS='-g -Og -ftrapv' $args
|
||||
make clean
|
||||
elif [ "x$1" = "xa" ]; then
|
||||
make clean >/dev/null
|
||||
elif [ "$verb" = "a" ]; then
|
||||
set -x
|
||||
$topdir/configure CFLAGS='-g -O0 -Wsuggest-attribute=pure -Wsuggest-attribute=const -ftrapv' $args
|
||||
make clean
|
||||
elif [ "x$1" = "xl" ]; then
|
||||
make clean >/dev/null
|
||||
elif [ "$verb" = "l" ]; then
|
||||
set -x
|
||||
$topdir/configure CC=clang CFLAGS='-g -O0 -ftrapv' $args
|
||||
make clean
|
||||
elif [ "x$1" = "xs" ]; then
|
||||
make clean >/dev/null
|
||||
elif [ "$verb" = "s" ]; then
|
||||
set -x
|
||||
scan-build $topdir/configure CFLAGS='-std=gnu99 -g -O0 -ftrapv' $args
|
||||
scan-build make
|
||||
else
|
||||
|
@ -88,6 +88,17 @@ Process @COREDUMP_PID@ (@COREDUMP_COMM@) crashed and dumped core.
|
||||
This usually indicates a programming error in the crashing program and
|
||||
should be reported to its vendor as a bug.
|
||||
|
||||
-- 5aadd8e954dc4b1a8c954d63fd9e1137
|
||||
Subject: Core file was truncated to @SIZE_LIMIT@ bytes.
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: man:coredump.conf(5)
|
||||
|
||||
The process had more memory mapped than the configured maximum for processing
|
||||
and storage by systemd-coredump(8). Only the first @SIZE_LIMIT@ bytes were
|
||||
saved. This core might still be usable, but various tools like gdb(1) will warn
|
||||
about the file being truncated.
|
||||
|
||||
-- fc2e22bc6ee647b6b90729ab34a250b1 de
|
||||
Subject: Speicherabbild für Prozess @COREDUMP_PID@ (@COREDUMP_COMM) generiert
|
||||
Defined-By: systemd
|
||||
|
@ -25,6 +25,7 @@
|
||||
#
|
||||
# Translator :
|
||||
# Seong-ho Cho <darkcircle.0426@gmail.com>, 2015.
|
||||
# Dongsu Park <dpark@posteo.net>, 2016.
|
||||
|
||||
-- f77379a8490b408bbe5f6940505a777b
|
||||
Subject: 저널 시작
|
||||
@ -42,6 +43,24 @@ Support: %SUPPORT_URL%
|
||||
시스템 저널 프로세스를 껐고 현재 활성화 중인 저널 파일을 모두
|
||||
닫았습니다.
|
||||
|
||||
-- ec387f577b844b8fa948f33cad9a75e6
|
||||
Subject: 저널이 디스크 공간을 점유중
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
|
||||
저널 @JOURNAL_NAME@ (@JOURNAL_PATH@)이 현재 @CURRENT_USE_PRETTY@
|
||||
만큼의 용량을 사용하고 있습니다. 최대 허용 용량은
|
||||
@MAX_USE_PRETTY@입니다. 최소한 @DISK_KEEP_FREE_PRETTY@의 빈공간을
|
||||
남겨둡니다. (현재 디스크 전체 용량은 @DISK_AVAILABLE_PRETTY@)
|
||||
따라서 실제 사용 최대 한도는 @LIMIT_PRETTY@으로 설정되며,
|
||||
@AVAILABLE_PRETTY@ 만큼의 용량이 계속 비어있습니다.
|
||||
|
||||
저널이 차지하는 디스크 공간을 제어하기 위해서는
|
||||
/etc/systemd/journald.conf 의 SystemMaxUse=, SystemKeepFree=,
|
||||
SystemMaxFileSize=, RuntimeMaxUse=, RuntimeKeepFree=,
|
||||
RuntimeMaxFileSize= 변수를 설정합니다. 자세한 내용은
|
||||
journald.conf(5)을 살펴보십시오.
|
||||
|
||||
-- a596d6fe7bfa4994828e72309e95d61e
|
||||
Subject: 서비스의 메시지를 거절함
|
||||
Defined-By: systemd
|
||||
@ -56,7 +75,7 @@ Documentation: man:journald.conf(5)
|
||||
|
||||
메시지 거절 제어 제한 값은 /etc/systemd/journald.conf 의
|
||||
RateLimitIntervalSec= 변수와 RateLimitBurst= 변수로 설정합니다.
|
||||
자세한 내용은 ournald.conf(5)를 살펴보십시오.
|
||||
자세한 내용은 journald.conf(5)를 살펴보십시오.
|
||||
|
||||
-- e9bf28e6e834481bb6f48f548ad13606
|
||||
Subject: 저널 메시지 놓침
|
||||
@ -246,7 +265,7 @@ Support: %SUPPORT_URL%
|
||||
두번째 필드 또는 systemd 유닛 파일의 Where= 필드) 비어있지 않습니다.
|
||||
마운트 과정에 방해가 되진 않지만 이전에 이 디렉터리에 존재하는 파일에
|
||||
접근할 수 없게 됩니다. 중복으로 마운트한 파일을 보려면, 근본 파일
|
||||
시스템의 다음 위치에 직접 마운트하십시오.
|
||||
시스템을 별도 위치에 직접 마운트하십시오.
|
||||
|
||||
-- 24d8d4452573402496068381a6312df2
|
||||
Subject: 가상 머신 또는 컨테이너 시작
|
||||
@ -262,3 +281,41 @@ Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
|
||||
@LEADER@ 프로세스 ID로 동작하는 @NAME@ 가상 머신을 껐습니다.
|
||||
|
||||
-- 36db2dfa5a9045e1bd4af5f93e1cf057
|
||||
Subject: 서버 미지원으로 인하여 DNSSEC 모드 종료
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: man:systemd-resolved.service(8) resolved.conf(5)
|
||||
|
||||
해당 DNS 서버가 DNSSEC을 지원하지 않는다는 것을 리졸버 서비스
|
||||
(systemd-resolved.service)가 인식했습니다. 따라서 DNSSEC 검증 기능도
|
||||
꺼집니다.
|
||||
|
||||
이 이벤트는 resolved.conf 파일에 DNSSEC=allow-downgrade가 설정되었고, 해당
|
||||
DNS 서버가 DNSSEC과 비호환일 경우에만 발생합니다. 이 모드를 켤 경우에는
|
||||
DNSSEC 다운그레이드 공격을 허용할수 있다는 점에 주의하세요. 이는 공격자
|
||||
역시 다운그레이드가 발생한 통신 채널에 DNS 응답 메시지를 끼워넣는 방식으로
|
||||
DNSSEC 검증 기능을 꺼버릴수 있기 때문입니다.
|
||||
|
||||
이 이벤트가 의미하는 것은, DNS 서버가 실제로 DNSSEC과 비호환이거나, 또는
|
||||
공격자가 위와 같은 다운그레이드 공격을 수행하는데 성공했다는 뜻입니다.
|
||||
|
||||
-- 1675d7f172174098b1108bf8c7dc8f5d
|
||||
Subject: DNSSEC 검증 실패
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: man:systemd-resolved.service(8)
|
||||
|
||||
DNS 요청 또는 리소스 레코드가 DNSSEC 검증에 실패했습니다. 이것은 보통
|
||||
해당 통신 채널이 조작되었다는 뜻입니다.
|
||||
|
||||
-- 4d4408cfd0d144859184d1e65d7c8a65
|
||||
Subject: DNSSEC 신뢰성 시작점 취소
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: man:systemd-resolved.service(8)
|
||||
|
||||
DNSSEC 신뢰성 시작점이 취소되었습니다. 새로운 신뢰성 시작점이 설정되거나,
|
||||
또는 업데이트된 DNSSEC 신뢰성 시작점을 제공하기 위해서 운영체제를 업데이트
|
||||
해야 합니다.
|
||||
|
@ -1,7 +1,7 @@
|
||||
# This file is part of systemd.
|
||||
#
|
||||
# Copyright 2012 Lennart Poettering
|
||||
# Copyright 2014, 2015, 2016 Piotr Drąg
|
||||
# Copyright 2014-2016 Piotr Drąg
|
||||
#
|
||||
# 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
|
||||
@ -29,15 +29,15 @@ Subject: Uruchomiono dziennik
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
|
||||
Systemowy proces dziennika został uruchomiony, otworzył pliki dziennika do
|
||||
zapisu i jest gotowy do przetwarzania żądań.
|
||||
Systemowy proces dziennika został uruchomiony, otworzył pliki dziennika
|
||||
do zapisu i jest gotowy do przetwarzania żądań.
|
||||
|
||||
-- d93fb3c9c24d451a97cea615ce59c00b
|
||||
Subject: Zatrzymano dziennik
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
|
||||
Systemowy proces dziennika został wyłączony i zamknął wszystkie obecnie
|
||||
Systemowy proces dziennika został wyłączony i zamknął wszystkie obecnie
|
||||
aktywne pliki dziennika.
|
||||
|
||||
-- ec387f577b844b8fa948f33cad9a75e6
|
||||
@ -48,28 +48,28 @@ Support: %SUPPORT_URL%
|
||||
@JOURNAL_NAME@ (@JOURNAL_PATH@) obecnie używa @CURRENT_USE_PRETTY@.
|
||||
Maksymalnie może używać @MAX_USE_PRETTY@.
|
||||
Zostawianie co najmniej @DISK_KEEP_FREE_PRETTY@ wolnego (z obecnie dostępnego @DISK_AVAILABLE_PRETTY@ miejsca na dysku).
|
||||
Wymuszone ograniczenie użycia wynosi więc @LIMIT_PRETTY@, z czego @AVAILABLE_PRETTY@ jest nadal dostępne.
|
||||
Wymuszone ograniczenie użycia wynosi więc @LIMIT_PRETTY@, z czego @AVAILABLE_PRETTY@ jest nadal dostępne.
|
||||
|
||||
Ograniczenia kontrolujące ilość miejsca na dysku używanego przez dziennik
|
||||
można konfigurować za pomocą ustawień SystemMaxUse=, SystemKeepFree=,
|
||||
SystemMaxFileSize=, RuntimeMaxUse=, RuntimeKeepFree=, RuntimeMaxFileSize=
|
||||
w pliku /etc/systemd/journald.conf. Strona journald.conf(5) zawiera więcej
|
||||
w pliku /etc/systemd/journald.conf. Strona journald.conf(5) zawiera więcej
|
||||
informacji.
|
||||
|
||||
-- a596d6fe7bfa4994828e72309e95d61e
|
||||
Subject: Ograniczono komunikaty z usługi
|
||||
Subject: Ograniczono komunikaty z usługi
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: man:journald.conf(5)
|
||||
|
||||
Usługa zapisała za dużo komunikatów w określonym czasie. Komunikaty z usługi
|
||||
zostały pominięte.
|
||||
Usługa zapisała za dużo komunikatów w określonym czasie.
|
||||
Komunikaty z usługi zostały pominięte.
|
||||
|
||||
Proszę zauważyć, że tylko komunikaty z danej usługi zostały pominięte. Nie ma
|
||||
to wpływu na komunikaty innych usług.
|
||||
Proszę zauważyć, że tylko komunikaty z danej usługi zostały pominięte.
|
||||
Nie ma to wpływu na komunikaty innych usług.
|
||||
|
||||
Ograniczenia kontrolujące pomijanie komunikatów mogą być konfigurowane
|
||||
za pomocą opcji RateLimitIntervalSec= i RateLimitBurst= w pliku
|
||||
za pomocą opcji RateLimitIntervalSec= i RateLimitBurst= w pliku
|
||||
/etc/systemd/journald.conf. Strona journald.conf(5) zawiera więcej informacji.
|
||||
|
||||
-- e9bf28e6e834481bb6f48f548ad13606
|
||||
@ -86,18 +86,29 @@ Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: man:core(5)
|
||||
|
||||
Proces @COREDUMP_PID@ (@COREDUMP_COMM@) uległ awarii i zrzucił plik core.
|
||||
Proces @COREDUMP_PID@ (@COREDUMP_COMM@) uległ awarii i zrzucił plik core.
|
||||
|
||||
Zwykle wskazuje to na błąd programistyczny w danym programie i powinno zostać
|
||||
Zwykle wskazuje to na błąd programistyczny w danym programie i powinno zostać
|
||||
zgłoszone jego producentowi jako błąd.
|
||||
|
||||
-- 5aadd8e954dc4b1a8c954d63fd9e1137
|
||||
Subject: Plik core został skrócony do @SIZE_LIMIT@ B.
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: man:coredump.conf(5)
|
||||
|
||||
Proces miał więcej zmapowanej pamięci niż maksimum dla przetwarzania i miejsca
|
||||
skonfigurowane przez systemd-coredump(8). Tylko pierwsze @SIZE_LIMIT@ B
|
||||
zostało zapisanych. Ten plik core może nadal być używalny, ale narzędzia typu
|
||||
gdb(1) będą ostrzegały o skróceniu pliku.
|
||||
|
||||
-- 8d45620c1a4348dbb17410da57c60c66
|
||||
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
|
||||
|
||||
Nowa sesja o identyfikatorze @SESSION_ID@ została utworzona dla użytkownika
|
||||
Nowa sesja o identyfikatorze @SESSION_ID@ została utworzona dla użytkownika
|
||||
@USER_ID@.
|
||||
|
||||
Proces prowadzący sesji: @LEADER@.
|
||||
@ -108,7 +119,7 @@ Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
|
||||
Sesja o identyfikatorze @SESSION_ID@ została zakończona.
|
||||
Sesja o identyfikatorze @SESSION_ID@ została zakończona.
|
||||
|
||||
-- fcbefc5da23d428093f97c82a9290f7b
|
||||
Subject: Dostępne jest nowe stanowisko @SEAT_ID@
|
||||
@ -116,7 +127,7 @@ Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
|
||||
Nowe stanowisko @SEAT_ID@ zostało skonfigurowane i jest teraz dostępne.
|
||||
Nowe stanowisko @SEAT_ID@ zostało skonfigurowane i jest teraz dostępne.
|
||||
|
||||
-- e7852bfe46784ed0accde04bc864c2d5
|
||||
Subject: Usunięto stanowisko @SEAT_ID@
|
||||
@ -124,7 +135,7 @@ Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
Documentation: http://www.freedesktop.org/wiki/Software/systemd/multiseat
|
||||
|
||||
Stanowisko @SEAT_ID@ zostało usunięte i nie jest już dostępne.
|
||||
Stanowisko @SEAT_ID@ zostało usunięte i nie jest już dostępne.
|
||||
|
||||
-- c7a787079b354eaaa9e77b371893cd27
|
||||
Subject: Zmiana czasu
|
||||
@ -175,8 +186,8 @@ Subject: Zainicjowano wyłączenie systemu
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
|
||||
Zainicjowano wyłączenie systemd. Wyłączenie zostało rozpoczęte i wszystkie
|
||||
usługi systemowe zostały zakończone, a wszystkie systemy plików odmontowane.
|
||||
Zainicjowano wyłączenie systemd. Wyłączenie zostało rozpoczęte i wszystkie
|
||||
usługi systemowe zostały zakończone, a wszystkie systemy plików odmontowane.
|
||||
|
||||
-- 7d4958e842da4a758f6c1cdc7b36dcc5
|
||||
Subject: Rozpoczęto uruchamianie jednostki @UNIT@
|
||||
@ -238,7 +249,7 @@ Subject: Nie można wykonać procesu @EXECUTABLE@
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
|
||||
Proces @EXECUTABLE@ nie mógł zostać wykonany i się nie powiódł.
|
||||
Proces @EXECUTABLE@ nie mógł zostać wykonany i się nie powiódł.
|
||||
|
||||
Numer błędu zwrócony przez ten proces: @ERRNO@.
|
||||
|
||||
@ -249,25 +260,25 @@ Support: %SUPPORT_URL%
|
||||
|
||||
Jeden lub więcej komunikatów nie może zostać przekazanych do usługi syslog
|
||||
uruchomionej obok journald. Zwykle oznacza to, że implementacja syslog nie
|
||||
jest w stanie nadążyć za prędkością kolejki komunikatów.
|
||||
jest w stanie nadążyć za prędkością kolejki komunikatów.
|
||||
|
||||
-- 1dee0369c7fc4736b7099b38ecb46ee7
|
||||
Subject: Punkt montowania nie jest pusty
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
|
||||
Katalog @WHERE@ został podany jako punkt montowania (drugie pole w pliku
|
||||
/etc/fstab lub pole Where= w pliku jednostki systemd) i nie jest pusty. Nie
|
||||
wpływa to na montowanie, ale wcześniej istniejące pliki w tym katalogu stają
|
||||
Katalog @WHERE@ został podany jako punkt montowania (drugie pole w pliku
|
||||
/etc/fstab lub pole Where= w pliku jednostki systemd) i nie jest pusty. Nie
|
||||
wpływa to na montowanie, ale wcześniej istniejące pliki w tym katalogu stają
|
||||
się niedostępne. Aby zobaczyć te pliki, proszę ręcznie zamontować system
|
||||
plików w innym położeniu.
|
||||
plików w innym położeniu.
|
||||
|
||||
-- 24d8d4452573402496068381a6312df2
|
||||
Subject: Uruchomiono maszynę wirtualną lub kontener
|
||||
Defined-By: systemd
|
||||
Support: %SUPPORT_URL%
|
||||
|
||||
Maszyna wirtualna @NAME@ (PID prowadzący @LEADER@) została uruchomiona i jest
|
||||
Maszyna wirtualna @NAME@ (PID prowadzący @LEADER@) została uruchomiona i jest
|
||||
gotowa do użycia.
|
||||
|
||||
-- 58432bd3bace477cb514b56381b8a758
|
||||
@ -284,15 +295,15 @@ Support: %SUPPORT_URL%
|
||||
Documentation: man:systemd-resolved.service(8) resolved.conf(5)
|
||||
|
||||
Usługa resolver (systemd-resolved.service) wykryła, że skonfigurowany serwer
|
||||
DNS nie obsługuje DNSSEC, w wyniku czego walidacja DNSSEC została wyłączona.
|
||||
DNS nie obsługuje DNSSEC, w wyniku czego walidacja DNSSEC została wyłączona.
|
||||
|
||||
To zdarzenie będzie miało miejsce, jeśli skonfigurowano DNSSEC=allow-downgrade
|
||||
w pliku resolved.conf, a skonfigurowany serwer DNS jest niezgodny z DNSSEC.
|
||||
w pliku resolved.conf, a skonfigurowany serwer DNS jest niezgodny z DNSSEC.
|
||||
Proszę zauważyć, że używanie tego trybu umożliwia ataki wyłączające DNSSEC,
|
||||
ponieważ atakujący będzie mógł wyłączyć walidację DNSSEC na komputerze przez
|
||||
umieszczenie odpowiednich odpowiedzi DNS w kanale komunikacji.
|
||||
umieszczenie odpowiednich odpowiedzi DNS w kanale komunikacji.
|
||||
|
||||
To zdarzenie może wskazywać, że serwer DNS jest faktycznie niezgodny z DNSSEC,
|
||||
To zdarzenie może wskazywać, że serwer DNS jest faktycznie niezgodny z DNSSEC,
|
||||
albo że atakującemu udało się upozorować atak tego typu.
|
||||
|
||||
-- 1675d7f172174098b1108bf8c7dc8f5d
|
||||
|
15
coccinelle/free_and_replace.cocci
Normal file
15
coccinelle/free_and_replace.cocci
Normal file
@ -0,0 +1,15 @@
|
||||
@@
|
||||
expression p, q;
|
||||
@@
|
||||
- free(p);
|
||||
- p = q;
|
||||
- q = NULL;
|
||||
- return 0;
|
||||
+ return free_and_replace(p, q);
|
||||
@@
|
||||
expression p, q;
|
||||
@@
|
||||
- free(p);
|
||||
- p = q;
|
||||
- q = NULL;
|
||||
+ free_and_replace(p, q);
|
6
coccinelle/mfree_return.cocci
Normal file
6
coccinelle/mfree_return.cocci
Normal file
@ -0,0 +1,6 @@
|
||||
@@
|
||||
expression p;
|
||||
@@
|
||||
- free(p);
|
||||
- return NULL;
|
||||
+ return mfree(p);
|
41
configure.ac
41
configure.ac
@ -20,7 +20,7 @@
|
||||
AC_PREREQ([2.64])
|
||||
|
||||
AC_INIT([systemd],
|
||||
[231],
|
||||
[232],
|
||||
[http://github.com/systemd/systemd/issues],
|
||||
[systemd],
|
||||
[http://www.freedesktop.org/wiki/Software/systemd])
|
||||
@ -211,9 +211,12 @@ AS_CASE([$CC], [*clang*],
|
||||
-Wno-gnu-variable-sized-type-not-at-end \
|
||||
])])
|
||||
|
||||
AC_ARG_ENABLE([lto], [AS_HELP_STRING([--disable-lto], [disable -flto])],
|
||||
[], [enable_lto=yes])
|
||||
AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*],
|
||||
[CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
|
||||
-flto])],
|
||||
[AS_IF([test "x$enable_lto" = "xyes"],
|
||||
[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")
|
||||
|
||||
@ -456,7 +459,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]))
|
||||
if test "x$enable_seccomp" != "xno"; then
|
||||
PKG_CHECK_MODULES(SECCOMP, [libseccomp >= 1.0.0],
|
||||
PKG_CHECK_MODULES(SECCOMP, [libseccomp >= 2.3.1],
|
||||
[AC_DEFINE(HAVE_SECCOMP, 1, [Define if seccomp is available])
|
||||
have_seccomp=yes
|
||||
M4_DEFINES="$M4_DEFINES -DHAVE_SECCOMP"],
|
||||
@ -553,12 +556,30 @@ AC_SUBST(CERTIFICATEROOT)
|
||||
|
||||
AC_ARG_WITH([support-url],
|
||||
AS_HELP_STRING([--with-support-url=URL],
|
||||
[Specify the supoport 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])
|
||||
|
||||
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)]),
|
||||
[NOBODY_USER_NAME="$withval"],
|
||||
[NOBODY_USER_NAME=nobody])
|
||||
|
||||
AC_SUBST(NOBODY_USER_NAME)
|
||||
AC_DEFINE_UNQUOTED(NOBODY_USER_NAME, ["$NOBODY_USER_NAME"], [The name of the nobody user (the one with UID 65534)])
|
||||
|
||||
AC_ARG_WITH([nobody-group],
|
||||
AS_HELP_STRING([--with-nobody-group=NAME],
|
||||
[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)])
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
have_xz=no
|
||||
AC_ARG_ENABLE(xz, AS_HELP_STRING([--disable-xz], [Disable optional XZ support]))
|
||||
@ -1199,9 +1220,9 @@ AM_CONDITIONAL(ENABLE_NETWORKD, [test "x$have_networkd" = "xyes"])
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
have_efi=no
|
||||
AC_ARG_ENABLE(efi, AS_HELP_STRING([--disable-efi], [disable EFI support]))
|
||||
AC_ARG_ENABLE(efi, AS_HELP_STRING([--disable-efi], [disable systemd-boot and bootctl (EFI support)]))
|
||||
if test "x$enable_efi" != "xno"; then
|
||||
AC_DEFINE(ENABLE_EFI, 1, [Define if EFI support is to be enabled])
|
||||
AC_DEFINE(ENABLE_EFI, 1, [Define if systemd-boot and bootctl are to be enabled])
|
||||
have_efi=yes
|
||||
fi
|
||||
AM_CONDITIONAL(ENABLE_EFI, [test "x$have_efi" = "xyes"])
|
||||
@ -1486,9 +1507,10 @@ AC_ARG_WITH([pamlibdir],
|
||||
AX_NORMALIZE_PATH([with_pamlibdir])
|
||||
|
||||
AC_ARG_WITH([pamconfdir],
|
||||
AS_HELP_STRING([--with-pamconfdir=DIR], [Directory for PAM configuration]),
|
||||
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],
|
||||
@ -1635,7 +1657,6 @@ AC_MSG_RESULT([
|
||||
nss-myhostname: ${have_myhostname}
|
||||
hwdb: ${enable_hwdb}
|
||||
tpm: ${have_tpm}
|
||||
kdbus: ${have_kdbus}
|
||||
Python: ${have_python}
|
||||
man pages: ${have_manpages}
|
||||
test coverage: ${have_coverage}
|
||||
@ -1674,6 +1695,8 @@ AC_MSG_RESULT([
|
||||
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}
|
||||
|
||||
CFLAGS: ${OUR_CFLAGS} ${CFLAGS}
|
||||
CPPFLAGS: ${OUR_CPPFLAGS} ${CPPFLAGS}
|
||||
|
6541
hwdb/20-OUI.hwdb
6541
hwdb/20-OUI.hwdb
File diff suppressed because it is too large
Load Diff
@ -9,6 +9,9 @@
|
||||
acpi:3NOD*:
|
||||
ID_VENDOR_FROM_DATABASE=Shenzhen three Connaught Information Technology Co., Ltd. (3nod Group)
|
||||
|
||||
acpi:AANT*:
|
||||
ID_VENDOR_FROM_DATABASE=AAEON Technology Inc.
|
||||
|
||||
acpi:AAVA*:
|
||||
ID_VENDOR_FROM_DATABASE=Aava Mobile Oy
|
||||
|
||||
@ -72,6 +75,9 @@ acpi:FRSC*:
|
||||
acpi:FTSC*:
|
||||
ID_VENDOR_FROM_DATABASE=FocalTech Systems Co., Ltd.
|
||||
|
||||
acpi:GHSW*:
|
||||
ID_VENDOR_FROM_DATABASE=Green Hills Software
|
||||
|
||||
acpi:GOOG*:
|
||||
ID_VENDOR_FROM_DATABASE=Google, Inc.
|
||||
|
||||
@ -126,6 +132,9 @@ acpi:LNRO*:
|
||||
acpi:LNUX*:
|
||||
ID_VENDOR_FROM_DATABASE=The Linux Foundation
|
||||
|
||||
acpi:MCHP*:
|
||||
ID_VENDOR_FROM_DATABASE=Microchip Technology Inc
|
||||
|
||||
acpi:MIPI*:
|
||||
ID_VENDOR_FROM_DATABASE=MIPI Alliance
|
||||
|
||||
@ -228,6 +237,9 @@ acpi:AAE*:
|
||||
acpi:AAM*:
|
||||
ID_VENDOR_FROM_DATABASE=Aava Mobile Oy
|
||||
|
||||
acpi:AAN*:
|
||||
ID_VENDOR_FROM_DATABASE=AAEON Technology Inc.
|
||||
|
||||
acpi:AAT*:
|
||||
ID_VENDOR_FROM_DATABASE=Ann Arbor Technologies
|
||||
|
||||
@ -879,6 +891,9 @@ acpi:AXB*:
|
||||
acpi:AXC*:
|
||||
ID_VENDOR_FROM_DATABASE=AXIOMTEK CO., LTD.
|
||||
|
||||
acpi:AXE*:
|
||||
ID_VENDOR_FROM_DATABASE=Axell Corporation
|
||||
|
||||
acpi:AXE*:
|
||||
ID_VENDOR_FROM_DATABASE=D-Link Systems Inc
|
||||
|
||||
@ -3684,6 +3699,9 @@ acpi:KOW*:
|
||||
acpi:KPC*:
|
||||
ID_VENDOR_FROM_DATABASE=King Phoenix Company
|
||||
|
||||
acpi:KPT*:
|
||||
ID_VENDOR_FROM_DATABASE=TPK Holding Co., Ltd
|
||||
|
||||
acpi:KRL*:
|
||||
ID_VENDOR_FROM_DATABASE=Krell Industries Inc.
|
||||
|
||||
@ -6420,6 +6438,9 @@ acpi:TDC*:
|
||||
acpi:TDD*:
|
||||
ID_VENDOR_FROM_DATABASE=Tandberg Data Display AS
|
||||
|
||||
acpi:TDG*:
|
||||
ID_VENDOR_FROM_DATABASE=Six15 Technologies
|
||||
|
||||
acpi:TDK*:
|
||||
ID_VENDOR_FROM_DATABASE=TDK USA Corporation
|
||||
|
||||
@ -6858,6 +6879,9 @@ acpi:UMG*:
|
||||
acpi:UMM*:
|
||||
ID_VENDOR_FROM_DATABASE=Universal Multimedia
|
||||
|
||||
acpi:UMT*:
|
||||
ID_VENDOR_FROM_DATABASE=UltiMachine
|
||||
|
||||
acpi:UNA*:
|
||||
ID_VENDOR_FROM_DATABASE=Unisys DSD
|
||||
|
||||
|
@ -424,7 +424,7 @@ bluetooth:v008A*
|
||||
ID_VENDOR_FROM_DATABASE=Jawbone
|
||||
|
||||
bluetooth:v008B*
|
||||
ID_VENDOR_FROM_DATABASE=Topcorn Positioning Systems, LLC
|
||||
ID_VENDOR_FROM_DATABASE=Topcon Positioning Systems, LLC
|
||||
|
||||
bluetooth:v008C*
|
||||
ID_VENDOR_FROM_DATABASE=Gimbal Inc. (formerly Qualcomm Labs, Inc. and Qualcomm Retail Solutions, Inc.)
|
||||
@ -1231,7 +1231,7 @@ bluetooth:v0197*
|
||||
ID_VENDOR_FROM_DATABASE=WiSilica Inc
|
||||
|
||||
bluetooth:v0198*
|
||||
ID_VENDOR_FROM_DATABASE=Vengit Limited
|
||||
ID_VENDOR_FROM_DATABASE=VENGIT Korlátolt Felelősségű Társaság
|
||||
|
||||
bluetooth:v0199*
|
||||
ID_VENDOR_FROM_DATABASE=SALTO SYSTEMS S.L.
|
||||
@ -2828,3 +2828,294 @@ bluetooth:v03AB*
|
||||
|
||||
bluetooth:v03AC*
|
||||
ID_VENDOR_FROM_DATABASE=Smablo LTD
|
||||
|
||||
bluetooth:v03AD*
|
||||
ID_VENDOR_FROM_DATABASE=XiQ
|
||||
|
||||
bluetooth:v03AE*
|
||||
ID_VENDOR_FROM_DATABASE=Allswell Inc.
|
||||
|
||||
bluetooth:v03AF*
|
||||
ID_VENDOR_FROM_DATABASE=Comm-N-Sense Corp DBA Verigo
|
||||
|
||||
bluetooth:v03B0*
|
||||
ID_VENDOR_FROM_DATABASE=VIBRADORM GmbH
|
||||
|
||||
bluetooth:v03B1*
|
||||
ID_VENDOR_FROM_DATABASE=Otodata Wireless Network Inc.
|
||||
|
||||
bluetooth:v03B2*
|
||||
ID_VENDOR_FROM_DATABASE=Propagation Systems Limited
|
||||
|
||||
bluetooth:v03B3*
|
||||
ID_VENDOR_FROM_DATABASE=Midwest Instruments & Controls
|
||||
|
||||
bluetooth:v03B4*
|
||||
ID_VENDOR_FROM_DATABASE=Alpha Nodus, inc.
|
||||
|
||||
bluetooth:v03B5*
|
||||
ID_VENDOR_FROM_DATABASE=petPOMM, Inc
|
||||
|
||||
bluetooth:v03B6*
|
||||
ID_VENDOR_FROM_DATABASE=Mattel
|
||||
|
||||
bluetooth:v03B7*
|
||||
ID_VENDOR_FROM_DATABASE=Airbly Inc.
|
||||
|
||||
bluetooth:v03B8*
|
||||
ID_VENDOR_FROM_DATABASE=A-Safe Limited
|
||||
|
||||
bluetooth:v03B9*
|
||||
ID_VENDOR_FROM_DATABASE=FREDERIQUE CONSTANT SA
|
||||
|
||||
bluetooth:v03BA*
|
||||
ID_VENDOR_FROM_DATABASE=Maxscend Microelectronics Company Limited
|
||||
|
||||
bluetooth:v03BB*
|
||||
ID_VENDOR_FROM_DATABASE=Abbott Diabetes Care
|
||||
|
||||
bluetooth:v03BC*
|
||||
ID_VENDOR_FROM_DATABASE=ASB Bank Ltd
|
||||
|
||||
bluetooth:v03BD*
|
||||
ID_VENDOR_FROM_DATABASE=amadas
|
||||
|
||||
bluetooth:v03BE*
|
||||
ID_VENDOR_FROM_DATABASE=Applied Science, Inc.
|
||||
|
||||
bluetooth:v03BF*
|
||||
ID_VENDOR_FROM_DATABASE=iLumi Solutions Inc.
|
||||
|
||||
bluetooth:v03C0*
|
||||
ID_VENDOR_FROM_DATABASE=Arch Systems Inc.
|
||||
|
||||
bluetooth:v03C1*
|
||||
ID_VENDOR_FROM_DATABASE=Ember Technologies, Inc.
|
||||
|
||||
bluetooth:v03C2*
|
||||
ID_VENDOR_FROM_DATABASE=Snapchat Inc
|
||||
|
||||
bluetooth:v03C3*
|
||||
ID_VENDOR_FROM_DATABASE=Casambi Technologies Oy
|
||||
|
||||
bluetooth:v03C4*
|
||||
ID_VENDOR_FROM_DATABASE=Pico Technology Inc.
|
||||
|
||||
bluetooth:v03C5*
|
||||
ID_VENDOR_FROM_DATABASE=St. Jude Medical, Inc.
|
||||
|
||||
bluetooth:v03C6*
|
||||
ID_VENDOR_FROM_DATABASE=Intricon
|
||||
|
||||
bluetooth:v03C7*
|
||||
ID_VENDOR_FROM_DATABASE=Structural Health Systems, Inc.
|
||||
|
||||
bluetooth:v03C8*
|
||||
ID_VENDOR_FROM_DATABASE=Avvel International
|
||||
|
||||
bluetooth:v03C9*
|
||||
ID_VENDOR_FROM_DATABASE=Gallagher Group
|
||||
|
||||
bluetooth:v03CA*
|
||||
ID_VENDOR_FROM_DATABASE=In2things Automation Pvt. Ltd.
|
||||
|
||||
bluetooth:v03CB*
|
||||
ID_VENDOR_FROM_DATABASE=SYSDEV Srl
|
||||
|
||||
bluetooth:v03CC*
|
||||
ID_VENDOR_FROM_DATABASE=Vonkil Technologies Ltd
|
||||
|
||||
bluetooth:v03CD*
|
||||
ID_VENDOR_FROM_DATABASE=Wynd Technologies, Inc.
|
||||
|
||||
bluetooth:v03CE*
|
||||
ID_VENDOR_FROM_DATABASE=CONTRINEX S.A.
|
||||
|
||||
bluetooth:v03CF*
|
||||
ID_VENDOR_FROM_DATABASE=MIRA, Inc.
|
||||
|
||||
bluetooth:v03D0*
|
||||
ID_VENDOR_FROM_DATABASE=Watteam Ltd
|
||||
|
||||
bluetooth:v03D1*
|
||||
ID_VENDOR_FROM_DATABASE=Density Inc.
|
||||
|
||||
bluetooth:v03D2*
|
||||
ID_VENDOR_FROM_DATABASE=IOT Pot India Private Limited
|
||||
|
||||
bluetooth:v03D3*
|
||||
ID_VENDOR_FROM_DATABASE=Sigma Connectivity AB
|
||||
|
||||
bluetooth:v03D4*
|
||||
ID_VENDOR_FROM_DATABASE=PEG PEREGO SPA
|
||||
|
||||
bluetooth:v03D5*
|
||||
ID_VENDOR_FROM_DATABASE=Wyzelink Systems Inc.
|
||||
|
||||
bluetooth:v03D6*
|
||||
ID_VENDOR_FROM_DATABASE=Yota Devices LTD
|
||||
|
||||
bluetooth:v03D7*
|
||||
ID_VENDOR_FROM_DATABASE=FINSECUR
|
||||
|
||||
bluetooth:v03D8*
|
||||
ID_VENDOR_FROM_DATABASE=Zen-Me Labs Ltd
|
||||
|
||||
bluetooth:v03D9*
|
||||
ID_VENDOR_FROM_DATABASE=3IWare Co., Ltd.
|
||||
|
||||
bluetooth:v03DA*
|
||||
ID_VENDOR_FROM_DATABASE=EnOcean GmbH
|
||||
|
||||
bluetooth:v03DB*
|
||||
ID_VENDOR_FROM_DATABASE=Instabeat, Inc
|
||||
|
||||
bluetooth:v03DC*
|
||||
ID_VENDOR_FROM_DATABASE=Nima Labs
|
||||
|
||||
bluetooth:v03DD*
|
||||
ID_VENDOR_FROM_DATABASE=Andreas Stihl AG & Co. KG
|
||||
|
||||
bluetooth:v03DE*
|
||||
ID_VENDOR_FROM_DATABASE=Nathan Rhoades LLC
|
||||
|
||||
bluetooth:v03DF*
|
||||
ID_VENDOR_FROM_DATABASE=Grob Technologies, LLC
|
||||
|
||||
bluetooth:v03E0*
|
||||
ID_VENDOR_FROM_DATABASE=Actions (Zhuhai) Technology Co., Limited
|
||||
|
||||
bluetooth:v03E1*
|
||||
ID_VENDOR_FROM_DATABASE=SPD Development Company Ltd
|
||||
|
||||
bluetooth:v03E2*
|
||||
ID_VENDOR_FROM_DATABASE=Sensoan Oy
|
||||
|
||||
bluetooth:v03E3*
|
||||
ID_VENDOR_FROM_DATABASE=Qualcomm Life Inc
|
||||
|
||||
bluetooth:v03E4*
|
||||
ID_VENDOR_FROM_DATABASE=Chip-ing AG
|
||||
|
||||
bluetooth:v03E5*
|
||||
ID_VENDOR_FROM_DATABASE=ffly4u
|
||||
|
||||
bluetooth:v03E6*
|
||||
ID_VENDOR_FROM_DATABASE=IoT Instruments Oy
|
||||
|
||||
bluetooth:v03E7*
|
||||
ID_VENDOR_FROM_DATABASE=TRUE Fitness Technology
|
||||
|
||||
bluetooth:v03E8*
|
||||
ID_VENDOR_FROM_DATABASE=Reiner Kartengeraete GmbH & Co. KG.
|
||||
|
||||
bluetooth:v03E9*
|
||||
ID_VENDOR_FROM_DATABASE=SHENZHEN LEMONJOY TECHNOLOGY CO., LTD.
|
||||
|
||||
bluetooth:v03EA*
|
||||
ID_VENDOR_FROM_DATABASE=Hello Inc.
|
||||
|
||||
bluetooth:v03EB*
|
||||
ID_VENDOR_FROM_DATABASE=Evollve Inc.
|
||||
|
||||
bluetooth:v03EC*
|
||||
ID_VENDOR_FROM_DATABASE=Jigowatts Inc.
|
||||
|
||||
bluetooth:v03ED*
|
||||
ID_VENDOR_FROM_DATABASE=BASIC MICRO.COM,INC.
|
||||
|
||||
bluetooth:v03EE*
|
||||
ID_VENDOR_FROM_DATABASE=CUBE TECHNOLOGIES
|
||||
|
||||
bluetooth:v03EF*
|
||||
ID_VENDOR_FROM_DATABASE=foolography GmbH
|
||||
|
||||
bluetooth:v03F0*
|
||||
ID_VENDOR_FROM_DATABASE=CLINK
|
||||
|
||||
bluetooth:v03F1*
|
||||
ID_VENDOR_FROM_DATABASE=Hestan Smart Cooking Inc.
|
||||
|
||||
bluetooth:v03F2*
|
||||
ID_VENDOR_FROM_DATABASE=WindowMaster A/S
|
||||
|
||||
bluetooth:v03F3*
|
||||
ID_VENDOR_FROM_DATABASE=Flowscape AB
|
||||
|
||||
bluetooth:v03F4*
|
||||
ID_VENDOR_FROM_DATABASE=PAL Technologies Ltd
|
||||
|
||||
bluetooth:v03F5*
|
||||
ID_VENDOR_FROM_DATABASE=WHERE, Inc.
|
||||
|
||||
bluetooth:v03F6*
|
||||
ID_VENDOR_FROM_DATABASE=Iton Technology Corp.
|
||||
|
||||
bluetooth:v03F7*
|
||||
ID_VENDOR_FROM_DATABASE=Owl Labs Inc.
|
||||
|
||||
bluetooth:v03F8*
|
||||
ID_VENDOR_FROM_DATABASE=Rockford Corp.
|
||||
|
||||
bluetooth:v03F9*
|
||||
ID_VENDOR_FROM_DATABASE=Becon Technologies Co.,Ltd.
|
||||
|
||||
bluetooth:v03FA*
|
||||
ID_VENDOR_FROM_DATABASE=Vyassoft Technologies Inc
|
||||
|
||||
bluetooth:v03FB*
|
||||
ID_VENDOR_FROM_DATABASE=Nox Medical
|
||||
|
||||
bluetooth:v03FC*
|
||||
ID_VENDOR_FROM_DATABASE=Kimberly-Clark
|
||||
|
||||
bluetooth:v03FD*
|
||||
ID_VENDOR_FROM_DATABASE=Trimble Navigation Ltd.
|
||||
|
||||
bluetooth:v03FE*
|
||||
ID_VENDOR_FROM_DATABASE=Littelfuse
|
||||
|
||||
bluetooth:v03FF*
|
||||
ID_VENDOR_FROM_DATABASE=Withings
|
||||
|
||||
bluetooth:v0400*
|
||||
ID_VENDOR_FROM_DATABASE=i-developer IT Beratung UG
|
||||
|
||||
bluetooth:v0401*
|
||||
ID_VENDOR_FROM_DATABASE=リレーションズ株式会社
|
||||
|
||||
bluetooth:v0402*
|
||||
ID_VENDOR_FROM_DATABASE=Sears Holdings Corporation
|
||||
|
||||
bluetooth:v0403*
|
||||
ID_VENDOR_FROM_DATABASE=Gantner Electronic GmbH
|
||||
|
||||
bluetooth:v0404*
|
||||
ID_VENDOR_FROM_DATABASE=Authomate Inc
|
||||
|
||||
bluetooth:v0405*
|
||||
ID_VENDOR_FROM_DATABASE=Vertex International, Inc.
|
||||
|
||||
bluetooth:v0406*
|
||||
ID_VENDOR_FROM_DATABASE=Airtago
|
||||
|
||||
bluetooth:v0407*
|
||||
ID_VENDOR_FROM_DATABASE=Swiss Audio SA
|
||||
|
||||
bluetooth:v0408*
|
||||
ID_VENDOR_FROM_DATABASE=ToGetHome Inc.
|
||||
|
||||
bluetooth:v0409*
|
||||
ID_VENDOR_FROM_DATABASE=AXIS
|
||||
|
||||
bluetooth:v040A*
|
||||
ID_VENDOR_FROM_DATABASE=Openmatics
|
||||
|
||||
bluetooth:v040B*
|
||||
ID_VENDOR_FROM_DATABASE=Jana Care Inc.
|
||||
|
||||
bluetooth:v040C*
|
||||
ID_VENDOR_FROM_DATABASE=Senix Corporation
|
||||
|
||||
bluetooth:v040D*
|
||||
ID_VENDOR_FROM_DATABASE=NorthStar Battery Company, LLC
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -45,6 +45,8 @@
|
||||
|
||||
# Macbook2,1 (late 2006), single-button touchpad
|
||||
evdev:input:b0003v05ACp021B*
|
||||
# Macbook4,1
|
||||
evdev:input:b0003v05ACp0229*
|
||||
EVDEV_ABS_00=256:1471:12
|
||||
EVDEV_ABS_01=256:831:12
|
||||
|
||||
@ -76,9 +78,9 @@ evdev:input:b0003v05ACp0254*
|
||||
EVDEV_ABS_36=::92
|
||||
|
||||
# MacbookPro10,1 (unibody, June 2012)
|
||||
evdev:input:b0003v05ACp0259*
|
||||
evdev:input:b0003v05ACp025A*
|
||||
evdev:input:b0003v05ACp025B*
|
||||
evdev:input:b0003v05ACp0262*
|
||||
evdev:input:b0003v05ACp0263*
|
||||
evdev:input:b0003v05ACp0264*
|
||||
# MacbookPro10,2 (unibody, October 2012)
|
||||
evdev:input:b0003v05ACp0259*
|
||||
evdev:input:b0003v05ACp025A*
|
||||
@ -134,6 +136,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 Precision 5510
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnPrecision5510*
|
||||
EVDEV_ABS_00=::42
|
||||
EVDEV_ABS_01=::43
|
||||
EVDEV_ABS_35=::42
|
||||
EVDEV_ABS_36=::43
|
||||
|
||||
# Dell Precision M4700
|
||||
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:*svnDellInc.:pnPrecisionM4700*
|
||||
EVDEV_ABS_00=0:1960:24
|
||||
@ -148,6 +157,11 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnXPS159550*
|
||||
EVDEV_ABS_35=::41
|
||||
EVDEV_ABS_36=::43
|
||||
|
||||
# Dell XPS M1530
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:bvn*:bvr*:bd*:svnDellInc.:pnXPSM1530*
|
||||
EVDEV_ABS_00=85:947:15
|
||||
EVDEV_ABS_01=154:726:18
|
||||
|
||||
#########################################
|
||||
# Google
|
||||
#########################################
|
||||
@ -181,6 +195,13 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:pn*ThinkPadEdgeE530*
|
||||
EVDEV_ABS_35=1241:5703:49
|
||||
EVDEV_ABS_36=1105:4820:68
|
||||
|
||||
# Lenovo L430
|
||||
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnLENOVO*:pvrThinkPadL430*
|
||||
EVDEV_ABS_00=19:2197:29
|
||||
EVDEV_ABS_01=12:1151:25
|
||||
EVDEV_ABS_35=19:2197:29
|
||||
EVDEV_ABS_36=12:1151:25
|
||||
|
||||
# Lenovo P50
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*P50*
|
||||
EVDEV_ABS_00=::44
|
||||
@ -188,6 +209,14 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*P50*
|
||||
EVDEV_ABS_35=::44
|
||||
EVDEV_ABS_36=::67
|
||||
|
||||
# Lenovo *40 series
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPad??40:*
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPad??40?:*
|
||||
EVDEV_ABS_00=::41
|
||||
EVDEV_ABS_01=::37
|
||||
EVDEV_ABS_35=::41
|
||||
EVDEV_ABS_36=::37
|
||||
|
||||
# Lenovo T460
|
||||
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*T460*
|
||||
EVDEV_ABS_00=1266:5677:44
|
||||
@ -226,6 +255,20 @@ evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoideapadY700-14ISK*
|
||||
EVDEV_ABS_35=::27
|
||||
EVDEV_ABS_36=::29
|
||||
|
||||
# Lenovo Ideapad 500S-13ISK
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoideapad500S-13ISK*
|
||||
EVDEV_ABS_00=125:3955:37
|
||||
EVDEV_ABS_01=104:1959:27
|
||||
EVDEV_ABS_35=125:3954:37
|
||||
EVDEV_ABS_36=104:1959:27
|
||||
|
||||
# Lenovo Yoga 500-14ISK
|
||||
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoYoga500-14ISK*
|
||||
EVDEV_ABS_00=124:3955:36
|
||||
EVDEV_ABS_01=103:1959:26
|
||||
EVDEV_ABS_35=124:3955:36
|
||||
EVDEV_ABS_36=103:1959:26
|
||||
|
||||
#########################################
|
||||
# Samsung
|
||||
#########################################
|
||||
|
@ -213,7 +213,7 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pn*
|
||||
KEYBOARD_KEY_8a=suspend # Fn+F1 hibernate
|
||||
KEYBOARD_KEY_8b=switchvideomode # Fn+F8 CRT/LCD (high keycode: "displaytoggle")
|
||||
KEYBOARD_KEY_8c=unknown # Fn+Right Auto Brightness
|
||||
KEYBOARD_KEY_8F=switchvideomode # Fn+F7 aspect ratio
|
||||
KEYBOARD_KEY_8f=switchvideomode # Fn+F7 aspect ratio
|
||||
KEYBOARD_KEY_90=previoussong # Front panel previous song
|
||||
KEYBOARD_KEY_91=prog1 # Wi-Fi Catcher (Dell-specific)
|
||||
KEYBOARD_KEY_92=media # MediaDirect button (house icon)
|
||||
@ -238,8 +238,9 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1110:pvr*
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1210:pvr*
|
||||
KEYBOARD_KEY_84=wlan
|
||||
|
||||
# Dell Inspiron 1520
|
||||
# Dell Inspiron 1520 and Latitude 2110
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1520:pvr*
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*2110:pvr*
|
||||
KEYBOARD_KEY_85=unknown # Brightness Down, also emitted by acpi-video, ignore
|
||||
KEYBOARD_KEY_86=unknown # Brightness Up, also emitted by acpi-video, ignore
|
||||
|
||||
@ -482,8 +483,7 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnFalco:pvr*
|
||||
KEYBOARD_KEY_43=volumedown
|
||||
KEYBOARD_KEY_44=volumeup
|
||||
KEYBOARD_KEY_db=search # Same position as caps lock key on most keyboards
|
||||
# KEYBOARD_KEY_3e=fullscreen, no defined key sym
|
||||
|
||||
# KEYBOARD_KEY_3e=fullscreen, no defined key sym
|
||||
|
||||
# HP EliteBook 725 G2
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHPLicrice:pvr*
|
||||
@ -694,7 +694,7 @@ evdev:input:b0003v046DpC308*
|
||||
KEYBOARD_KEY_90003=finance # Finance
|
||||
KEYBOARD_KEY_90004=prog1 # My Sites
|
||||
KEYBOARD_KEY_90005=prog2 # Community
|
||||
KEYBOARD_KEY_C0183=media # Media
|
||||
KEYBOARD_KEY_c0183=media # Media
|
||||
|
||||
# Cordless Desktop S510
|
||||
evdev:input:b0003v046DpC50C*
|
||||
@ -759,22 +759,22 @@ evdev:input:b0003v046DpC52D*
|
||||
|
||||
# Internet Navigator
|
||||
evdev:input:b0003v046DpC309*
|
||||
KEYBOARD_KEY_90001=chat # Messenger/SMS
|
||||
KEYBOARD_KEY_90002=camera # webcam
|
||||
KEYBOARD_KEY_90003=prog1 # iTouch
|
||||
KEYBOARD_KEY_90004=shop # Shopping
|
||||
KEYBOARD_KEY_C0201=new # New (F1)
|
||||
KEYBOARD_KEY_C0289=reply # Reply mail (F2)
|
||||
KEYBOARD_KEY_C028B=forwardmail # Forward mail (F3)
|
||||
KEYBOARD_KEY_C028C=send # Send (F4)
|
||||
KEYBOARD_KEY_C021A=undo # Undo (F5).
|
||||
KEYBOARD_KEY_C0279=redo # Redo (F6).
|
||||
KEYBOARD_KEY_C0208=print # Print (F7)
|
||||
KEYBOARD_KEY_C0207=save # Save (F8)
|
||||
KEYBOARD_KEY_C0194=file # My Computer (F9)
|
||||
KEYBOARD_KEY_C01A7=documents # My Documents (F10)
|
||||
KEYBOARD_KEY_C01B6=images # My Pictures (F11) ??
|
||||
KEYBOARD_KEY_C01B7=sound # My Music (F12) ??
|
||||
KEYBOARD_KEY_90001=chat # Messenger/SMS
|
||||
KEYBOARD_KEY_90002=camera # webcam
|
||||
KEYBOARD_KEY_90003=prog1 # iTouch
|
||||
KEYBOARD_KEY_90004=shop # Shopping
|
||||
KEYBOARD_KEY_c0201=new # New (F1)
|
||||
KEYBOARD_KEY_c0289=reply # Reply mail (F2)
|
||||
KEYBOARD_KEY_c028b=forwardmail # Forward mail (F3)
|
||||
KEYBOARD_KEY_c028c=send # Send (F4)
|
||||
KEYBOARD_KEY_c021a=undo # Undo (F5)
|
||||
KEYBOARD_KEY_c0279=redo # Redo (F6)
|
||||
KEYBOARD_KEY_c0208=print # Print (F7)
|
||||
KEYBOARD_KEY_c0207=save # Save (F8)
|
||||
KEYBOARD_KEY_c0194=file # My Computer (F9)
|
||||
KEYBOARD_KEY_c01a7=documents # My Documents (F10)
|
||||
KEYBOARD_KEY_c01b6=images # My Pictures (F11) ??
|
||||
KEYBOARD_KEY_c01b7=sound # My Music (F12) ??
|
||||
|
||||
|
||||
###########################################################
|
||||
@ -797,6 +797,14 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMAXDATA:pnPro*7000*:pvr*
|
||||
# Medion
|
||||
###########################################################
|
||||
|
||||
# Akoya
|
||||
evdev:atkbd:dmi:bvn*:bvr*:svnMedion*:pnAkoya*:pvr*
|
||||
KEYBOARD_KEY_a0=!mute
|
||||
KEYBOARD_KEY_ae=!volumedown
|
||||
KEYBOARD_KEY_b0=!volumeup
|
||||
KEYBOARD_KEY_19=!p
|
||||
KEYBOARD_KEY_df=sleep
|
||||
|
||||
# FID2060
|
||||
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnMEDION*:pn*FID2060*:pvr*
|
||||
KEYBOARD_KEY_6b=channeldown # Thottle Down
|
||||
@ -889,7 +897,6 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnOLPC:pnXO:*
|
||||
KEYBOARD_KEY_c2=f8
|
||||
KEYBOARD_KEY_c3=f9
|
||||
KEYBOARD_KEY_c4=f10
|
||||
KEYBOARD_KEY_c7=f11
|
||||
KEYBOARD_KEY_d8=f12
|
||||
KEYBOARD_KEY_f7=f13
|
||||
KEYBOARD_KEY_f6=f14
|
||||
@ -909,7 +916,7 @@ evdev:atkbd:dmi:bvn*:bvr*:bd*:svnOLPC:pnXO:*
|
||||
KEYBOARD_KEY_c9=pageup
|
||||
KEYBOARD_KEY_d1=pagedown
|
||||
KEYBOARD_KEY_c7=home
|
||||
KEYBOARD_KEY_cF=end
|
||||
KEYBOARD_KEY_cf=end
|
||||
KEYBOARD_KEY_73=hp
|
||||
KEYBOARD_KEY_7e=hp
|
||||
KEYBOARD_KEY_db=leftmeta # left grab
|
||||
|
@ -44,8 +44,19 @@
|
||||
# udevadm info /dev/input/eventXX.
|
||||
#
|
||||
# Allowed properties are:
|
||||
# ID_INPUT_TRACKBALL
|
||||
# MOUSE_DPI
|
||||
# MOUSE_WHEEL_CLICK_ANGLE
|
||||
# MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL
|
||||
# MOUSE_WHEEL_CLICK_COUNT
|
||||
# MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL
|
||||
#
|
||||
#########################################
|
||||
# ID_INPUT_TRACKBALL #
|
||||
#########################################
|
||||
#
|
||||
# Specified *in additition* to ID_INPUT_MOUSE if the device is a trackball.
|
||||
# Removing ID_INPUT_MOUSE will break backwards compatibility.
|
||||
#
|
||||
#########################################
|
||||
# MOUSE_DPI #
|
||||
@ -95,12 +106,46 @@
|
||||
# MOUSE_WHEEL_CLICK_ANGLE=<degrees>
|
||||
#
|
||||
# Most mice have a 15 degree click stop (24 clicks per full rotation).
|
||||
# For backwards-compatibility, the click angle must be an integer.
|
||||
# Where a device has non-integer click angles, the MOUSE_WHEEL_CLICK_COUNT
|
||||
# property should also be specified.
|
||||
#
|
||||
#########################################
|
||||
# MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL #
|
||||
#########################################
|
||||
#
|
||||
# Identical to MOUSE_WHEEL_CLICK_ANGLE but for the horizontal scroll wheel.
|
||||
# This property may only be specified if the angle for the horizontal
|
||||
# scroll wheel differs from the vertical wheel. If so, *both* click angles
|
||||
# must be specified.
|
||||
#
|
||||
#########################################
|
||||
# MOUSE_WHEEL_CLICK_COUNT #
|
||||
# MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL #
|
||||
#########################################
|
||||
#
|
||||
# The number of clicks the wheel sends per 360 degree rotation. This
|
||||
# property should only be used where the click angle is not an integer.
|
||||
# For backwards compatibility it must be specified in addition to
|
||||
# MOUSE_WHEEL_CLICK_ANGLE.
|
||||
# Clients should prefer MOUSE_WHEEL_CLICK_COUNT where available, it is more
|
||||
# precise than MOUSE_WHEEL_CLICK_ANGLE.
|
||||
#
|
||||
# MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL works the same way but also follows the
|
||||
# rules of MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL.
|
||||
|
||||
#
|
||||
# Sort by brand, type (usb, bluetooth), DPI, frequency.
|
||||
# For mice with switchable resolution, sort by the starred entry.
|
||||
|
||||
##########################################
|
||||
# Generic
|
||||
##########################################
|
||||
mouse:*:name:*Trackball*:
|
||||
mouse:*:name:*trackball*:
|
||||
mouse:*:name:*TrackBall*:
|
||||
ID_INPUT_TRACKBALL=1
|
||||
|
||||
##########################################
|
||||
# Apple
|
||||
##########################################
|
||||
@ -231,6 +276,7 @@ mouse:usb:v04b3p310c:name:USB Optical Mouse:
|
||||
# Logitech M570 trackball
|
||||
mouse:usb:v046dp1028:name:Logitech M570:
|
||||
MOUSE_DPI=540@167
|
||||
ID_INPUT_TRACKBALL=1
|
||||
|
||||
# Logitech USB-PS/2 M-BZ96C
|
||||
mouse:usb:v046dpc045:name:Logitech USB-PS/2 Optical Mouse:
|
||||
@ -280,7 +326,7 @@ mouse:usb:v046dpc049:name:Logitech USB Gaming Mouse:
|
||||
mouse:usb:v046dpc24e:name:Logitech G500s Laser Gaming Mouse:
|
||||
MOUSE_DPI=400@500 *800@500 2000@500
|
||||
|
||||
# Logitech G9
|
||||
# Logitech G9
|
||||
mouse:usb:v046dpc048:name:Logitech G9 Laser Mouse:
|
||||
MOUSE_DPI=400@1000 800@1000 *1600@1000
|
||||
|
||||
@ -325,13 +371,18 @@ mouse:usb:v046dp402d:name:Logitech M560:
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:402d:
|
||||
MOUSE_DPI=1000@125
|
||||
|
||||
# Logitech V220 Cordless Optical Mouse
|
||||
mouse:usb:v046dpc51b:name:Logitech USB Receiver:
|
||||
# Logitech Performance MX
|
||||
mouse:usb:v046dp101a:name:Logitech Performance MX:
|
||||
MOUSE_DPI=1000@166
|
||||
|
||||
# Logitech MX Master
|
||||
# Horiz wheel has 14 stops, angle is rounded up
|
||||
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
|
||||
|
||||
# Logitech MK260 Wireless Combo Receiver aka M-R0011
|
||||
mouse:usb:v046dpc52e:name:Logitech USB Receiver:
|
||||
@ -356,11 +407,6 @@ mouse:usb:v046dp4027:name:Logitech T620:
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4027:
|
||||
MOUSE_DPI=1200@250
|
||||
|
||||
# Logitech LX8 Cordless Laser Mouse
|
||||
mouse:usb:v046dpc51b:name:Logitech USB Receiver:
|
||||
MOUSE_DPI=1300@125
|
||||
MOUSE_WHEEL_CLICK_ANGLE=15
|
||||
|
||||
# Logitech ZoneTouch Mouse T400
|
||||
mouse:usb:v046dp4026:name:Logitech T400:
|
||||
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4026:
|
||||
@ -483,3 +529,11 @@ mouse:usb:v1038p1369:name:SteelSeries Sensei Raw Gaming Mouse:
|
||||
# Trust illuminated mouse gxt 152
|
||||
mouse:usb:v145fp01ac:name:HID-compliant Mouse Trust Gaming Mouse:
|
||||
MOUSE_DPI=*800@528 1200@537 1600@536 2400@521
|
||||
|
||||
##########################################
|
||||
# Zelotes
|
||||
##########################################
|
||||
|
||||
# Zelotes 5500 DPI 7 Button USB Wired Gaming Mouse
|
||||
mouse:usb:v1d57pad17:*
|
||||
MOUSE_DPI=1000@500 1600@500 2400@500 3200@500 5500@500 *1000@1000 1600@1000 2400@1000 3200@1000 5500@1000
|
||||
|
@ -77,15 +77,19 @@
|
||||
|
||||
# Latitude D620
|
||||
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeD620*:pvr*
|
||||
POINTINGSTICK_CONST_ACCEL=0.5
|
||||
POINTINGSTICK_CONST_ACCEL=0.5
|
||||
|
||||
# Latitude E6320
|
||||
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6320*:pvr*
|
||||
POINTINGSTICK_CONST_ACCEL=2.0
|
||||
POINTINGSTICK_CONST_ACCEL=2.0
|
||||
|
||||
# Latitude E6400
|
||||
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6400*:pvr*
|
||||
POINTINGSTICK_CONST_ACCEL=1.5
|
||||
POINTINGSTICK_CONST_ACCEL=1.5
|
||||
|
||||
# Latitude E7470
|
||||
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE7470*:pvr*
|
||||
POINTINGSTICK_CONST_ACCEL=0.6
|
||||
|
||||
#########################################
|
||||
# Lenovo
|
||||
@ -95,25 +99,28 @@ evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6400*:pvr*
|
||||
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX230:*
|
||||
# Lenovo Thinkpad X230 tablet
|
||||
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX230Tablet:*
|
||||
# Lenovo Thinkpad X240
|
||||
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX240:*
|
||||
# Lenovo Thinkpad T440s
|
||||
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadT440s:*
|
||||
# Lenovo Thinkpad T540p
|
||||
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadT540p:*
|
||||
# Lenovo Thinkpad T550 / W550s
|
||||
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadT550:*
|
||||
# Lenovo Thinkpad *40 series
|
||||
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??40:*
|
||||
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??40?:*
|
||||
# Lenovo Thinkpad *50 series
|
||||
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??50:*
|
||||
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??50?:*
|
||||
# Lenovo Thinkpad *60 series
|
||||
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??60:*
|
||||
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPad??60?:*
|
||||
# Lenovo Thinkpad X1 Carbon 3rd gen
|
||||
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX1Carbon3rd:*
|
||||
# Lenovo Thinkpad X1 Carbon 4th gen
|
||||
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX1Carbon4th:*
|
||||
POINTINGSTICK_SENSITIVITY=200
|
||||
POINTINGSTICK_CONST_ACCEL=1.0
|
||||
# Lenovo Thinkpad X1 Tablet
|
||||
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX1Tablet:*
|
||||
POINTINGSTICK_SENSITIVITY=200
|
||||
POINTINGSTICK_CONST_ACCEL=1.0
|
||||
|
||||
# Lenovo Thinkpad X200s / X201s
|
||||
# Note these come with 2 revisions of keyboard, with the trackpoints having a
|
||||
# different sensitivity in the different revisions. 1.25 is a bit slow for the
|
||||
# least sensitive revision, but it is better to be a bit slow than too fast.
|
||||
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX20?s:*
|
||||
POINTINGSTICK_SENSITIVITY=200
|
||||
POINTINGSTICK_CONST_ACCEL=1.25
|
||||
POINTINGSTICK_SENSITIVITY=200
|
||||
POINTINGSTICK_CONST_ACCEL=1.25
|
||||
|
200
hwdb/parse_hwdb.py
Executable file
200
hwdb/parse_hwdb.py
Executable file
@ -0,0 +1,200 @@
|
||||
#!/usr/bin/python3
|
||||
# -*- Mode: python; coding: utf-8; indent-tabs-mode: nil -*- */
|
||||
#
|
||||
# This file is part of systemd. It is distrubuted under the MIT license, see
|
||||
# below.
|
||||
#
|
||||
# Copyright 2016 Zbigniew Jędrzejewski-Szmek
|
||||
#
|
||||
# The MIT License (MIT)
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# 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
|
||||
import os
|
||||
|
||||
try:
|
||||
from pyparsing import (Word, White, Literal, ParserElement, Regex,
|
||||
LineStart, LineEnd,
|
||||
ZeroOrMore, OneOrMore, Combine, Or, Optional, Suppress, Group,
|
||||
nums, alphanums, printables,
|
||||
stringEnd, pythonStyleComment,
|
||||
ParseBaseException)
|
||||
except ImportError:
|
||||
print('pyparsing is not available')
|
||||
sys.exit(77)
|
||||
|
||||
try:
|
||||
from evdev.ecodes import ecodes
|
||||
except ImportError:
|
||||
ecodes = None
|
||||
print('WARNING: evdev is not available')
|
||||
|
||||
try:
|
||||
from functools import lru_cache
|
||||
except ImportError:
|
||||
# don't do caching on old python
|
||||
lru_cache = lambda: (lambda f: f)
|
||||
|
||||
EOL = LineEnd().suppress()
|
||||
EMPTYLINE = LineStart() + LineEnd()
|
||||
COMMENTLINE = pythonStyleComment + EOL
|
||||
INTEGER = Word(nums)
|
||||
REAL = Combine((INTEGER + Optional('.' + Optional(INTEGER))) ^ ('.' + INTEGER))
|
||||
UDEV_TAG = Word(string.ascii_uppercase, alphanums + '_')
|
||||
|
||||
TYPES = {'mouse': ('usb', 'bluetooth', 'ps2', '*'),
|
||||
'evdev': ('name', 'atkbd', 'input'),
|
||||
'touchpad': ('i8042', 'rmi', 'bluetooth', 'usb'),
|
||||
'keyboard': ('name', ),
|
||||
}
|
||||
|
||||
@lru_cache()
|
||||
def hwdb_grammar():
|
||||
ParserElement.setDefaultWhitespaceChars('')
|
||||
|
||||
prefix = Or(category + ':' + Or(conn) + ':'
|
||||
for category, conn in TYPES.items())
|
||||
matchline = Combine(prefix + Word(printables + ' ' + '®')) + EOL
|
||||
propertyline = (White(' ', exact=1).suppress() +
|
||||
Combine(UDEV_TAG - '=' - Word(alphanums + '_=:@*.! ') - Optional(pythonStyleComment)) +
|
||||
EOL)
|
||||
propertycomment = White(' ', exact=1) + pythonStyleComment + EOL
|
||||
|
||||
group = (OneOrMore(matchline('MATCHES*') ^ COMMENTLINE.suppress()) -
|
||||
OneOrMore(propertyline('PROPERTIES*') ^ propertycomment.suppress()) -
|
||||
(EMPTYLINE ^ stringEnd()).suppress() )
|
||||
commentgroup = OneOrMore(COMMENTLINE).suppress() - EMPTYLINE.suppress()
|
||||
|
||||
grammar = OneOrMore(group('GROUPS*') ^ commentgroup) + stringEnd()
|
||||
|
||||
return grammar
|
||||
|
||||
@lru_cache()
|
||||
def property_grammar():
|
||||
ParserElement.setDefaultWhitespaceChars(' ')
|
||||
|
||||
setting = Optional('*')('DEFAULT') + INTEGER('DPI') + Suppress('@') + INTEGER('HZ')
|
||||
props = (('MOUSE_DPI', Group(OneOrMore(setting('SETTINGS*')))),
|
||||
('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')),
|
||||
('POINTINGSTICK_SENSITIVITY', INTEGER),
|
||||
('POINTINGSTICK_CONST_ACCEL', REAL),
|
||||
('ID_INPUT_TOUCHPAD_INTEGRATION', Or(('internal', 'external'))),
|
||||
)
|
||||
fixed_props = [Literal(name)('NAME') - Suppress('=') - val('VALUE')
|
||||
for name, val in props]
|
||||
kbd_props = [Regex(r'KEYBOARD_KEY_[0-9a-f]+')('NAME')
|
||||
- Suppress('=') -
|
||||
('!' ^ (Optional('!') - Word(alphanums + '_')))('VALUE')
|
||||
]
|
||||
abs_props = [Regex(r'EVDEV_ABS_[0-9a-f]{2}')('NAME')
|
||||
- Suppress('=') -
|
||||
Word(nums + ':')('VALUE')
|
||||
]
|
||||
|
||||
grammar = Or(fixed_props + kbd_props + abs_props)
|
||||
|
||||
return grammar
|
||||
|
||||
ERROR = False
|
||||
def error(fmt, *args, **kwargs):
|
||||
global ERROR
|
||||
ERROR = True
|
||||
print(fmt.format(*args, **kwargs))
|
||||
|
||||
def convert_properties(group):
|
||||
matches = [m[0] for m in group.MATCHES]
|
||||
props = [p[0] for p in group.PROPERTIES]
|
||||
return matches, props
|
||||
|
||||
def parse(fname):
|
||||
grammar = hwdb_grammar()
|
||||
try:
|
||||
parsed = grammar.parseFile(fname)
|
||||
except ParseBaseException as e:
|
||||
error('Cannot parse {}: {}', fname, e)
|
||||
return []
|
||||
return [convert_properties(g) for g in parsed.GROUPS]
|
||||
|
||||
def check_match_uniqueness(groups):
|
||||
matches = sum((group[0] for group in groups), [])
|
||||
matches.sort()
|
||||
prev = None
|
||||
for match in matches:
|
||||
if match == prev:
|
||||
error('Match {!r} is duplicated', match)
|
||||
prev = match
|
||||
|
||||
def check_one_default(prop, settings):
|
||||
defaults = [s for s in settings if s.DEFAULT]
|
||||
if len(defaults) > 1:
|
||||
error('More than one star entry: {!r}', prop)
|
||||
|
||||
def check_one_keycode(prop, value):
|
||||
if value != '!' and ecodes is not None:
|
||||
key = 'KEY_' + value.upper()
|
||||
if key not in ecodes:
|
||||
error('Keycode {} unknown', key)
|
||||
|
||||
def check_properties(groups):
|
||||
grammar = property_grammar()
|
||||
for matches, props in groups:
|
||||
prop_names = set()
|
||||
for prop in props:
|
||||
# print('--', prop)
|
||||
prop = prop.partition('#')[0].rstrip()
|
||||
try:
|
||||
parsed = grammar.parseString(prop)
|
||||
except ParseBaseException as e:
|
||||
error('Failed to parse: {!r}', prop)
|
||||
continue
|
||||
# print('{!r}'.format(parsed))
|
||||
if parsed.NAME in prop_names:
|
||||
error('Property {} is duplicated', parsed.NAME)
|
||||
prop_names.add(parsed.NAME)
|
||||
if parsed.NAME == 'MOUSE_DPI':
|
||||
check_one_default(prop, parsed.VALUE.SETTINGS)
|
||||
elif parsed.NAME.startswith('KEYBOARD_KEY_'):
|
||||
check_one_keycode(prop, parsed.VALUE)
|
||||
|
||||
def print_summary(fname, groups):
|
||||
print('{}: {} match groups, {} matches, {} properties'
|
||||
.format(fname,
|
||||
len(groups),
|
||||
sum(len(matches) 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')
|
||||
|
||||
for fname in args:
|
||||
groups = parse(fname)
|
||||
print_summary(fname, groups)
|
||||
check_match_uniqueness(groups)
|
||||
check_properties(groups)
|
||||
|
||||
sys.exit(ERROR)
|
@ -47,16 +47,16 @@
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>bootctl <arg choice="opt" rep="repeat">OPTIONS</arg>status</command>
|
||||
<command>bootctl <arg choice="opt" rep="repeat">OPTIONS</arg> status</command>
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis>
|
||||
<command>bootctl <arg choice="opt" rep="repeat">OPTIONS</arg>update</command>
|
||||
<command>bootctl <arg choice="opt" rep="repeat">OPTIONS</arg> update</command>
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis>
|
||||
<command>bootctl <arg choice="opt" rep="repeat">OPTIONS</arg>install</command>
|
||||
<command>bootctl <arg choice="opt" rep="repeat">OPTIONS</arg> install</command>
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis>
|
||||
<command>bootctl <arg choice="opt" rep="repeat">OPTIONS</arg>remove</command>
|
||||
<command>bootctl <arg choice="opt" rep="repeat">OPTIONS</arg> remove</command>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
@ -71,19 +71,14 @@
|
||||
currently installed versions of the boot loader binaries and
|
||||
all current EFI boot variables.</para>
|
||||
|
||||
<para><command>bootctl update</command> updates all installed
|
||||
versions of systemd-boot, if the current version is newer than the
|
||||
version installed in the EFI system partition. This also includes
|
||||
the EFI default/fallback loader at /EFI/BOOT/BOOT*.EFI. A
|
||||
systemd-boot entry in the EFI boot variables is created if there
|
||||
is no current entry. The created entry will be added to the end of
|
||||
the boot order list.</para>
|
||||
<para><command>bootctl update</command> updates all installed versions of systemd-boot, if the current version is
|
||||
newer than the version installed in the EFI system partition. This also includes the EFI default/fallback loader at
|
||||
<filename>/EFI/BOOT/BOOT*.EFI</filename>. A systemd-boot entry in the EFI boot variables is created if there is no
|
||||
current entry. The created entry will be added to the end of the boot order list.</para>
|
||||
|
||||
<para><command>bootctl install</command> installs systemd-boot into
|
||||
the EFI system partition. A copy of systemd-boot will be stored as
|
||||
the EFI default/fallback loader at /EFI/BOOT/BOOT*.EFI. A systemd-boot
|
||||
entry in the EFI boot variables is created and added to the top
|
||||
of the boot order list.</para>
|
||||
<para><command>bootctl install</command> installs systemd-boot into the EFI system partition. A copy of
|
||||
systemd-boot will be stored as the EFI default/fallback loader at <filename>/EFI/BOOT/BOOT*.EFI</filename>. A
|
||||
systemd-boot entry in the EFI boot variables is created and added to the top of the boot order list.</para>
|
||||
|
||||
<para><command>bootctl remove</command> removes all installed
|
||||
versions of systemd-boot from the EFI system partition, and removes
|
||||
@ -101,8 +96,10 @@
|
||||
<xi:include href="standard-options.xml" xpointer="help" />
|
||||
<xi:include href="standard-options.xml" xpointer="version" />
|
||||
<varlistentry>
|
||||
<term><option>--path</option></term>
|
||||
<listitem><para>Path to the EFI system partition. The default is /boot.</para></listitem>
|
||||
<term><option>--path=</option></term>
|
||||
<listitem><para>Path to the EFI System Partition (ESP). If not specified, <filename>/efi</filename>,
|
||||
<filename>/boot</filename>, and <filename>/boot/efi</filename> are checked in turn. It is recommended to mount
|
||||
the ESP to <filename>/boot</filename>, if possible.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
|
@ -83,16 +83,13 @@
|
||||
<varlistentry>
|
||||
<term><varname>Storage=</varname></term>
|
||||
|
||||
<listitem><para>Controls where to store cores. One of
|
||||
<literal>none</literal>, <literal>external</literal>,
|
||||
<literal>journal</literal>, and <literal>both</literal>. When
|
||||
<literal>none</literal>, the core dumps will be logged 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 following normal journal
|
||||
rotation patterns. When <literal>both</literal>, cores
|
||||
will be stored in both locations.</para>
|
||||
<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
|
||||
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
|
||||
following normal journal rotation patterns.</para>
|
||||
|
||||
<para>When cores are stored in the journal, they might be
|
||||
compressed following journal compression settings, see
|
||||
|
@ -326,6 +326,17 @@
|
||||
option implies <option>tcrypt</option>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>tcrypt-veracrypt</option></term>
|
||||
|
||||
<listitem><para>Check for a VeraCrypt volume. VeraCrypt is a fork of
|
||||
TrueCrypt that is mostly compatible, but uses different, stronger key
|
||||
derivation algorithms that cannot be detected without this flag.
|
||||
Enabling this option could substantially slow down unlocking, because
|
||||
VeraCrypt's key derivation takes much longer than TrueCrypt's. This
|
||||
option implies <option>tcrypt</option>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>timeout=</option></term>
|
||||
|
||||
|
@ -160,14 +160,12 @@
|
||||
<refsect1>
|
||||
<title>Negative Trust Anchors</title>
|
||||
|
||||
<para>Negative trust anchors define domains where DNSSEC
|
||||
validation shall be turned off. Negative trust anchor files are
|
||||
found at the same location as positive trust anchor files, and
|
||||
follow the same overriding rules. They are text files with the
|
||||
<filename>.negative</filename> suffix. Empty lines and lines whose
|
||||
first character is <literal>;</literal> are ignored. Each line
|
||||
specifies one domain name where DNSSEC validation shall be
|
||||
disabled on.</para>
|
||||
<para>Negative trust anchors define domains where DNSSEC validation shall be turned
|
||||
off. Negative trust anchor files are found at the same location as positive trust anchor files,
|
||||
and follow the same overriding rules. They are text files with the
|
||||
<filename>.negative</filename> suffix. Empty lines and lines whose first character is
|
||||
<literal>;</literal> are ignored. Each line specifies one domain name which is the root of a DNS
|
||||
subtree where validation shall be disabled.</para>
|
||||
|
||||
<para>Negative trust anchors are useful to support private DNS
|
||||
subtrees that are not referenced from the Internet DNS hierarchy,
|
||||
|
@ -71,10 +71,9 @@
|
||||
set, and is valid (something other than localhost), then the
|
||||
transient hostname is not used.</para>
|
||||
|
||||
<para>Note that the pretty hostname has little restrictions on the
|
||||
characters used, while the static and transient hostnames are
|
||||
limited to the usually accepted characters of Internet domain
|
||||
names.</para>
|
||||
<para>Note that the pretty hostname has little restrictions on the characters and length used, while the static and
|
||||
transient hostnames are limited to the usually accepted characters of Internet domain names, and 64 characters at
|
||||
maximum (the latter being a Linux limitation).</para>
|
||||
|
||||
<para>The static hostname is stored in
|
||||
<filename>/etc/hostname</filename>, see
|
||||
@ -107,15 +106,11 @@
|
||||
<term><option>--transient</option></term>
|
||||
<term><option>--pretty</option></term>
|
||||
|
||||
<listitem><para>If <command>status</command> is used (or no
|
||||
explicit command is given) and one of those fields is given,
|
||||
<command>hostnamectl</command> will print out just this
|
||||
selected hostname.</para>
|
||||
<listitem><para>If <command>status</command> is invoked (or no explicit command is given) and one of these
|
||||
switches is specified, <command>hostnamectl</command> will print out just this selected hostname.</para>
|
||||
|
||||
<para>If used with <command>set-hostname</command>, only the
|
||||
selected hostname(s) will be updated. When more than one of
|
||||
those options is used, all the specified hostnames will be
|
||||
updated. </para></listitem>
|
||||
<para>If used with <command>set-hostname</command>, only the selected hostname(s) will be updated. When more
|
||||
than one of these switches are specified, all the specified hostnames will be updated. </para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<xi:include href="user-system-options.xml" xpointer="host" />
|
||||
@ -139,22 +134,14 @@
|
||||
<varlistentry>
|
||||
<term><command>set-hostname <replaceable>NAME</replaceable></command></term>
|
||||
|
||||
<listitem><para>Set the system hostname to
|
||||
<replaceable>NAME</replaceable>. By default, this will alter
|
||||
the pretty, the static, and the transient hostname alike;
|
||||
however, if one or more of <option>--static</option>,
|
||||
<option>--transient</option>, <option>--pretty</option> are
|
||||
used, only the selected hostnames are changed. If the pretty
|
||||
hostname is being set, and static or transient are being set
|
||||
as well, the specified hostname will be simplified in regards
|
||||
to the character set used before the latter are updated. This
|
||||
is done by replacing spaces with <literal>-</literal> and
|
||||
removing special characters. This ensures that the pretty and
|
||||
the static hostname are always closely related while still
|
||||
following the validity rules of the specific name. This
|
||||
simplification of the hostname string is not done if only the
|
||||
transient and/or static host names are set, and the pretty
|
||||
host name is left untouched.</para>
|
||||
<listitem><para>Set the system hostname to <replaceable>NAME</replaceable>. By default, this will alter the
|
||||
pretty, the static, and the transient hostname alike; however, if one or more of <option>--static</option>,
|
||||
<option>--transient</option>, <option>--pretty</option> are used, only the selected hostnames are changed. If
|
||||
the pretty hostname is being set, and static or transient are being set as well, the specified hostname will be
|
||||
simplified in regards to the character set used before the latter are updated. This is done by removing special
|
||||
characters and spaces. This ensures that the pretty and the static hostname are always closely related while
|
||||
still following the validity rules of the specific name. This simplification of the hostname string is not done
|
||||
if only the transient and/or static host names are set, and the pretty host name is left untouched.</para>
|
||||
|
||||
<para>Pass the empty string <literal></literal> as the
|
||||
hostname to reset the selected hostnames to their default
|
||||
|
@ -45,22 +45,21 @@
|
||||
<refnamediv>
|
||||
<refname>journal-remote.conf</refname>
|
||||
<refname>journal-remote.conf.d</refname>
|
||||
<refpurpose>Journal remote service configuration files</refpurpose>
|
||||
<refpurpose>Configuration files for the service accepting remote journal uploads</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<para><filename>/etc/systemd/journal-remote.conf</filename></para>
|
||||
<para><filename>/etc/systemd/journald.conf.d/*.conf</filename></para>
|
||||
<para><filename>/run/systemd/journald.conf.d/*.conf</filename></para>
|
||||
<para><filename>/usr/lib/systemd/journald.conf.d/*.conf</filename></para>
|
||||
<para><filename>/etc/systemd/journal-remote.conf.d/*.conf</filename></para>
|
||||
<para><filename>/run/systemd/journal-remote.conf.d/*.conf</filename></para>
|
||||
<para><filename>/usr/lib/systemd/journal-remote.conf.d/*.conf</filename></para>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para>These files configure various parameters of the systemd-remote-journal
|
||||
application,
|
||||
<citerefentry><refentrytitle>systemd-journal-remote</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||||
<para>These files configure various parameters of
|
||||
<citerefentry><refentrytitle>systemd-journal-remote.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||||
</refsect1>
|
||||
|
||||
<xi:include href="standard-conf.xml" xpointer="main-conf" />
|
||||
|
113
man/journal-upload.conf.xml
Normal file
113
man/journal-upload.conf.xml
Normal file
@ -0,0 +1,113 @@
|
||||
<?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 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="journal-upload.conf" conditional='HAVE_MICROHTTPD'
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<refentryinfo>
|
||||
<title>journal-upload.conf</title>
|
||||
<productname>systemd</productname>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<contrib>Monkey with a keyboard</contrib>
|
||||
<firstname>Zbigniew</firstname>
|
||||
<surname>Jędrzejewski-Szmek</surname>
|
||||
<email>zbyszek@in.waw.pl</email>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>journal-upload.conf</refentrytitle>
|
||||
<manvolnum>5</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>journal-upload.conf</refname>
|
||||
<refname>journal-upload.conf.d</refname>
|
||||
<refpurpose>Configuration files for the journal upload service</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<para><filename>/etc/systemd/journal-upload.conf</filename></para>
|
||||
<para><filename>/etc/systemd/journal-upload.conf.d/*.conf</filename></para>
|
||||
<para><filename>/run/systemd/journal-upload.conf.d/*.conf</filename></para>
|
||||
<para><filename>/usr/lib/systemd/journal-upload.conf.d/*.conf</filename></para>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para>These files configure various parameters of
|
||||
<citerefentry><refentrytitle>systemd-journal-upload.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||||
</refsect1>
|
||||
|
||||
<xi:include href="standard-conf.xml" xpointer="main-conf" />
|
||||
|
||||
<refsect1>
|
||||
<title>Options</title>
|
||||
|
||||
<para>All options are configured in the <literal>[Upload]</literal> section:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><varname>URL=</varname></term>
|
||||
|
||||
<listitem><para>The URL to upload the journal entries to. See the description
|
||||
of <varname>--url=</varname> option in
|
||||
<citerefentry><refentrytitle>systemd-journal-upload</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
for the description of possible values.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>ServerKeyFile=</varname></term>
|
||||
|
||||
<listitem><para>SSL key in PEM format.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>ServerCertificateFile=</varname></term>
|
||||
|
||||
<listitem><para>SSL CA certificate in PEM format.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>TrustedCertificateFile=</varname></term>
|
||||
|
||||
<listitem><para>SSL CA certificate.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd-journal-upload</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
@ -248,6 +248,18 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<option>short-full</option>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>is very similar, but shows timestamps in the format the <option>--since=</option> and
|
||||
<option>--until=</option> options accept. Unlike the timestamp information shown in
|
||||
<option>short</option> output mode this mode includes weekday, year and timezone information in the
|
||||
output, and is locale-independent.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<option>short-iso</option>
|
||||
@ -572,24 +584,17 @@
|
||||
<term><option>-U</option></term>
|
||||
<term><option>--until=</option></term>
|
||||
|
||||
<listitem><para>Start showing entries on or newer than the
|
||||
specified date, or on or older than the specified date,
|
||||
respectively. Date specifications should be of the format
|
||||
<literal>2012-10-30 18:17:16</literal>. If the time part is
|
||||
omitted, <literal>00:00:00</literal> is assumed. If only the
|
||||
seconds component is omitted, <literal>:00</literal> is
|
||||
assumed. If the date component is omitted, the current day is
|
||||
assumed. Alternatively the strings
|
||||
<literal>yesterday</literal>, <literal>today</literal>,
|
||||
<literal>tomorrow</literal> are understood, which refer to
|
||||
00:00:00 of the day before the current day, the current day,
|
||||
or the day after the current day,
|
||||
respectively. <literal>now</literal> refers to the current
|
||||
time. Finally, relative times may be specified, prefixed with
|
||||
<literal>-</literal> or <literal>+</literal>, referring to
|
||||
times before or after the current time, respectively. For complete
|
||||
time and date specification, see
|
||||
<citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
|
||||
<listitem><para>Start showing entries on or newer than the specified date, or on or older than the specified
|
||||
date, respectively. Date specifications should be of the format <literal>2012-10-30 18:17:16</literal>. If the
|
||||
time part is omitted, <literal>00:00:00</literal> is assumed. If only the seconds component is omitted,
|
||||
<literal>:00</literal> is assumed. If the date component is omitted, the current day is assumed. Alternatively
|
||||
the strings <literal>yesterday</literal>, <literal>today</literal>, <literal>tomorrow</literal> are understood,
|
||||
which refer to 00:00:00 of the day before the current day, the current day, or the day after the current day,
|
||||
respectively. <literal>now</literal> refers to the current time. Finally, relative times may be specified,
|
||||
prefixed with <literal>-</literal> or <literal>+</literal>, referring to times before or after the current
|
||||
time, respectively. For complete time and date specification, see
|
||||
<citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>. Note that
|
||||
<option>--output=short-full</option> prints timestamps that follow precisely this format.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -654,10 +659,12 @@
|
||||
<term><option>--root=<replaceable>ROOT</replaceable></option></term>
|
||||
|
||||
<listitem><para>Takes a directory path as an argument. If
|
||||
specified, journalctl will operate on catalog file hierarchy
|
||||
specified, journalctl will operate on journal directories and catalog file hierarchy
|
||||
underneath the specified directory instead of the root
|
||||
directory (e.g. <option>--update-catalog</option> will create
|
||||
<filename><replaceable>ROOT</replaceable>/var/lib/systemd/catalog/database</filename>).
|
||||
<filename><replaceable>ROOT</replaceable>/var/lib/systemd/catalog/database</filename>,
|
||||
and journal files under <filename><replaceable>ROOT</replaceable>/run/journal</filename>
|
||||
or <filename><replaceable>ROOT</replaceable>/var/log/journal</filename> will be displayed).
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
@ -129,23 +129,15 @@
|
||||
<varlistentry>
|
||||
<term><varname>SplitMode=</varname></term>
|
||||
|
||||
<listitem><para>Controls whether to split up journal files per user. Split-up journal files are primarily
|
||||
useful for access control: on UNIX/Linux access control is managed per file, and the journal daemon will assign
|
||||
users read access to their journal files. This setting takes one of <literal>uid</literal>,
|
||||
<literal>login</literal> or <literal>none</literal>. If <literal>uid</literal>, all regular users will get each
|
||||
their own journal files regardless of whether their processes possess login sessions or not, however system
|
||||
users will log into the system journal. If <literal>login</literal>, actually logged-in users will get each
|
||||
their own journal files, but users without login session and system users will log into the system
|
||||
journal. Note that in this mode, user code running outside of any login session will log into the system log
|
||||
instead of the split-out user logs. Most importantly, this means that information about core dumps of user
|
||||
processes collected via the
|
||||
<citerefentry><refentrytitle>systemd-coredump</refentrytitle><manvolnum>8</manvolnum></citerefentry> subsystem
|
||||
will end up in the system logs instead of the user logs, and thus not be accessible to the owning users. If
|
||||
<literal>none</literal>, journal files are not split up by user and all messages are instead stored in the
|
||||
single system journal. In this mode unprivileged users generally do not have access to their own log data. Note
|
||||
that splitting up journal files by user is only available for journals stored persistently. If journals are
|
||||
stored on volatile storage (see above), only a single journal file for all user IDs is kept. Defaults to
|
||||
<literal>uid</literal>.</para></listitem>
|
||||
<listitem><para>Controls whether to split up journal files per user, either <literal>uid</literal> or
|
||||
<literal>none</literal>. Split journal files are primarily useful for access control: on UNIX/Linux access
|
||||
control is managed per file, and the journal daemon will assign users read access to their journal files. If
|
||||
<literal>uid</literal>, all regular users will each get their own journal files, and system users will log to
|
||||
the system journal. If <literal>none</literal>, journal files are not split up by user and all messages are
|
||||
instead stored in the single system journal. In this mode unprivileged users generally do not have access to
|
||||
their own log data. Note that splitting up journal files by user is only available for journals stored
|
||||
persistently. If journals are stored on volatile storage (see <varname>Storage=</varname> above), only a single
|
||||
journal file is used. Defaults to <literal>uid</literal>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -309,22 +301,21 @@
|
||||
<term><varname>ForwardToConsole=</varname></term>
|
||||
<term><varname>ForwardToWall=</varname></term>
|
||||
|
||||
<listitem><para>Control whether log messages received by the
|
||||
journal daemon shall be forwarded to a traditional syslog
|
||||
daemon, to the kernel log buffer (kmsg), to the system
|
||||
console, or sent as wall messages to all logged-in users.
|
||||
These options take boolean arguments. If forwarding to syslog
|
||||
is enabled but nothing reads messages from the socket,
|
||||
forwarding to syslog has no effect. By default, only
|
||||
forwarding to wall is enabled. These settings may be
|
||||
overridden at boot time with the kernel command line options
|
||||
<literal>systemd.journald.forward_to_syslog=</literal>,
|
||||
<literal>systemd.journald.forward_to_kmsg=</literal>,
|
||||
<literal>systemd.journald.forward_to_console=</literal>, and
|
||||
<literal>systemd.journald.forward_to_wall=</literal>. When
|
||||
forwarding to the console, the TTY to log to can be changed
|
||||
with <varname>TTYPath=</varname>, described
|
||||
below.</para></listitem>
|
||||
<listitem><para>Control whether log messages received by the journal daemon shall
|
||||
be forwarded to a traditional syslog daemon, to the kernel log buffer (kmsg), to
|
||||
the system console, or sent as wall messages to all logged-in users. These
|
||||
options take boolean arguments. If forwarding to syslog is enabled but nothing
|
||||
reads messages from the socket, forwarding to syslog has no effect. By default,
|
||||
only forwarding to wall is enabled. These settings may be overridden at boot time
|
||||
with the kernel command line options
|
||||
<literal>systemd.journald.forward_to_syslog</literal>,
|
||||
<literal>systemd.journald.forward_to_kmsg</literal>,
|
||||
<literal>systemd.journald.forward_to_console</literal>, and
|
||||
<literal>systemd.journald.forward_to_wall</literal>. If the option name is
|
||||
specified without <literal>=</literal> and the following argument, true is
|
||||
assumed. Otherwise, the argument is parsed as a boolean. When forwarding to the
|
||||
console, the TTY to log to can be changed with <varname>TTYPath=</varname>,
|
||||
described below.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -356,7 +347,14 @@
|
||||
<literal>notice</literal> for <varname>MaxLevelKMsg=</varname>,
|
||||
<literal>info</literal> for <varname>MaxLevelConsole=</varname>,
|
||||
and <literal>emerg</literal> for
|
||||
<varname>MaxLevelWall=</varname>.</para></listitem>
|
||||
<varname>MaxLevelWall=</varname>. These settings may be
|
||||
overridden at boot time with the kernel command line options
|
||||
<literal>systemd.journald.max_level_store=</literal>,
|
||||
<literal>systemd.journald.max_level_syslog=</literal>,
|
||||
<literal>systemd.journald.max_level_kmsg=</literal>,
|
||||
<literal>systemd.journald.max_level_console=</literal>,
|
||||
<literal>systemd.journald.max_level_wall=</literal>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
|
@ -224,15 +224,14 @@
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>vconsole.keymap=</varname></term>
|
||||
<term><varname>vconsole.keymap.toggle=</varname></term>
|
||||
<term><varname>vconsole.keymap_toggle=</varname></term>
|
||||
<term><varname>vconsole.font=</varname></term>
|
||||
<term><varname>vconsole.font.map=</varname></term>
|
||||
<term><varname>vconsole.font.unimap=</varname></term>
|
||||
<term><varname>vconsole.font_map=</varname></term>
|
||||
<term><varname>vconsole.font_unimap=</varname></term>
|
||||
|
||||
<listitem>
|
||||
<para>Parameters understood by the virtual console setup
|
||||
logic. For details, see
|
||||
<citerefentry><refentrytitle>systemd-vconsole-setup.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||||
<para>Parameters understood by the virtual console setup logic. For details, see
|
||||
<citerefentry><refentrytitle>vconsole.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
@ -72,9 +72,12 @@
|
||||
in <filename>/usr/lib/kernel/install.d/</filename>. This can be used to override a system-supplied
|
||||
executables with a local file if needed; a symbolic link in <filename>/etc/kernel/install.d/</filename>
|
||||
with the same name as an executable in <filename>/usr/lib/kernel/install.d/</filename>,
|
||||
pointing to /dev/null, disables the executable entirely. Executables must have the
|
||||
pointing to <filename>/dev/null</filename>, disables the executable entirely. Executables must have the
|
||||
extension <literal>.install</literal>; other extensions are ignored.</para>
|
||||
|
||||
<para>An executable should return <constant>0</constant> on success. It may also
|
||||
return <constant>77</constant> to cause the whole operation to terminate
|
||||
(executables later in lexical order will be skipped).</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
|
@ -3,27 +3,34 @@
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
|
||||
|
||||
<refsect1>
|
||||
<title>Environment</title>
|
||||
<title>Environment</title>
|
||||
|
||||
<variablelist class='environment-variables'>
|
||||
<varlistentry id='pager'>
|
||||
<term><varname>$SYSTEMD_PAGER</varname></term>
|
||||
<variablelist class='environment-variables'>
|
||||
<varlistentry id='pager'>
|
||||
<term><varname>$SYSTEMD_PAGER</varname></term>
|
||||
|
||||
<listitem><para>Pager to use when
|
||||
<option>--no-pager</option> is not given;
|
||||
overrides <varname>$PAGER</varname>. Setting
|
||||
this to an empty string or the value
|
||||
<literal>cat</literal> is equivalent to passing
|
||||
<option>--no-pager</option>.</para></listitem>
|
||||
</varlistentry>
|
||||
<listitem><para>Pager to use when <option>--no-pager</option> is not given; overrides
|
||||
<varname>$PAGER</varname>. If neither <varname>$SYSTEMD_PAGER</varname> nor <varname>$PAGER</varname> are set, a
|
||||
set of well-known pager implementations are tried in turn, including
|
||||
<citerefentry><refentrytitle>less</refentrytitle><manvolnum>1</manvolnum></citerefentry> and
|
||||
<citerefentry><refentrytitle>more</refentrytitle><manvolnum>1</manvolnum></citerefentry>, until one is found. If
|
||||
no pager implementation is discovered no pager is invoked. Setting this environment variable to an empty string
|
||||
or the value <literal>cat</literal> is equivalent to passing <option>--no-pager</option>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id='less'>
|
||||
<term><varname>$SYSTEMD_LESS</varname></term>
|
||||
<varlistentry id='less'>
|
||||
<term><varname>$SYSTEMD_LESS</varname></term>
|
||||
|
||||
<listitem><para>Override the default
|
||||
options passed to
|
||||
<command>less</command>
|
||||
(<literal>FRSXMK</literal>).</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<listitem><para>Override the options passed to <command>less</command> (by default
|
||||
<literal>FRSXMK</literal>).</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id='lesscharset'>
|
||||
<term><varname>$SYSTEMD_LESSCHARSET</varname></term>
|
||||
|
||||
<listitem><para>Override the charset passed to <command>less</command> (by default <literal>utf-8</literal>, if
|
||||
the invoking terminal is determined to be UTF-8 compatible).</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
@ -223,7 +223,7 @@
|
||||
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd-localed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>mkinitrd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
<citerefentry project='die-net'><refentrytitle>mkinitrd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
@ -211,7 +211,7 @@
|
||||
<term><varname>HandleLidSwitch=</varname></term>
|
||||
<term><varname>HandleLidSwitchDocked=</varname></term>
|
||||
|
||||
<listitem><para>Controls whether logind shall handle the
|
||||
<listitem><para>Controls how logind shall handle the
|
||||
system power and sleep keys and the lid switch to trigger
|
||||
actions such as system power-off or suspend. Can be one of
|
||||
<literal>ignore</literal>,
|
||||
@ -240,7 +240,16 @@
|
||||
docking station, or if more than one display is connected, the
|
||||
action specified by <varname>HandleLidSwitchDocked=</varname>
|
||||
occurs; otherwise the <varname>HandleLidSwitch=</varname>
|
||||
action occurs.</para></listitem>
|
||||
action occurs.</para>
|
||||
|
||||
<para>A different application may disable logind's handling of system power and
|
||||
sleep keys and the lid switch by taking a low-level inhibitor lock
|
||||
("handle-power-key", "handle-suspend-key", "handle-hibernate-key",
|
||||
"handle-lid-switch"). This is most commonly used by graphical desktop environments
|
||||
to take over suspend and hibernation handling, and to use their own configuration
|
||||
mechanisms. If a low-level inhibitor lock is taken, logind will not take any
|
||||
action when that key or switch is triggered and the <varname>Handle*=</varname>
|
||||
settings are irrelevant.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -249,21 +258,22 @@
|
||||
<term><varname>HibernateKeyIgnoreInhibited=</varname></term>
|
||||
<term><varname>LidSwitchIgnoreInhibited=</varname></term>
|
||||
|
||||
<listitem><para>Controls whether actions triggered by the
|
||||
power and sleep keys and the lid switch are subject to
|
||||
inhibitor locks. These settings take boolean arguments. If
|
||||
<literal>no</literal>, the inhibitor locks taken by
|
||||
applications in order to block the requested operation are
|
||||
respected. If <literal>yes</literal>, the requested operation
|
||||
is executed in any case.
|
||||
<listitem><para>Controls whether actions that <command>systemd-logind</command>
|
||||
takes when the power and sleep keys and the lid switch are triggered are subject
|
||||
to high-level inhibitor locks ("shutdown", "sleep", "idle"). Low level inhibitor
|
||||
locks ("handle-*-key"), are always honored, irrespective of this setting.</para>
|
||||
|
||||
<para>These settings take boolean arguments. If <literal>no</literal>, the
|
||||
inhibitor locks taken by applications are respected. If <literal>yes</literal>,
|
||||
"shutdown", "sleep", and "idle" inhibitor locks are ignored.
|
||||
<varname>PowerKeyIgnoreInhibited=</varname>,
|
||||
<varname>SuspendKeyIgnoreInhibited=</varname> and
|
||||
<varname>HibernateKeyIgnoreInhibited=</varname> default to
|
||||
<literal>no</literal>.
|
||||
<varname>LidSwitchIgnoreInhibited=</varname> defaults to
|
||||
<literal>yes</literal>. This means that the lid switch does
|
||||
not respect suspend blockers by default, but the power and
|
||||
sleep keys do. </para></listitem>
|
||||
<varname>SuspendKeyIgnoreInhibited=</varname>, and
|
||||
<varname>HibernateKeyIgnoreInhibited=</varname> default to <literal>no</literal>.
|
||||
<varname>LidSwitchIgnoreInhibited=</varname> defaults to <literal>yes</literal>.
|
||||
This means that when <command>systemd-logind</command> is handling events by
|
||||
itself (no low level inhibitor locks are taken by another application), the lid
|
||||
switch does not respect suspend blockers by default, but the power and sleep keys
|
||||
do.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -318,8 +328,9 @@
|
||||
<listitem><para>Sets the maximum number of OS tasks each user may run concurrently. This controls the
|
||||
<varname>TasksMax=</varname> setting of the per-user slice unit, see
|
||||
<citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
||||
for details. Defaults to 33%, which equals 10813 with the kernel's defaults on the host, but might be smaller
|
||||
in OS containers.</para></listitem>
|
||||
for details. If assigned the special value <literal>infinity</literal>, no tasks limit is applied.
|
||||
Defaults to 33%, which equals 10813 with the kernel's defaults on the host, but might be smaller in
|
||||
OS containers.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
|
@ -186,12 +186,11 @@
|
||||
<varlistentry>
|
||||
<term><option>--uid=</option></term>
|
||||
|
||||
<listitem><para>When used with the <command>shell</command>
|
||||
command, chooses the user ID to open the interactive shell
|
||||
session as. If this switch is not specified, defaults to
|
||||
<literal>root</literal>. Note that this switch is not
|
||||
supported for the <command>login</command> command (see
|
||||
below).</para></listitem>
|
||||
<listitem><para>When used with the <command>shell</command> command, chooses the user ID to
|
||||
open the interactive shell session as. If the argument to the <command>shell</command>
|
||||
command also specifies a user name, this option is ignored. If the name is not specified
|
||||
in either way, <literal>root</literal> will be used by default. Note that this switch is
|
||||
not supported for the <command>login</command> command (see below).</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -285,6 +284,20 @@
|
||||
name passed.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--max-addresses=</option></term>
|
||||
|
||||
<listitem><para>When used with the <option>list-machines</option>
|
||||
command, limits the number of ip addresses output for every machine.
|
||||
Defaults to 1. All addresses can be requested with <literal>all</literal>
|
||||
as argument to <option>--max-addresses</option> . If the argument to
|
||||
<option>--max-addresses</option> is less than the actual number
|
||||
of addresses,<literal>...</literal>follows the last address.
|
||||
If multiple addresses are to be written for a given machine, every
|
||||
address except the first one is on a new line and is followed by
|
||||
<literal>,</literal> if another address will be output afterwards. </para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<xi:include href="user-system-options.xml" xpointer="host" />
|
||||
<xi:include href="user-system-options.xml" xpointer="machine" />
|
||||
|
||||
@ -330,18 +343,13 @@
|
||||
<varlistentry>
|
||||
<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, properties of this virtual
|
||||
machine or container 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, and does
|
||||
not print the cgroup tree or journal entries. Use
|
||||
<command>status</command> if you are looking for formatted
|
||||
human-readable output.</para></listitem>
|
||||
<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,
|
||||
properties of this virtual machine or container 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, and does not print the control group tree or journal entries. Use <command>status</command> if you
|
||||
are looking for formatted human-readable output.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
|
@ -120,7 +120,7 @@
|
||||
|
||||
<para>The DUID value specified here overrides the DUID that systemd-networkd generates using the machine-id
|
||||
from the <filename>/etc/machine-id</filename> file. To configure DUID per-network, see
|
||||
<citerefentry><refentrytitle>systemd.network </refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
||||
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
||||
The configured DHCP DUID should conform to the specification in
|
||||
<ulink url="http://tools.ietf.org/html/rfc3315#section-9">RFC 3315</ulink>,
|
||||
<ulink url="http://tools.ietf.org/html/rfc6355">RFC 6355</ulink>. To configure IAID, see
|
||||
|
@ -106,11 +106,11 @@
|
||||
<para>Here is an example <filename>/etc/nsswitch.conf</filename> file that enables
|
||||
<command>nss-myhostname</command> correctly:</para>
|
||||
|
||||
<programlisting>passwd: compat mymachines
|
||||
group: compat mymachines
|
||||
<programlisting>passwd: compat mymachines systemd
|
||||
group: compat mymachines systemd
|
||||
shadow: compat
|
||||
|
||||
hosts: files mymachines resolve <command>myhostname</command>
|
||||
hosts: files mymachines resolve [!UNAVAIL=return] dns <command>myhostname</command>
|
||||
networks: files
|
||||
|
||||
protocols: db files
|
||||
@ -138,6 +138,7 @@ netgroup: nis</programlisting>
|
||||
<title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>nss-systemd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>nss-resolve</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>nss-mymachines</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry project='man-pages'><refentrytitle>nsswitch.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||||
|
@ -82,11 +82,11 @@
|
||||
<para>Here is an example <filename>/etc/nsswitch.conf</filename> file that enables
|
||||
<command>nss-mymachines</command> correctly:</para>
|
||||
|
||||
<programlisting>passwd: compat <command>mymachines</command>
|
||||
group: compat <command>mymachines</command>
|
||||
<programlisting>passwd: compat <command>mymachines</command> systemd
|
||||
group: compat <command>mymachines</command> systemd
|
||||
shadow: compat
|
||||
|
||||
hosts: files <command>mymachines</command> resolve myhostname
|
||||
hosts: files <command>mymachines</command> resolve [!UNAVAIL=return] dns myhostname
|
||||
networks: files
|
||||
|
||||
protocols: db files
|
||||
@ -103,6 +103,7 @@ netgroup: nis</programlisting>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>nss-systemd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>nss-resolve</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>nss-myhostname</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry project='man-pages'><refentrytitle>nsswitch.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||||
|
@ -81,11 +81,11 @@
|
||||
<para>Here is an example <filename>/etc/nsswitch.conf</filename> file that enables <command>nss-resolve</command>
|
||||
correctly:</para>
|
||||
|
||||
<programlisting>passwd: compat mymachines
|
||||
group: compat mymachines
|
||||
<programlisting>passwd: compat mymachines systemd
|
||||
group: compat mymachines systemd
|
||||
shadow: compat
|
||||
|
||||
hosts: files mymachines <command>resolve</command> myhostname
|
||||
hosts: files mymachines <command>resolve [!UNAVAIL=return]</command> dns myhostname
|
||||
networks: files
|
||||
|
||||
protocols: db files
|
||||
@ -95,6 +95,8 @@ 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>
|
||||
@ -102,8 +104,9 @@ netgroup: nis</programlisting>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd-resolved</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>nss-mymachines</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>nss-systemd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>nss-myhostname</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>nss-mymachines</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry project='man-pages'><refentrytitle>nsswitch.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
111
man/nss-systemd.xml
Normal file
111
man/nss-systemd.xml
Normal file
@ -0,0 +1,111 @@
|
||||
<?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 Lennart Poettering
|
||||
|
||||
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="nss-systemd">
|
||||
|
||||
<refentryinfo>
|
||||
<title>nss-systemd</title>
|
||||
<productname>systemd</productname>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<contrib>Developer</contrib>
|
||||
<firstname>Lennart</firstname>
|
||||
<surname>Poettering</surname>
|
||||
<email>lennart@poettering.net</email>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>nss-systemd</refentrytitle>
|
||||
<manvolnum>8</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>nss-systemd</refname>
|
||||
<refname>libnss_systemd.so.2</refname>
|
||||
<refpurpose>Provide UNIX user and group name resolution for dynamic users and groups.</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<para><filename>libnss_systemd.so.2</filename></para>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para><command>nss-systemd</command> is a plug-in module for the GNU Name Service Switch (NSS) functionality of the
|
||||
GNU C Library (<command>glibc</command>), providing UNIX user and group name resolution for dynamic users and
|
||||
groups allocated through the <varname>DynamicUser=</varname> option in systemd unit files. See
|
||||
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details on
|
||||
this option.</para>
|
||||
|
||||
<para>This module also ensures that the root and nobody users and groups (i.e. the users/groups with the UIDs/GIDs
|
||||
0 and 65534) remain resolvable at all times, even if they aren't listed in <filename>/etc/passwd</filename> or
|
||||
<filename>/etc/group</filename>, or if these files are missing.</para>
|
||||
|
||||
<para>To activate the NSS module, add <literal>systemd</literal> to the lines starting with
|
||||
<literal>passwd:</literal> and <literal>group:</literal> in <filename>/etc/nsswitch.conf</filename>.</para>
|
||||
|
||||
<para>It is recommended to place <literal>systemd</literal> after the <literal>files</literal> or
|
||||
<literal>compat</literal> entry of the <filename>/etc/nsswitch.conf</filename> lines so that
|
||||
<filename>/etc/passwd</filename> and <filename>/etc/group</filename> based mappings take precedence.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Example</title>
|
||||
|
||||
<para>Here is an example <filename>/etc/nsswitch.conf</filename> file that enables
|
||||
<command>nss-systemd</command> correctly:</para>
|
||||
|
||||
<programlisting>passwd: compat mymachines <command>systemd</command>
|
||||
group: compat mymachines <command>systemd</command>
|
||||
shadow: compat
|
||||
|
||||
hosts: files mymachines resolve [!UNAVAIL=return] dns myhostname
|
||||
networks: files
|
||||
|
||||
protocols: db files
|
||||
services: db files
|
||||
ethers: db files
|
||||
rpc: db files
|
||||
|
||||
netgroup: nis</programlisting>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>nss-resolve</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>nss-myhostname</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>nss-mymachines</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry project='man-pages'><refentrytitle>nsswitch.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||||
<citerefentry project='man-pages'><refentrytitle>getent</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
@ -206,13 +206,25 @@
|
||||
<term><varname>Cache=</varname></term>
|
||||
<listitem><para>Takes a boolean argument. If "yes" (the default), resolving a domain name which already got
|
||||
queried earlier will return the previous result as long as it is still valid, and thus does not result in a new
|
||||
network request. Be aware that that turning off caching comes at a performance penalty, which is particularly
|
||||
network request. Be aware that turning off caching comes at a performance penalty, which is particularly
|
||||
high when DNSSEC is used.</para>
|
||||
|
||||
<para>Note that caching is turned off implicitly if the configured DNS server is on a host-local IP address
|
||||
(such as 127.0.0.1 or ::1), in order to avoid duplicate local caching.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>DNSStubListener=</varname></term>
|
||||
<listitem><para>Takes a boolean argument or one of <literal>udp</literal> and <literal>tcp</literal>. If
|
||||
<literal>udp</literal> (the default), a DNS stub resolver will listen for UDP requests on address 127.0.0.53
|
||||
port 53. If <literal>tcp</literal>, the stub will listen for TCP requests on the same address and port. If
|
||||
<literal>yes</literal>, the stub listens for both UDP and TCP requests. If <literal>no</literal>, the stub
|
||||
listener is disabled.</para>
|
||||
|
||||
<para>Note that the DNS stub listener is turned off implicitly when its listening address and port are already
|
||||
in use.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
|
@ -44,7 +44,7 @@
|
||||
|
||||
<refnamediv>
|
||||
<refname>sd-bus</refname>
|
||||
<refpurpose>A lightweight D-Bus and kdbus client library</refpurpose>
|
||||
<refpurpose>A lightweight D-Bus IPC client library</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
@ -61,49 +61,40 @@
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para><filename>sd-bus.h</filename> provides an implementation
|
||||
of a D-Bus client. It can interoperate both with the traditional
|
||||
<citerefentry project='man-pages'><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
and with kdbus. See
|
||||
<para><filename>sd-bus.h</filename> provides an implementation of a D-Bus IPC client. See
|
||||
<ulink url="http://www.freedesktop.org/software/dbus/" />
|
||||
for more information about the big picture.
|
||||
for more information about D-Bus IPC.
|
||||
</para>
|
||||
|
||||
<important>
|
||||
<para>Interfaces described here have not been declared stable yet,
|
||||
and are not accessible from <filename>libsystemd.so</filename>.
|
||||
This documentation is provided in hope it might be useful for
|
||||
developers, without any guarantees of availability or stability.
|
||||
</para>
|
||||
</important>
|
||||
|
||||
<para>See
|
||||
<citerefentry><refentrytitle>sd-bus-errors</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_creds_get_pid</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_creds_new_from_pid</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_default</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_request_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_start</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_error</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_error_add_map</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_get_name_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_get_owner_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_append</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_append_basic</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_append_array</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_append_basic</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_append_string_memfd</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_append_strv</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_can_send</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_get_cookie</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_get_monotonic_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_negotiate_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_path_encode</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_request_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_send</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_set_address</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_set_allow_interactive_authorization</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
<citerefentry><refentrytitle>sd_bus_set_description</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_set_prepare</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_creds_get_pid</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_creds_new_from_pid</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_get_name_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_get_owner_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_negotiate_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_path_encode</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd-bus-errors</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_error</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_error_add_map</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_set_allow_interactive_authorization</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
<citerefentry><refentrytitle>sd_bus_start</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_track_add_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_track_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
for more information about the functions available.</para>
|
||||
</refsect1>
|
||||
|
||||
@ -114,9 +105,9 @@
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>busctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry project='man-pages'><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry project='man-pages'><refentrytitle>dbus-send</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<ulink url="https://developer.gnome.org/gio/stable/gdbus.html">gdbus</ulink>
|
||||
<citerefentry project='man-pages'><refentrytitle>dbus-send</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
@ -97,7 +97,7 @@
|
||||
iteration a single event source is dispatched. Each time an event
|
||||
source is dispatched the kernel is polled for new events, before
|
||||
the next event source is dispatched. The event loop is designed to
|
||||
honour priorities and provide fairness within each priority. It is
|
||||
honor priorities and provide fairness within each priority. It is
|
||||
not designed to provide optimal throughput, as this contradicts
|
||||
these goals due the limitations of the underlying <citerefentry
|
||||
project='man-pages'><refentrytitle>epoll</refentrytitle><manvolnum>7</manvolnum></citerefentry>
|
||||
|
@ -47,10 +47,12 @@
|
||||
<refname>sd-id128</refname>
|
||||
<refname>sd_id128_t</refname>
|
||||
<refname>SD_ID128_MAKE</refname>
|
||||
<refname>SD_ID128_NULL</refname>
|
||||
<refname>SD_ID128_CONST_STR</refname>
|
||||
<refname>SD_ID128_FORMAT_STR</refname>
|
||||
<refname>SD_ID128_FORMAT_VAL</refname>
|
||||
<refname>sd_id128_equal</refname>
|
||||
<refname>sd_id128_is_null</refname>
|
||||
<refpurpose>APIs for processing 128-bit IDs</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
@ -88,8 +90,8 @@
|
||||
union type:</para>
|
||||
|
||||
<programlisting>typedef union sd_id128 {
|
||||
uint8_t bytes[16];
|
||||
uint64_t qwords[2];
|
||||
uint8_t bytes[16];
|
||||
uint64_t qwords[2];
|
||||
} sd_id128_t;</programlisting>
|
||||
|
||||
<para>This union type allows accessing the 128-bit ID as 16
|
||||
@ -108,37 +110,46 @@
|
||||
|
||||
<programlisting>#define SD_MESSAGE_COREDUMP SD_ID128_MAKE(fc,2e,22,bc,6e,e6,47,b6,b9,07,29,ab,34,a2,50,b1)</programlisting>
|
||||
|
||||
<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_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(SD_ID128_CONST_STR(SD_MESSAGE_COREDUMP));
|
||||
}</programlisting>
|
||||
|
||||
<para><function>SD_ID128_FORMAT_STR</function> and
|
||||
<para><function>SD_ID128_FORMAT_STR()</function> and
|
||||
<function>SD_ID128_FORMAT_VAL()</function> may be used to format a
|
||||
128-bit ID in a
|
||||
<citerefentry project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
format string, as shown in the following example:</para>
|
||||
|
||||
<programlisting>int main(int argc, char *argv[]) {
|
||||
sd_id128_t id;
|
||||
id = SD_ID128_MAKE(ee,89,be,71,bd,6e,43,d6,91,e6,c5,5d,eb,03,02,07);
|
||||
printf("The ID encoded in this C file is " SD_ID128_FORMAT_STR ".\n", SD_ID128_FORMAT_VAL(id));
|
||||
return 0;
|
||||
sd_id128_t id;
|
||||
id = SD_ID128_MAKE(ee,89,be,71,bd,6e,43,d6,91,e6,c5,5d,eb,03,02,07);
|
||||
printf("The ID encoded in this C file is " SD_ID128_FORMAT_STR ".\n", SD_ID128_FORMAT_VAL(id));
|
||||
return 0;
|
||||
}</programlisting>
|
||||
|
||||
<para>Use <function>sd_id128_equal()</function> to compare two 128-bit IDs:</para>
|
||||
|
||||
<programlisting>int main(int argc, char *argv[]) {
|
||||
sd_id128_t a, b, c;
|
||||
a = SD_ID128_MAKE(ee,89,be,71,bd,6e,43,d6,91,e6,c5,5d,eb,03,02,07);
|
||||
b = SD_ID128_MAKE(f2,28,88,9c,5f,09,44,15,9d,d7,04,77,58,cb,e7,3e);
|
||||
c = a;
|
||||
assert(sd_id128_equal(a, c));
|
||||
assert(!sd_id128_equal(a, b));
|
||||
return 0;
|
||||
sd_id128_t a, b, c;
|
||||
a = SD_ID128_MAKE(ee,89,be,71,bd,6e,43,d6,91,e6,c5,5d,eb,03,02,07);
|
||||
b = SD_ID128_MAKE(f2,28,88,9c,5f,09,44,15,9d,d7,04,77,58,cb,e7,3e);
|
||||
c = a;
|
||||
assert(sd_id128_equal(a, c));
|
||||
assert(!sd_id128_equal(a, b));
|
||||
return 0;
|
||||
}</programlisting>
|
||||
|
||||
<para>Use <function>sd_id128_is_null()</function> to check if an 128bit ID consists of only NUL bytes:</para>
|
||||
|
||||
<programlisting>int main(int argc, char *argv[]) {
|
||||
assert(sd_id128_is_null(SD_ID128_NULL));
|
||||
}</programlisting>
|
||||
|
||||
<para>Note that new, randomized IDs may be generated with
|
||||
|
@ -77,7 +77,6 @@
|
||||
<citerefentry><refentrytitle>sd_journal_get_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_journal_add_match</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_journal_seek_head</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_journal_query_enumerate</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_journal_enumerate_fields</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_journal_get_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_journal_get_cutoff_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
@ -99,6 +98,21 @@
|
||||
tool.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Thread safety</title>
|
||||
|
||||
<para>Functions that operate on the <structname>sd_journal</structname> object are thread
|
||||
agnostic — given <structname>sd_journal</structname> pointer may only be used from one thread at
|
||||
a time, but multiple threads may use multiple such objects safely. Other functions —
|
||||
those that are used to send entries to the journal, like
|
||||
<citerefentry><refentrytitle>sd_journal_print</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
and similar, or those that are used to retrieve global information like
|
||||
<citerefentry><refentrytitle>sd_journal_stream_fd</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
and
|
||||
<citerefentry><refentrytitle>sd_journal_get_catalog_for_message_id</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
— are thread-safe and may be called from multiple threads in parallel.</para>
|
||||
</refsect1>
|
||||
|
||||
<xi:include href="libsystemd-pkgconfig.xml" />
|
||||
|
||||
<refsect1>
|
||||
@ -113,7 +127,6 @@
|
||||
<citerefentry><refentrytitle>sd_journal_get_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_journal_add_match</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_journal_seek_head</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_journal_query_enumerate</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_journal_enumerate_fields</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_journal_get_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_journal_get_cutoff_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
|
@ -366,7 +366,7 @@
|
||||
-ENXIO is returned.</para>
|
||||
|
||||
<para><function>sd_bus_creds_get_cgroup()</function> will retrieve
|
||||
the cgroup path. See <ulink
|
||||
the control group path. See <ulink
|
||||
url="https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt">cgroups.txt</ulink>.
|
||||
</para>
|
||||
|
||||
|
@ -66,12 +66,12 @@
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>uint64_t <function>sd_bus_creds_get_mask</function></funcdef>
|
||||
<paramdef>const sd_bus_creds *<parameter>c</parameter></paramdef>
|
||||
<paramdef>sd_bus_creds *<parameter>c</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>uint64_t <function>sd_bus_creds_get_augmented_mask</function></funcdef>
|
||||
<paramdef>const sd_bus_creds *<parameter>c</parameter></paramdef>
|
||||
<paramdef>sd_bus_creds *<parameter>c</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
|
@ -169,6 +169,11 @@
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
<para>For types "s" and "g" (unicode string or signature), the pointer may be
|
||||
<constant>NULL</constant>, which is equivalent to an empty string. See
|
||||
<citerefentry><refentrytitle>sd_bus_message_append_basic</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
for the precise interpretation of those and other types.</para>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
|
@ -99,41 +99,27 @@
|
||||
setting as negotiated by the program ultimately activated. By
|
||||
default, file descriptor passing is enabled for both.</para>
|
||||
|
||||
<para><function>sd_bus_negotiate_timestamps()</function> controls
|
||||
whether implicit sender timestamps shall be attached automatically
|
||||
to all incoming messages. Takes a bus object and a boolean, which,
|
||||
when true, enables timestamping, and, when false, disables it.
|
||||
Use
|
||||
<para><function>sd_bus_negotiate_timestamp()</function> controls whether implicit sender
|
||||
timestamps shall be attached automatically to all incoming messages. Takes a bus object and a
|
||||
boolean, which, when true, enables timestamping, and, when false, disables it. Use
|
||||
<citerefentry><refentrytitle>sd_bus_message_get_monotonic_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_get_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_get_seqnum</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
to query the timestamps of incoming messages. If negotiation is
|
||||
disabled or not supported, these calls will fail with
|
||||
<constant>-ENODATA</constant>. Note that not all transports
|
||||
support timestamping of messages. Specifically, timestamping is
|
||||
only available on the kdbus transport, but not on dbus1. The
|
||||
timestamping is applied by the kernel and cannot be manipulated by
|
||||
userspace. By default, message timestamping is not negotiated for
|
||||
to query the timestamps of incoming messages. If negotiation is disabled or not supported, these
|
||||
calls will fail with <constant>-ENODATA</constant>. Note that currently no transports support
|
||||
timestamping of messages. By default, message timestamping is not negotiated for
|
||||
connections.</para>
|
||||
|
||||
<para><function>sd_bus_negotiate_creds()</function> controls
|
||||
whether and which implicit sender credentials shall be attached
|
||||
automatically to all incoming messages. Takes a bus object and a
|
||||
boolean indicating whether to enable or disable the credential
|
||||
parts encoded in the bit mask value argument. Note that not all
|
||||
transports support attaching sender credentials to messages, or do
|
||||
not support all types of sender credential parameters, or might
|
||||
suppress them under certain circumstances for individual
|
||||
messages. Specifically, implicit sender credentials on messages
|
||||
are only fully supported on kdbus transports, and dbus1 only
|
||||
supports <constant>SD_BUS_CREDS_UNIQUE_NAME</constant>. The sender
|
||||
credentials are attached by the kernel and cannot be manipulated
|
||||
by userspace, and are thus suitable for authorization
|
||||
decisions. By default, only
|
||||
<constant>SD_BUS_CREDS_WELL_KNOWN_NAMES</constant> and
|
||||
<constant>SD_BUS_CREDS_UNIQUE_NAME</constant> are enabled. In
|
||||
fact, these two credential fields are always sent along and cannot
|
||||
be turned off.</para>
|
||||
<para><function>sd_bus_negotiate_creds()</function> controls whether and which implicit sender
|
||||
credentials shall be attached automatically to all incoming messages. Takes a bus object and a
|
||||
boolean indicating whether to enable or disable the credential parts encoded in the bit mask
|
||||
value argument. Note that not all transports support attaching sender credentials to messages,
|
||||
or do not support all types of sender credential parameters, or might suppress them under
|
||||
certain circumstances for individual messages. Specifically, dbus1 only supports
|
||||
<constant>SD_BUS_CREDS_UNIQUE_NAME</constant>. The sender credentials are suitable for
|
||||
authorization decisions. By default, only <constant>SD_BUS_CREDS_WELL_KNOWN_NAMES</constant> and
|
||||
<constant>SD_BUS_CREDS_UNIQUE_NAME</constant> are enabled. In fact, these two credential fields
|
||||
are always sent along and cannot be turned off.</para>
|
||||
|
||||
<para>The <function>sd_bus_negotiate_fds()</function> function may
|
||||
be called only before the connection has been started with
|
||||
|
261
man/sd_bus_track_add_name.xml
Normal file
261
man/sd_bus_track_add_name.xml
Normal file
@ -0,0 +1,261 @@
|
||||
<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
|
||||
<!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 Lennart Poettering
|
||||
|
||||
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="sd_bus_track_add_name">
|
||||
|
||||
<refentryinfo>
|
||||
<title>sd_bus_track_add_name</title>
|
||||
<productname>systemd</productname>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<contrib>Developer</contrib>
|
||||
<firstname>Lennart</firstname>
|
||||
<surname>Poettering</surname>
|
||||
<email>lennart@poettering.net</email>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>sd_bus_track_add_name</refentrytitle>
|
||||
<manvolnum>3</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>sd_bus_track_add_name</refname>
|
||||
<refname>sd_bus_track_add_sender</refname>
|
||||
<refname>sd_bus_track_remove_name</refname>
|
||||
<refname>sd_bus_track_remove_sender</refname>
|
||||
<refname>sd_bus_track_count</refname>
|
||||
<refname>sd_bus_track_count_sender</refname>
|
||||
<refname>sd_bus_track_count_name</refname>
|
||||
<refname>sd_bus_track_contains</refname>
|
||||
<refname>sd_bus_track_first</refname>
|
||||
<refname>sd_bus_track_next</refname>
|
||||
|
||||
<refpurpose>Add, remove and retrieve bus peers tracked in a bus peer tracking object</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<funcsynopsis>
|
||||
<funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>int <function>sd_bus_track_add_name</function></funcdef>
|
||||
<paramdef>sd_bus_track* <parameter>t</parameter></paramdef>
|
||||
<paramdef>const char* <parameter>name</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>int <function>sd_bus_track_add_sender</function></funcdef>
|
||||
<paramdef>sd_bus_track* <parameter>t</parameter></paramdef>
|
||||
<paramdef>sd_bus_message* <parameter>message</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>int <function>sd_bus_track_remove_name</function></funcdef>
|
||||
<paramdef>sd_bus_track* <parameter>t</parameter></paramdef>
|
||||
<paramdef>const char* <parameter>name</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>int <function>sd_bus_track_remove_sender</function></funcdef>
|
||||
<paramdef>sd_bus_track* <parameter>t</parameter></paramdef>
|
||||
<paramdef>sd_bus_message* <parameter>message</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>unsigned <function>sd_bus_track_count</function></funcdef>
|
||||
<paramdef>sd_bus_track* <parameter>t</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>int <function>sd_bus_track_count_name</function></funcdef>
|
||||
<paramdef>sd_bus_track* <parameter>t</parameter></paramdef>
|
||||
<paramdef>const char* <parameter>name</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>int <function>sd_bus_track_count_sender</function></funcdef>
|
||||
<paramdef>sd_bus_track* <parameter>t</parameter></paramdef>
|
||||
<paramdef>sd_bus_message* <parameter>message</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>int <function>sd_bus_track_contains</function></funcdef>
|
||||
<paramdef>sd_bus_track* <parameter>t</parameter></paramdef>
|
||||
<paramdef>const char* <parameter>name</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>const char* <function>sd_bus_track_first</function></funcdef>
|
||||
<paramdef>sd_bus_track* <parameter>t</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>const char* <function>sd_bus_track_next</function></funcdef>
|
||||
<paramdef>sd_bus_track* <parameter>t</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para><function>sd_bus_track_add_name()</function> adds a peer to track to a bus peer tracking object. The first
|
||||
argument should refer to a bus peer tracking object created with
|
||||
<citerefentry><refentrytitle>sd_bus_track_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, the second
|
||||
name should refer to a D-Bus peer name to track, either in unique or well-known service format. If the name is not
|
||||
tracked yet it will be added to the list of names to track. If it already is being tracked and non-recursive mode
|
||||
is enabled, no operation is executed by this call. If recursive mode is enabled a per-name counter is increased by
|
||||
one each time this call is invoked, and <function>sd_bus_track_remove_name()</function> has to be called as many
|
||||
times as <function>sd_bus_track_add_name()</function> was invoked before in order to stop tracking of the name. Use
|
||||
<citerefentry><refentrytitle>sd_bus_track_set_recursive</refentrytitle><manvolnum>3</manvolnum></citerefentry> to
|
||||
switch from the default non-recursive mode to recursive mode, or back. Note that the specified name is tracked as
|
||||
it is, well-known names are not resolved to unique names by this call. Note that multiple bus peer tracking objects
|
||||
may track the same name.</para>
|
||||
|
||||
<para><function>sd_bus_track_remove_name()</function> undoes the effect of
|
||||
<function>sd_bus_track_add_name()</function> and removes a bus peer name from the list of peers to watch. Depending
|
||||
on whether non-recursive or recursive mode is enabled for the bus peer tracking object this call will either remove
|
||||
the name fully from the tracking object, or will simply decrement the per-name counter by one, removing the name
|
||||
only when the counter reaches zero (see above). Note that a bus peer disconnecting from the bus will implicitly
|
||||
remove its names fully from the bus peer tracking object, regardless of the current per-name counter.</para>
|
||||
|
||||
<para><function>sd_bus_track_add_sender()</function> and <function>sd_bus_track_remove_sender()</function> are
|
||||
similar to <function>sd_bus_track_add_name()</function> and <function>sd_bus_track_remove_name()</function> but
|
||||
take a bus message as argument. The sender of this bus message is determined and added to/removed from the bus peer
|
||||
tracking object. As messages always originate from unique names, and never from well-known names this means that
|
||||
this call will effectively only add unique names to the bus peer tracking object.</para>
|
||||
|
||||
<para><function>sd_bus_track_count()</function> returns the number of names currently being tracked by the
|
||||
specified bus peer tracking object. Note that this function always returns the actual number of names tracked, and
|
||||
hence if <function>sd_bus_track_add_name()</function> has been invoked multiple times for the same name it is only
|
||||
counted as one, regardless if recursive mode is used or not.</para>
|
||||
|
||||
<para><function>sd_bus_track_count_name()</function> returns the current per-name counter for the specified
|
||||
name. If non-recursive mode is used this returns either 1 or 0, depending on whether the specified name has been
|
||||
added to the tracking object before, or not. If recursive mode has been enabled, values larger than 1 may be
|
||||
returned too, in case <function>sd_bus_track_add_name()</function> has been called multiple times for the same
|
||||
name.</para>
|
||||
|
||||
<para><function>sd_bus_track_count_sender()</function> is similar to
|
||||
<function>sd_bus_track_count_name()</function>, but takes a bus message object and returns the per-name counter
|
||||
matching the sender of the message.</para>
|
||||
|
||||
<para><function>sd_bus_track_contains()</function> may be used to determine whether the specified name has been
|
||||
added at least once to the specified bus peer tracking object.</para>
|
||||
|
||||
<para><function>sd_bus_track_first()</function> and <function>sd_bus_track_next()</function> may be used to
|
||||
enumerate all names currently being tracked by the passed bus peer tracking
|
||||
object. <function>sd_bus_track_first()</function> returns the first entry in the object, and resets an internally
|
||||
maintained read index. Each subsequent invocation of <function>sd_bus_track_next()</function> returns the next name
|
||||
contained in the bus object. If the end is reached <constant>NULL</constant> is returned. If no names have been
|
||||
added to the object yet <function>sd_bus_track_first()</function> will return <constant>NULL</constant>
|
||||
immediately. The order in which names are returned is undefined; in particular which name is considered the first
|
||||
returned is not defined. If recursive mode is enabled and the same name has been added multiple times to the bus
|
||||
peer tracking object it is only returned once by this enumeration. If new names are added to or existing names
|
||||
removed from the bus peer tracking object while it is being enumerated the enumeration ends on the next invocation
|
||||
of <function>sd_bus_track_next()</function> as <constant>NULL</constant> is returned.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Return Value</title>
|
||||
|
||||
<para>On success, <function>sd_bus_track_add_name()</function> and <function>sd_bus_track_add_sender()</function>
|
||||
return 0 if the specified name has already been added to the bus peer tracking object before and positive if it
|
||||
hasn't. On failure, they return a negative errno-style error code.</para>
|
||||
|
||||
<para><function>sd_bus_track_remove_name()</function> and <function>sd_bus_track_remove_sender()</function> return
|
||||
positive if the specified name was previously tracked by the bus peer tracking object and has now been removed. In
|
||||
non-recursive mode, 0 is returned if the specified name was not being tracked yet. In recursive mode
|
||||
<constant>-EUNATCH</constant> is returned in this case. On failure, they return a negative errno-style error
|
||||
code.</para>
|
||||
|
||||
<para><function>sd_bus_track_count()</function> returns the number of names currently being tracked, or 0 on
|
||||
failure.</para>
|
||||
|
||||
<para><function>sd_bus_track_count_name()</function> and <function>sd_bus_track_count_sender()</function> return
|
||||
the current per-name counter for the specified name or the sender of the specified message. Zero is returned for
|
||||
names that are not being tracked yet, a positive value for names added at least once. Larger values than 1 are only
|
||||
returned in recursive mode. On failure, a negative errno-style error code is returned.</para>
|
||||
|
||||
<para><function>sd_bus_track_contains()</function> returns the passed name if it exists in the bus peer tracking
|
||||
object. On failure, and if the name has not been added yet <constant>NULL</constant> is returned.</para>
|
||||
|
||||
<para><function>sd_bus_track_first()</function> and <function>sd_bus_track_next()</function> return the first/next
|
||||
name contained in the bus peer tracking object, and <constant>NULL</constant> if the end of the enumeration is
|
||||
reached and on error.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Errors</title>
|
||||
|
||||
<para>Returned errors may indicate the following problems:</para>
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><constant>-EUNATCH</constant></term>
|
||||
|
||||
<listitem><para><function>sd_bus_track_remove_name()</function> or
|
||||
<function>sd_bus_track_remove_sender()</function> have been invoked for a name not previously added to the bus
|
||||
peer object.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><constant>-EINVAL</constant></term>
|
||||
|
||||
<listitem><para>Specified parameter is invalid.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><constant>-ENOMEM</constant></term>
|
||||
|
||||
<listitem><para>Memory allocation failed.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para><function>sd_bus_track_add_name()</function> and the other calls described here 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>
|
||||
<title>See Also</title>
|
||||
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_track_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
263
man/sd_bus_track_new.xml
Normal file
263
man/sd_bus_track_new.xml
Normal file
@ -0,0 +1,263 @@
|
||||
<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
|
||||
<!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 Lennart Poettering
|
||||
|
||||
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="sd_bus_track_new">
|
||||
|
||||
<refentryinfo>
|
||||
<title>sd_bus_track_new</title>
|
||||
<productname>systemd</productname>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<contrib>Developer</contrib>
|
||||
<firstname>Lennart</firstname>
|
||||
<surname>Poettering</surname>
|
||||
<email>lennart@poettering.net</email>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>sd_bus_track_new</refentrytitle>
|
||||
<manvolnum>3</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>sd_bus_track_new</refname>
|
||||
<refname>sd_bus_track_ref</refname>
|
||||
<refname>sd_bus_track_unref</refname>
|
||||
<refname>sd_bus_track_unrefp</refname>
|
||||
<refname>sd_bus_track_set_recursive</refname>
|
||||
<refname>sd_bus_track_get_recursive</refname>
|
||||
<refname>sd_bus_track_get_bus</refname>
|
||||
<refname>sd_bus_track_get_userdata</refname>
|
||||
<refname>sd_bus_track_set_userdata</refname>
|
||||
|
||||
<refpurpose>Track bus peers</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<funcsynopsis>
|
||||
<funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>int <function>sd_bus_track_new</function></funcdef>
|
||||
<paramdef>sd_bus* <parameter>bus</parameter></paramdef>
|
||||
<paramdef>sd_bus_track** <parameter>ret</parameter></paramdef>
|
||||
<paramdef>sd_bus_track_handler_t <parameter>handler</parameter></paramdef>
|
||||
<paramdef>void* <parameter>userdata</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>sd_bus_track *<function>sd_bus_track_ref</function></funcdef>
|
||||
<paramdef>sd_bus_track *<parameter>t</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>sd_bus_track *<function>sd_bus_track_unref</function></funcdef>
|
||||
<paramdef>sd_bus_track *<parameter>t</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>void <function>sd_bus_track_unrefp</function></funcdef>
|
||||
<paramdef>sd_bus_track **<parameter>t</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>int <function>sd_bus_track_get_recursive</function></funcdef>
|
||||
<paramdef>sd_bus_track *<parameter>t</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>int <function>sd_bus_track_set_recursive</function></funcdef>
|
||||
<paramdef>sd_bus_track *<parameter>t</parameter></paramdef>
|
||||
<paramdef>int <parameter>b</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>sd_bus* <function>sd_bus_track_get_bus</function></funcdef>
|
||||
<paramdef>sd_bus_track *<parameter>t</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>void* <function>sd_bus_track_get_userdata</function></funcdef>
|
||||
<paramdef>sd_bus_track *<parameter>t</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>void* <function>sd_bus_track_set_userdata</function></funcdef>
|
||||
<paramdef>sd_bus_track *<parameter>t</parameter></paramdef>
|
||||
<paramdef>void *userdata</paramdef>
|
||||
</funcprototype>
|
||||
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para><function>sd_bus_track_new()</function> creates a new bus peer tracking object. The object is allocated for
|
||||
the specified bus, and returned in the <parameter>*ret</parameter> parameter. After use, the object should be freed
|
||||
again by dropping the acquired reference with <function>sd_bus_track_unref()</function> (see below). A bus peer
|
||||
tracking object may be used to keep track of peers on a specific IPC bus, for cases where peers are making use of
|
||||
one or more local objects, in order to control the lifecycle of the local objects and ensure they stay around as
|
||||
long as the peers needing them are around, and unreferenced (and possibly destroyed) as soon as all relevant peers
|
||||
have vanished. Each bus peer tracking object may be used to track zero, one or more peers add a time. References to
|
||||
specific bus peers are added via
|
||||
<citerefentry><refentrytitle>sd_bus_track_add_name</refentrytitle><manvolnum>3</manvolnum></citerefentry> or
|
||||
<function>sd_bus_track_add_sender()</function>. They may be dropped again via
|
||||
<function>sd_bus_track_remove_name()</function> and
|
||||
<function>sd_bus_track_remove_sender()</function>. Alternatively, references on peers are removed automatically
|
||||
when they disconnect from the bus. If non-NULL the <parameter>handler</parameter> may specify a function that is
|
||||
invoked whenever the last reference is dropped, regardless whether the reference is dropped explicitly via
|
||||
<function>sd_bus_track_remove_name()</function> or implicitly because the peer disconnected from the bus. The final
|
||||
argument <parameter>userdata</parameter> may be used to attach a generic user data pointer to the object. This
|
||||
pointer is passed to the handler callback when it is invoked.</para>
|
||||
|
||||
<para><function>sd_bus_track_ref()</function> creates a new reference to a bus peer tracking object. This object
|
||||
will not be destroyed until <function>sd_bus_track_unref()</function> has been called as many times plus once
|
||||
more. Once the reference count has dropped to zero, the specified object cannot be used anymore, further calls to
|
||||
<function>sd_bus_track_ref()</function> or <function>sd_bus_track_unref()</function> on the same object are
|
||||
illegal.</para>
|
||||
|
||||
<para><function>sd_bus_track_unref()</function> destroys a reference to a bus peer tracking object.</para>
|
||||
|
||||
<para><function>sd_bus_track_unrefp()</function> is similar to <function>sd_bus_track_unref()</function> but takes
|
||||
a pointer to a pointer to an <type>sd_bus_track</type> object. This call is useful in conjunction with GCC's and
|
||||
LLVM's <ulink url="https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html">Clean-up Variable
|
||||
Attribute</ulink>. Note that this function is defined as inline function.</para>
|
||||
|
||||
<para><function>sd_bus_track_ref()</function>, <function>sd_bus_track_unref()</function> and
|
||||
<function>sd_bus_track_unrefp()</function> execute no operation if the passed in bus peer tracking object is
|
||||
<constant>NULL</constant>.</para>
|
||||
|
||||
<para>Bus peer tracking objects may exist in two modes: by default they operate in non-recursive mode, but may
|
||||
optionally be switched into recursive mode. If operating in the default non-recursive mode a peer is either tracked
|
||||
or not tracked. In this mode invoking <function>sd_bus_track_add_name()</function> multiple times in a row for the
|
||||
same peer is fully equivalent to calling it just once, as the call adds the peer to the set of tracked peers if
|
||||
necessary, and executes no operation if the peer is already being tracked. A single invocation of
|
||||
<function>sd_bus_track_remove_name()</function> removes the reference on the peer again, regardless how many times
|
||||
<function>sd_bus_track_add_name()</function> was called before. If operating in recursive mode, the number of times
|
||||
<function>sd_bus_track_add_name()</function> is invoked for the same peer name is counted and
|
||||
<function>sd_bus_track_remove_name()</function> must be called the same number of times before the peer is not
|
||||
tracked anymore, with the exception when the tracked peer vanishes from the bus, in which case the count is
|
||||
irrelevant and the tracking of the specific peer is immediately
|
||||
removed. <function>sd_bus_track_get_recursive()</function> may be used to determine whether the bus peer tracking
|
||||
object is operating in recursive mode. <function>sd_bus_track_set_recursive()</function> may be used to enable or
|
||||
disable recursive mode. By default a bus peer tracking object operates in non-recursive mode, and
|
||||
<function>sd_bus_track_get_recursive()</function> for a newly allocated object hence returns a value equal to
|
||||
zero. Use <function>sd_bus_track_set_recursive()</function> to enable recursive mode, right after allocation. It
|
||||
takes a boolean argument to enable or disable recursive mode. Note that tracking objects for which
|
||||
<function>sd_bus_track_add_name()</function> was already invoked at least once (and which hence track already one
|
||||
or more peers) may not be switched from recursive to non-recursive mode anymore.</para>
|
||||
|
||||
<para><function>sd_bus_track_get_bus()</function> returns the bus object the bus peer tracking object belongs
|
||||
to. It returns the bus object initially passed to <function>sd_bus_track_new()</function> when the object was
|
||||
allocated.</para>
|
||||
|
||||
<para><function>sd_bus_track_get_userdata()</function> returns the generic user data pointer set on the bus peer
|
||||
tracking object at the time of creation using <function>sd_bus_track_new()</function> or at a later time, using
|
||||
<function>sd_bus_track_set_userdata()</function>.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Return Value</title>
|
||||
|
||||
<para>On success, <function>sd_bus_track_new()</function> and <function>sd_bus_track_set_recursive()</function>
|
||||
return 0 or a positive integer. On failure, they return a negative errno-style error code.</para>
|
||||
|
||||
<para><function>sd_bus_track_ref()</function> always returns the argument.</para>
|
||||
|
||||
<para><function>sd_bus_track_unref()</function> always returns <constant>NULL</constant>.</para>
|
||||
|
||||
<para><function>sd_bus_track_get_recursive()</function> returns 0 if non-recursive mode is selected (default), and
|
||||
greater than 0 if recursive mode is selected. On failure a negative errno-style error code is returned.</para>
|
||||
|
||||
<para><function>sd_bus_track_get_bus()</function> returns the bus object associated to the bus peer tracking
|
||||
object.</para>
|
||||
|
||||
<para><function>sd_bus_track_get_userdata()</function> returns the generic user data pointer associated with the
|
||||
bus peer tracking object. <function>sd_bus_track_set_userdata()</function> returns the previous user data pointer
|
||||
set.</para>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Reference ownership</title>
|
||||
|
||||
<para>The <function>sd_bus_track_new()</function> function creates a new object and the caller owns the sole
|
||||
reference. When not needed anymore, this reference should be destroyed with
|
||||
<function>sd_bus_track_unref()</function>.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Errors</title>
|
||||
|
||||
<para>Returned errors may indicate the following problems:</para>
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><constant>-EBUSY</constant></term>
|
||||
|
||||
<listitem><para>Bus peers have already been added to the bus peer tracking object and
|
||||
<function>sd_bus_track_set_recursive()</function> was called to change tracking mode.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><constant>-EINVAL</constant></term>
|
||||
|
||||
<listitem><para>Specified parameter is invalid
|
||||
(<constant>NULL</constant> in case of output
|
||||
parameters).</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><constant>-ENOMEM</constant></term>
|
||||
|
||||
<listitem><para>Memory allocation failed.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para><function>sd_bus_track_new()</function> and the other calls described here 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>
|
||||
<title>See Also</title>
|
||||
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
<citerefentry><refentrytitle>sd_bus_track_add_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
@ -183,8 +183,9 @@
|
||||
<refsect1>
|
||||
<title>Return Value</title>
|
||||
|
||||
<para>On success, <function>sd_event_new()</function> and
|
||||
<function>sd_event_default()</function> return 0 or a positive
|
||||
<para>On success, <function>sd_event_new()</function>,
|
||||
<function>sd_event_default()</function> and
|
||||
<function>sd_event_get_tid()</function> return 0 or a positive
|
||||
integer. On failure, they return a negative errno-style error
|
||||
code. <function>sd_event_ref()</function> always returns a pointer
|
||||
to the event loop object passed
|
||||
|
@ -57,9 +57,9 @@
|
||||
<funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo>
|
||||
|
||||
<funcsynopsisinfo><token>enum</token> {
|
||||
<constant>SD_EVENT_SOURCE_IMPORTANT</constant> = -100,
|
||||
<constant>SD_EVENT_SOURCE_NORMAL</constant> = 0,
|
||||
<constant>SD_EVENT_SOURCE_IDLE</constant> = 100,
|
||||
<constant>SD_EVENT_PRIORITY_IMPORTANT</constant> = -100,
|
||||
<constant>SD_EVENT_PRIORITY_NORMAL</constant> = 0,
|
||||
<constant>SD_EVENT_PRIORITY_IDLE</constant> = 100,
|
||||
};</funcsynopsisinfo>
|
||||
|
||||
<funcprototype>
|
||||
@ -115,7 +115,7 @@
|
||||
reliable. However, it is guaranteed that if events are seen on
|
||||
multiple same-priority event sources at the same time, each one is
|
||||
not dispatched again until all others have been dispatched
|
||||
once. This behaviour guarantees that within each priority
|
||||
once. This behavior guarantees that within each priority
|
||||
particular event sources do not starve or dominate the event
|
||||
loop.</para>
|
||||
|
||||
|
@ -45,6 +45,7 @@
|
||||
<refnamediv>
|
||||
<refname>sd_id128_get_machine</refname>
|
||||
<refname>sd_id128_get_boot</refname>
|
||||
<refname>sd_id128_get_invocation</refname>
|
||||
<refpurpose>Retrieve 128-bit IDs</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
@ -62,6 +63,11 @@
|
||||
<paramdef>sd_id128_t *<parameter>ret</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
<funcprototype>
|
||||
<funcdef>int <function>sd_id128_get_invocation</function></funcdef>
|
||||
<paramdef>sd_id128_t *<parameter>ret</parameter></paramdef>
|
||||
</funcprototype>
|
||||
|
||||
</funcsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
@ -83,11 +89,15 @@
|
||||
for more information. This function also internally caches the
|
||||
returned ID to make this call a cheap operation.</para>
|
||||
|
||||
<para>Note that <function>sd_id128_get_boot()</function> always
|
||||
returns a UUID v4 compatible ID.
|
||||
<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
|
||||
<para><function>sd_id128_get_invocation()</function> returns the invocation ID of the currently executed
|
||||
service. In its current implementation, this reads and parses the <varname>$INVOCATION_ID</varname> environment
|
||||
variable that the service manager sets when activating a service, see
|
||||
<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
|
||||
<citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
|
||||
|
||||
@ -107,11 +117,10 @@
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para>The <function>sd_id128_get_machine()</function> and
|
||||
<function>sd_id128_get_boot()</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>
|
||||
<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
|
||||
project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> file.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
@ -121,8 +130,9 @@
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd-id128</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>random</refentrytitle><manvolnum>4</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_id128_randomize</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_id128_randomize</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry project='man-pages'><refentrytitle>random</refentrytitle><manvolnum>4</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
@ -117,10 +117,10 @@
|
||||
whether the specified file descriptor refers to a socket. If the
|
||||
<parameter>family</parameter> parameter is not
|
||||
<constant>AF_UNSPEC</constant>, it is checked whether the socket
|
||||
is of the specified family (AF_UNIX, <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>,
|
||||
is of the specified family (<constant>AF_UNIX</constant>,
|
||||
<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
|
||||
<parameter>listening</parameter> parameter is positive, it is
|
||||
checked whether the socket is in accepting mode, i.e.
|
||||
|
@ -168,6 +168,9 @@
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para>All functions listed here are thread-agnostic and only a single thread may operate
|
||||
on a given <structname>sd_journal</structname> object.</para>
|
||||
|
||||
<para>The <function>sd_journal_add_match()</function>,
|
||||
<function>sd_journal_add_disjunction()</function>,
|
||||
<function>sd_journal_add_conjunction()</function> and
|
||||
|
@ -110,6 +110,9 @@
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para>All functions listed here are thread-agnostic and only a single thread may operate
|
||||
on a given <structname>sd_journal</structname> object.</para>
|
||||
|
||||
<para>The <function>sd_journal_enumerate_fields()</function> and <function>sd_journal_restart_fields()</function>
|
||||
interfaces are available as a shared library, which can be compiled and linked to with the
|
||||
<constant>libsystemd</constant> <citerefentry
|
||||
|
@ -112,6 +112,10 @@
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para>Function <function>sd_journal_get_catalog()</function> is thread-agnostic and only a
|
||||
single thread may operate on a given <structname>sd_journal</structname> object. Function
|
||||
<function>sd_journal_get_catalog_for_message_id() is thread-safe.</function></para>
|
||||
|
||||
<para>The <function>sd_journal_get_catalog()</function> and
|
||||
<function>sd_journal_get_catalog_for_message_id()</function>
|
||||
interfaces are available as a shared library, which can be
|
||||
|
@ -122,6 +122,9 @@
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para>All functions listed here are thread-agnostic and only a single thread may operate
|
||||
on a given <structname>sd_journal</structname> object.</para>
|
||||
|
||||
<para>The <function>sd_journal_get_cursor()</function> and
|
||||
<function>sd_journal_test_cursor()</function> interfaces are
|
||||
available as a shared library, which can be compiled and linked to
|
||||
|
@ -120,6 +120,9 @@
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para>All functions listed here are thread-agnostic and only a single thread may operate
|
||||
on a given <structname>sd_journal</structname> object.</para>
|
||||
|
||||
<para>The
|
||||
<function>sd_journal_get_cutoff_realtime_usec()</function> and
|
||||
<function>sd_journal_get_cutoff_monotonic_usec()</function>
|
||||
|
@ -80,6 +80,9 @@
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para>All functions listed here are thread-agnostic and only a single thread may operate
|
||||
on a given <structname>sd_journal</structname> object.</para>
|
||||
|
||||
<para>The <function>sd_journal_get_usage()</function> interface is
|
||||
available as a shared library, which can be compiled and linked to
|
||||
with the
|
||||
|
@ -85,6 +85,18 @@
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para>All functions listed here are thread-agnostic and only a single thread may operate
|
||||
on a given <structname>sd_journal</structname> object.</para>
|
||||
|
||||
<para>Functions listed here 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>
|
||||
<title>See Also</title>
|
||||
<para>
|
||||
|
@ -146,6 +146,9 @@
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para>All functions listed here are thread-agnostic and only a single thread may operate
|
||||
on a given <structname>sd_journal</structname> object.</para>
|
||||
|
||||
<para>The <function>sd_journal_next()</function>,
|
||||
<function>sd_journal_previous()</function>,
|
||||
<function>sd_journal_next_skip()</function> and
|
||||
|
@ -129,10 +129,13 @@
|
||||
|
||||
<para><function>sd_journal_open_directory()</function> is similar to <function>sd_journal_open()</function> but
|
||||
takes an absolute directory path as argument. All journal files in this directory will be opened and interleaved
|
||||
automatically. This call also takes a flags argument. The only flags parameter accepted by this call is
|
||||
<constant>SD_JOURNAL_OS_ROOT</constant>. If specified, the journal files are searched below the usual
|
||||
<filename>/var/log/journal</filename> and <filename>/run/log/journal</filename> relative to the specified path,
|
||||
instead of directly beneath it.</para>
|
||||
automatically. This call also takes a flags argument. The flags parameters accepted by this call are
|
||||
<constant>SD_JOURNAL_OS_ROOT</constant>, <constant>SD_JOURNAL_SYSTEM</constant>, and
|
||||
<constant>SD_JOURNAL_CURRENT_USER</constant>. If <constant>SD_JOURNAL_OS_ROOT</constant> is specified, journal
|
||||
files are searched for below the usual <filename>/var/log/journal</filename> and
|
||||
<filename>/run/log/journal</filename> relative to the specified path, instead of directly beneath it.
|
||||
The other two flags limit which files are opened, the same as for <function>sd_journal_open()</function>.
|
||||
</para>
|
||||
|
||||
<para><function>sd_journal_open_directory_fd()</function> is similar to
|
||||
<function>sd_journal_open_directory()</function>, but takes a file descriptor referencing a directory in the file
|
||||
@ -205,6 +208,9 @@
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para>All functions listed here are thread-agnostic and only a single thread may operate
|
||||
on a given <structname>sd_journal</structname> object.</para>
|
||||
|
||||
<para>The <function>sd_journal_open()</function>,
|
||||
<function>sd_journal_open_directory()</function> and
|
||||
<function>sd_journal_close()</function> interfaces are available
|
||||
|
@ -201,9 +201,10 @@ sd_journal_send("MESSAGE=Hello World, this is PID %lu!", (unsigned long) getpid(
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Async signal safety</title>
|
||||
<para><function>sd_journal_sendv()</function> is "async signal
|
||||
safe" in the meaning of
|
||||
<title>Thread safety</title>
|
||||
<para>All functions listed here are thread-safe and may be called in parallel from multiple threads.</para>
|
||||
|
||||
<para><function>sd_journal_sendv()</function> is "async signal safe" in the meaning of
|
||||
<citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
|
||||
</para>
|
||||
|
||||
|
@ -150,6 +150,9 @@
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para>All functions listed here are thread-agnostic and only a single thread may operate
|
||||
on a given <structname>sd_journal</structname> object.</para>
|
||||
|
||||
<para>The <function>sd_journal_query_unique()</function>,
|
||||
<function>sd_journal_enumerate_unique()</function> and
|
||||
<function>sd_journal_restart_unique()</function> interfaces are
|
||||
|
@ -144,6 +144,9 @@
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para>All functions listed here are thread-agnostic and only a single thread may operate
|
||||
on a given <structname>sd_journal</structname> object.</para>
|
||||
|
||||
<para>The <function>sd_journal_seek_head()</function>,
|
||||
<function>sd_journal_seek_tail()</function>,
|
||||
<function>sd_journal_seek_monotonic_usec()</function>,
|
||||
|
@ -104,6 +104,10 @@
|
||||
<refsect1>
|
||||
<title>Notes</title>
|
||||
|
||||
<para>Function <function>sd_journal_stream_fd()</function> is thread-safe and may be called
|
||||
from multiple threads. All calls will return the same file descriptor, although temporarily
|
||||
multiple file descriptors may be open.</para>
|
||||
|
||||
<para>The <function>sd_journal_stream_fd()</function> interface is
|
||||
available as a shared library, which can be compiled and linked to
|
||||
with the
|
||||
|
@ -205,28 +205,25 @@
|
||||
<varlistentry>
|
||||
<term>FDSTORE=1</term>
|
||||
|
||||
<listitem><para>Stores additional file descriptors in the
|
||||
service manager. File descriptors sent this way will be
|
||||
maintained per-service by the service manager and be passed
|
||||
again using the usual file descriptor passing logic on the
|
||||
next invocation of the service (see
|
||||
<citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>).
|
||||
This is useful for implementing service restart schemes where
|
||||
services serialize their state to <filename>/run</filename>,
|
||||
push their file descriptors to the system manager, and are
|
||||
then restarted, retrieving their state again via socket
|
||||
passing and <filename>/run</filename>. Note that the service
|
||||
manager will accept messages for a service only if
|
||||
<varname>FileDescriptorStoreMax=</varname> is set to non-zero
|
||||
for it (defaults to zero). See
|
||||
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
||||
for details. Multiple arrays of file descriptors may be sent
|
||||
in separate messages, in which case the arrays are combined.
|
||||
Note that the service manager removes duplicate file
|
||||
descriptors before passing them to the service. Use
|
||||
<function>sd_pid_notify_with_fds()</function> to send messages
|
||||
with <literal>FDSTORE=1</literal>, see
|
||||
below.</para></listitem>
|
||||
<listitem><para>Stores additional file descriptors in the service manager. File
|
||||
descriptors sent this way will be maintained per-service by the service manager
|
||||
and will be passed again using the usual file descriptor passing logic on the next
|
||||
invocation of the service, see
|
||||
<citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
|
||||
This is useful for implementing service restart schemes where services serialize
|
||||
their state to <filename>/run</filename>, push their file descriptors to the
|
||||
system manager, and are then restarted, retrieving their state again via socket
|
||||
passing and <filename>/run</filename>. Note that the service manager will accept
|
||||
messages for a service only if <varname>FileDescriptorStoreMax=</varname> is set
|
||||
to non-zero for it (defaults to zero, see
|
||||
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>).
|
||||
File descriptors must be pollable, see
|
||||
<citerefentry><refentrytitle>epoll_ctl</refentrytitle><manvolnum>2</manvolnum></citerefentry>.
|
||||
Multiple arrays of file descriptors may be sent in separate messages, in which
|
||||
case the arrays are combined. Note that the service manager removes duplicate
|
||||
file descriptors before passing them to the service. Use
|
||||
<function>sd_pid_notify_with_fds()</function> to send messages with
|
||||
<literal>FDSTORE=1</literal>, see below.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
|
@ -28,6 +28,12 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id='no-ask-password'>
|
||||
<term><option>--no-ask-password</option></term>
|
||||
|
||||
<listitem><para>Do not query the user for authentication for privileged operations.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id='no-legend'>
|
||||
<term><option>--no-legend</option></term>
|
||||
|
||||
|
@ -156,6 +156,10 @@
|
||||
|
||||
<para>To list all units installed in the file system, use the
|
||||
<command>list-unit-files</command> command instead.</para>
|
||||
|
||||
<para>When listing units with <command>list-dependencies</command>, recursively show
|
||||
dependencies of all dependent units (by default only dependencies of target units are
|
||||
shown).</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -229,6 +233,8 @@
|
||||
of <command>status</command>, <command>list-units</command>,
|
||||
<command>list-jobs</command>, and
|
||||
<command>list-timers</command>.</para>
|
||||
<para>Also, show installation targets in the output of
|
||||
<command>is-enabled</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -302,7 +308,7 @@
|
||||
<para><literal>ignore-requirements</literal> is similar to
|
||||
<literal>ignore-dependencies</literal>, but only causes the
|
||||
requirement dependencies to be ignored, the ordering
|
||||
dependencies will still be honoured.</para>
|
||||
dependencies will still be honored.</para>
|
||||
</listitem>
|
||||
|
||||
</varlistentry>
|
||||
@ -359,7 +365,20 @@
|
||||
to finish. If this is not specified, the job will be
|
||||
verified, enqueued and <command>systemctl</command> will
|
||||
wait until the unit's start-up is completed. By passing this
|
||||
argument, it is only verified and enqueued.</para>
|
||||
argument, it is only verified and enqueued. This option may not be
|
||||
combined with <option>--wait</option>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--wait</option></term>
|
||||
|
||||
<listitem>
|
||||
<para>Synchronously wait for started units to terminate again.
|
||||
This option may not be combined with <option>--no-block</option>.
|
||||
Note that this will wait forever if any given unit never terminates
|
||||
(by itself or by getting stopped explicitly); particularly services
|
||||
which use <literal>RemainAfterExit=yes</literal>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -527,8 +546,10 @@
|
||||
<listitem>
|
||||
<para>When used with
|
||||
<command>enable</command>/<command>disable</command>/<command>is-enabled</command>
|
||||
(and related commands), use an alternate root path when
|
||||
looking for unit files.</para>
|
||||
(and related commands), use the specified root path when looking for unit
|
||||
files. If this option is present, <command>systemctl</command> will operate on
|
||||
the file system directly, instead of communicating with the <command>systemd</command>
|
||||
daemon to carry out changes.</para>
|
||||
</listitem>
|
||||
|
||||
</varlistentry>
|
||||
@ -609,7 +630,7 @@
|
||||
|
||||
<listitem>
|
||||
<para>When used with <command>list-dependencies</command>,
|
||||
<command>list-units</command> or <command>list-machines</command>, the
|
||||
<command>list-units</command> or <command>list-machines</command>,
|
||||
the output is printed as a list instead of a tree, and the bullet
|
||||
circles are omitted.</para>
|
||||
</listitem>
|
||||
@ -638,13 +659,13 @@
|
||||
<term><command>list-units <optional><replaceable>PATTERN</replaceable>...</optional></command></term>
|
||||
|
||||
<listitem>
|
||||
<para>List units that <command>systemd</command> has loaded. This includes units that
|
||||
are either referenced directly or through a dependency, or units that were active in the
|
||||
past and have failed. By default only units which are active, have pending jobs, or have
|
||||
failed are shown; this can be changed with option <option>--all</option>. If one or more
|
||||
<replaceable>PATTERN</replaceable>s are specified, only units matching one of them are
|
||||
shown. The units that are shown are additionally filtered by <option>--type=</option>
|
||||
and <option>--state=</option> if those options are specified.</para>
|
||||
<para>List units that <command>systemd</command> currently has in memory. This includes units that are
|
||||
either referenced directly or through a dependency, units that are pinned by applications programmatically,
|
||||
or units that were active in the past and have failed. By default only units which are active, have pending
|
||||
jobs, or have failed are shown; this can be changed with option <option>--all</option>. If one or more
|
||||
<replaceable>PATTERN</replaceable>s are specified, only units matching one of them are shown. The units
|
||||
that are shown are additionally filtered by <option>--type=</option> and <option>--state=</option> if those
|
||||
options are specified.</para>
|
||||
|
||||
<para>This is the default command.</para>
|
||||
</listitem>
|
||||
@ -654,9 +675,8 @@
|
||||
<term><command>list-sockets <optional><replaceable>PATTERN</replaceable>...</optional></command></term>
|
||||
|
||||
<listitem>
|
||||
<para>List socket units ordered by listening address.
|
||||
If one or more <replaceable>PATTERN</replaceable>s are
|
||||
specified, only socket units matching one of them are
|
||||
<para>List socket units currently in memory, ordered by listening address. If one or more
|
||||
<replaceable>PATTERN</replaceable>s are specified, only socket units matching one of them are
|
||||
shown. Produces output similar to
|
||||
<programlisting>
|
||||
LISTEN UNIT ACTIVATES
|
||||
@ -670,8 +690,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
|
||||
is not suitable for programmatic consumption.
|
||||
</para>
|
||||
|
||||
<para>See also the options <option>--show-types</option>,
|
||||
<option>--all</option>, and <option>--state=</option>.</para>
|
||||
<para>Also see <option>--show-types</option>, <option>--all</option>, and <option>--state=</option>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -679,13 +698,11 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
|
||||
<term><command>list-timers <optional><replaceable>PATTERN</replaceable>...</optional></command></term>
|
||||
|
||||
<listitem>
|
||||
<para>List timer units 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.
|
||||
<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.
|
||||
</para>
|
||||
|
||||
<para>See also the options <option>--all</option> and
|
||||
<option>--state=</option>.</para>
|
||||
<para>Also see <option>--all</option> and <option>--state=</option>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -696,8 +713,8 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
|
||||
<para>Start (activate) one or more units specified on the
|
||||
command line.</para>
|
||||
|
||||
<para>Note that glob patterns operate on the set of primary names of currently loaded units. Units which
|
||||
are not active and are not in a failed state usually are not loaded, and will not be matched by any
|
||||
<para>Note that glob patterns operate on the set of primary names of units currently in memory. Units which
|
||||
are not active and are not in a failed state usually are not in memory, and will not be matched by any
|
||||
pattern. In addition, in case of instantiated units, systemd is often unaware of the instance name until
|
||||
the instance has been started. Therefore, using glob patterns with <command>start</command> has limited
|
||||
usefulness. Also, secondary alias names of units are not considered.</para>
|
||||
@ -860,8 +877,8 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
|
||||
<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 is shown, and if a job ID is
|
||||
specified, properties of the job is shown. By default, empty
|
||||
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
|
||||
@ -877,7 +894,11 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
|
||||
<para>Show backing files of one or more units. Prints the
|
||||
"fragment" and "drop-ins" (source files) of units. Each
|
||||
file is preceded by a comment which includes the file
|
||||
name.</para>
|
||||
name. Note that this shows the contents of the backing files
|
||||
on disk, which may not match the system manager's
|
||||
understanding of these units if any unit files were
|
||||
updated on disk and the <command>daemon-reload</command>
|
||||
command wasn't issued since.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
@ -993,7 +1014,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
|
||||
desired, combine this command with the <option>--now</option> switch, or invoke <command>start</command>
|
||||
with appropriate arguments later. Note that in case of unit instance enablement (i.e. enablement of units of
|
||||
the form <filename>foo@bar.service</filename>), symlinks named the same as instances are created in the
|
||||
unit configuration diectory, however they point to the single template unit file they are instantiated
|
||||
unit configuration directory, however they point to the single template unit file they are instantiated
|
||||
from.</para>
|
||||
|
||||
<para>This command expects either valid unit names (in which case various unit file directories are
|
||||
@ -1069,8 +1090,8 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
|
||||
<listitem>
|
||||
<para>Reenable one or more units, as specified on the command line. This is a combination of
|
||||
<command>disable</command> and <command>enable</command> and is useful to reset the symlinks a unit file is
|
||||
enabled with to the defaults configured in its <literal>[Install]</literal> section. This commands expects
|
||||
a unit uname only, it does not accept paths to unit files.</para>
|
||||
enabled with to the defaults configured in its <literal>[Install]</literal> section. This command expects
|
||||
a unit name only, it does not accept paths to unit files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -1088,7 +1109,8 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
|
||||
enabled and disabled, or only enabled, or only disabled.</para>
|
||||
|
||||
<para>If the unit carries no install information, it will be silently ignored
|
||||
by this command.</para>
|
||||
by this command. <replaceable>NAME</replaceable> must be the real unit name,
|
||||
any alias names are ignored silently.</para>
|
||||
|
||||
<para>For more information on the preset policy format, see
|
||||
<citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
||||
@ -1120,6 +1142,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
|
||||
exit code of 0 if at least one is enabled, non-zero
|
||||
otherwise. Prints the current enable status (see table).
|
||||
To suppress this output, use <option>--quiet</option>.
|
||||
To show installation targets, use <option>--full</option>.
|
||||
</para>
|
||||
|
||||
<table>
|
||||
@ -1242,7 +1265,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
|
||||
<literal>foo.service.d/</literal> with all their contained files are removed, both below the persistent and
|
||||
runtime configuration directories (i.e. below <filename>/etc/systemd/system</filename> and
|
||||
<filename>/run/systemd/system</filename>); if the unit file has a vendor-supplied version (i.e. a unit file
|
||||
located below <filename>/usr</filename>) any matching peristent or runtime unit file that overrides it is
|
||||
located below <filename>/usr</filename>) any matching persistent or runtime unit file that overrides it is
|
||||
removed, too. Note that if a unit file has no vendor-supplied version (i.e. is only defined below
|
||||
<filename>/etc/systemd/system</filename> or <filename>/run/systemd/system</filename>, but not in a unit
|
||||
file stored below <filename>/usr</filename>), then it is not removed. Also, if a unit is masked, it is
|
||||
@ -1676,20 +1699,15 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
|
||||
<term><command>switch-root <replaceable>ROOT</replaceable> <optional><replaceable>INIT</replaceable></optional></command></term>
|
||||
|
||||
<listitem>
|
||||
<para>Switches to a different root directory and executes a
|
||||
new system manager process below it. This is intended for
|
||||
usage in initial RAM disks ("initrd"), and will transition
|
||||
from the initrd's system manager process (a.k.a. "init"
|
||||
process) to the main system manager process. This call takes two
|
||||
arguments: the directory that is to become the new root directory, and
|
||||
the path to the new system manager binary below it to
|
||||
execute as PID 1. If the latter is omitted or the empty
|
||||
string, a systemd binary will automatically be searched for
|
||||
and used as init. If the system manager path is omitted or
|
||||
equal to the empty string, the state of the initrd's system
|
||||
manager process is passed to the main system manager, which
|
||||
allows later introspection of the state of the services
|
||||
involved in the initrd boot.</para>
|
||||
<para>Switches to a different root directory and executes a new system manager process below it. This is
|
||||
intended for usage in initial RAM disks ("initrd"), and will transition from the initrd's system manager
|
||||
process (a.k.a. "init" process) to the main system manager process which is loaded from the actual host
|
||||
volume. This call takes two arguments: the directory that is to become the new root directory, and the path
|
||||
to the new system manager binary below it to execute as PID 1. If the latter is omitted or the empty
|
||||
string, a systemd binary will automatically be searched for and used as init. If the system manager path is
|
||||
omitted, equal to the empty string or identical to the path to the systemd binary, the state of the
|
||||
initrd's system manager process is passed to the main system manager, which allows later introspection of
|
||||
the state of the services involved in the initrd boot phase.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -1746,7 +1764,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
|
||||
are equivalent to:
|
||||
<programlisting># systemctl status dev-sda.device
|
||||
# systemctl status home.mount</programlisting>
|
||||
In the second case, shell-style globs will be matched against the primary names of all currently loaded units;
|
||||
In the second case, shell-style globs will be matched against the primary names of all units currently in memory;
|
||||
literal unit names, with or without a suffix, will be treated as in the first case. This means that literal unit
|
||||
names always refer to exactly one unit, but globs may match zero units and this is not considered an
|
||||
error.</para>
|
||||
@ -1758,11 +1776,11 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
|
||||
<literal>[]</literal> may be used. See
|
||||
<citerefentry project='man-pages'><refentrytitle>glob</refentrytitle><manvolnum>7</manvolnum></citerefentry>
|
||||
for more details. The patterns are matched against the primary names of
|
||||
currently loaded units, and patterns which do not match anything
|
||||
units currently in memory, and patterns which do not match anything
|
||||
are silently skipped. For example:
|
||||
<programlisting># systemctl stop sshd@*.service</programlisting>
|
||||
will stop all <filename>sshd@.service</filename> instances. Note that alias names of units, and units that aren't
|
||||
loaded are not considered for glob expansion.
|
||||
in memory are not considered for glob expansion.
|
||||
</para>
|
||||
|
||||
<para>For unit file commands, the specified <replaceable>NAME</replaceable> should be the name of the unit file
|
||||
@ -1804,6 +1822,7 @@ kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
|
||||
</variablelist>
|
||||
<xi:include href="less-variables.xml" xpointer="pager"/>
|
||||
<xi:include href="less-variables.xml" xpointer="less"/>
|
||||
<xi:include href="less-variables.xml" xpointer="lesscharset"/>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
|
@ -181,14 +181,15 @@
|
||||
<option>--log-target=</option>, described in
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>).</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. This command works by prepending the
|
||||
directories for all command line arguments at the beginning of the
|
||||
unit load path, which means that all units files found in those
|
||||
directories will be used in preference to the unit files found in
|
||||
the standard locations, even if not listed explicitly.</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
|
||||
formed by combining the directories for all command line arguments, and the usual unit
|
||||
load paths (variable <varname>$SYSTEMD_UNIT_PATH</varname> is supported, and may be
|
||||
used to replace or augment the compiled in set of unit load paths; see
|
||||
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>).
|
||||
All units files present in the directories containing the command line arguments will
|
||||
be used in preference to the other paths.</para>
|
||||
|
||||
<para>If no command is passed, <command>systemd-analyze
|
||||
time</command> is implied.</para>
|
||||
|
@ -107,7 +107,7 @@
|
||||
<citerefentry><refentrytitle>systemd-sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
|
||||
</para>
|
||||
|
||||
<para>The behaviour of <command>systemd-coredump</command> itself is configured through the configuration file
|
||||
<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
|
||||
<citerefentry><refentrytitle>coredump.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>. A new
|
||||
|
@ -50,7 +50,8 @@
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>systemd-detect-virt <arg choice="opt" rep="repeat">OPTIONS</arg></command>
|
||||
<command>systemd-detect-virt</command>
|
||||
<arg choice="opt" rep="repeat">OPTIONS</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
@ -88,7 +89,7 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry valign="top" morerows="9">VM</entry>
|
||||
<entry valign="top" morerows="10">VM</entry>
|
||||
<entry><varname>qemu</varname></entry>
|
||||
<entry>QEMU software virtualization</entry>
|
||||
</row>
|
||||
@ -138,6 +139,11 @@
|
||||
<entry>Parallels Desktop, Parallels Server</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><varname>bhyve</varname></entry>
|
||||
<entry>bhyve, FreeBSD hypervisor</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry valign="top" morerows="5">Container</entry>
|
||||
<entry><varname>openvz</varname></entry>
|
||||
@ -212,6 +218,16 @@
|
||||
environment or not.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--private-users</option></term>
|
||||
|
||||
<listitem><para>Detect whether invoked in a user namespace. In this mode, no
|
||||
output is written, but the return value indicates whether the process was invoked
|
||||
inside of a user namespace or not. See
|
||||
<citerefentry project='man-pages'><refentrytitle>user_namespaces</refentrytitle><manvolnum>7</manvolnum></citerefentry>
|
||||
for more information.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-q</option></term>
|
||||
<term><option>--quiet</option></term>
|
||||
@ -238,7 +254,8 @@
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>chroot</refentrytitle><manvolnum>2</manvolnum></citerefentry>
|
||||
<citerefentry><refentrytitle>chroot</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
|
||||
<citerefentry project='man-pages'><refentrytitle>namespaces</refentrytitle><manvolnum>7</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
@ -97,7 +97,7 @@
|
||||
|
||||
<listitem><para>Inserts the escaped strings in a unit name
|
||||
template. Takes a unit name template such as
|
||||
<filename>foobar@.service</filename> May not be used in
|
||||
<filename>foobar@.service</filename>. May not be used in
|
||||
conjunction with <option>--suffix=</option>,
|
||||
<option>--unescape</option> or
|
||||
<option>--mangle</option>.</para></listitem>
|
||||
@ -108,9 +108,10 @@
|
||||
<term><option>-p</option></term>
|
||||
|
||||
<listitem><para>When escaping or unescaping a string, assume
|
||||
it refers to a file system path. This enables special
|
||||
processing of the initial <literal>/</literal> of the
|
||||
path.</para></listitem>
|
||||
it refers to a file system path. This eliminates leading,
|
||||
trailing or duplicate <literal>/</literal> characters
|
||||
and rejects <literal>.</literal> and <literal>..</literal>
|
||||
path components.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -143,7 +144,7 @@
|
||||
<refsect1>
|
||||
<title>Examples</title>
|
||||
|
||||
<para>Escape a single string:</para>
|
||||
<para>To escape a single string:</para>
|
||||
<programlisting>$ systemd-escape 'Hallöchen, Meister'
|
||||
Hall\xc3\xb6chen\x2c\x20Meister</programlisting>
|
||||
|
||||
@ -155,7 +156,7 @@ Hallöchen, Meister</programlisting>
|
||||
<programlisting>$ systemd-escape -p --suffix=mount "/tmp//waldi/foobar/"
|
||||
tmp-waldi-foobar.mount</programlisting>
|
||||
|
||||
<para>To generate instance names of three strings</para>
|
||||
<para>To generate instance names of three strings:</para>
|
||||
<programlisting>$ systemd-escape --template=systemd-nspawn@.service 'My Container 1' 'containerb' 'container/III'
|
||||
systemd-nspawn@My\x20Container\x201.service systemd-nspawn@containerb.service systemd-nspawn@container-III.service</programlisting>
|
||||
</refsect1>
|
||||
|
@ -137,6 +137,11 @@
|
||||
<entry>Swap</entry>
|
||||
<entry>All swap partitions located on the disk the root partition is located on are enabled.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>c12a7328-f81f-11d2-ba4b-00a0c93ec93b</entry>
|
||||
<entry>EFI System Partition (ESP)</entry>
|
||||
<entry>The first ESP located on the disk the root partition is located on is mounted to <filename>/boot</filename> or <filename>/efi</filename>, see below.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
@ -150,16 +155,14 @@
|
||||
<filename>/etc/crypttab</filename> with a different device mapper
|
||||
device name.</para>
|
||||
|
||||
<para>Mount and automount units for the EFI System Partition (ESP),
|
||||
mounting it to <filename>/boot</filename>, are generated on EFI
|
||||
systems where the boot loader communicates the used ESP to the operating
|
||||
system. Since this generator creates an automount unit, the mount will
|
||||
only be activated on-demand, when accessed. On systems where
|
||||
<filename>/boot</filename> is an explicitly configured mount
|
||||
(for example, listed in
|
||||
<citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>)
|
||||
or where the <filename>/boot</filename> mount point is non-empty, no
|
||||
mount units are generated.</para>
|
||||
<para>Mount and automount units for the EFI System Partition (ESP) are generated on EFI systems. The ESP is mounted
|
||||
to <filename>/boot</filename>, unless a mount point directory <filename>/efi</filename> exists, in which case it is
|
||||
mounted there. Since this generator creates an automount unit, the mount will only be activated on-demand, when
|
||||
accessed. On systems where <filename>/boot</filename> (or <filename>/efi</filename> if it exists) is an explicitly
|
||||
configured mount (for example, listed in <citerefentry
|
||||
project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>) or where the
|
||||
<filename>/boot</filename> (or <filename>/efi</filename>) mount point is non-empty, no mount units are
|
||||
generated.</para>
|
||||
|
||||
<para>When using this generator in conjunction with btrfs file
|
||||
systems, make sure to set the correct default subvolumes on them,
|
||||
|
@ -61,7 +61,7 @@
|
||||
<title>Description</title>
|
||||
|
||||
<para><command>systemd-inhibit</command> may be used to execute a
|
||||
program with a shutdown, sleep or idle inhibitor lock taken. The
|
||||
program with a shutdown, sleep, or idle inhibitor lock taken. The
|
||||
lock will be acquired before the specified command line is
|
||||
executed and released afterwards.</para>
|
||||
|
||||
|
@ -100,6 +100,16 @@
|
||||
with <option>--cert=</option>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-D <replaceable>DIR</replaceable></option></term>
|
||||
<term><option>--directory=<replaceable>DIR</replaceable></option></term>
|
||||
|
||||
<listitem><para>Takes a directory path as argument. If
|
||||
specified, <command>systemd-journal-gatewayd</command> will serve the
|
||||
specified journal directory <replaceable>DIR</replaceable> instead of
|
||||
the default runtime and system journal paths.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<xi:include href="standard-options.xml" xpointer="help" />
|
||||
<xi:include href="standard-options.xml" xpointer="version" />
|
||||
</variablelist>
|
||||
|
@ -121,8 +121,8 @@
|
||||
<replaceable>ADDRESS</replaceable>. This URL should refer to the
|
||||
root of a remote
|
||||
<citerefentry><refentrytitle>systemd-journal-gatewayd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
instance (e.g. <ulink>http://some.host:19531/</ulink> or
|
||||
<ulink>https://some.host:19531/</ulink>).</para></listitem>
|
||||
instance, e.g. http://some.host:19531/ or
|
||||
https://some.host:19531/.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
@ -250,20 +250,19 @@
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--compress</option></term>
|
||||
<term><option>--no-compress</option></term>
|
||||
<term><option>--compress</option> [<replaceable>BOOL</replaceable>]</term>
|
||||
|
||||
<listitem><para>Compress or not, respectively, the data in the
|
||||
journal using XZ.</para></listitem>
|
||||
<listitem><para>If this is set to <literal>yes</literal> then compress
|
||||
the data in the journal using XZ. The default is <literal>yes</literal>.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--seal</option></term>
|
||||
<term><option>--no-seal</option></term>
|
||||
<term><option>--seal</option> [<replaceable>BOOL</replaceable>]</term>
|
||||
|
||||
<listitem><para>Periodically sign or not, respectively, the
|
||||
data in the journal using Forward Secure Sealing.
|
||||
</para></listitem>
|
||||
<listitem><para>If this is set to <literal>yes</literal> then
|
||||
periodically sign the data in the journal using Forward Secure Sealing.
|
||||
The default is <literal>no</literal>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
|
@ -84,7 +84,7 @@
|
||||
management</para></listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>User sessions are registered in logind via the
|
||||
<para>User sessions are registered with logind via the
|
||||
<citerefentry><refentrytitle>pam_systemd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
PAM module.</para>
|
||||
|
||||
|
@ -82,7 +82,7 @@
|
||||
<filename>/etc/machine-id</filename>.</para></listitem>
|
||||
|
||||
<listitem><para>If run inside a KVM virtual machine and a UUID
|
||||
is was configured (via the <option>-uuid</option>
|
||||
is configured (via the <option>-uuid</option>
|
||||
option), this UUID is used to initialize the machine ID. The
|
||||
caller must ensure that the UUID passed is sufficiently unique
|
||||
and is different for every booted instance of the
|
||||
@ -154,7 +154,7 @@
|
||||
<varlistentry>
|
||||
<term><option>--print</option></term>
|
||||
|
||||
<listitem><para>Print the machine ID generated or commited after the operation is complete.</para></listitem>
|
||||
<listitem><para>Print the machine ID generated or committed after the operation is complete.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<xi:include href="standard-options.xml" xpointer="help" />
|
||||
|
295
man/systemd-mount.xml
Normal file
295
man/systemd-mount.xml
Normal file
@ -0,0 +1,295 @@
|
||||
<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
|
||||
<!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 Lennart Poettering
|
||||
|
||||
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-mount"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
|
||||
<refentryinfo>
|
||||
<title>systemd-mount</title>
|
||||
<productname>systemd</productname>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<contrib>Developer</contrib>
|
||||
<firstname>Lennart</firstname>
|
||||
<surname>Poettering</surname>
|
||||
<email>lennart@poettering.net</email>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>systemd-mount</refentrytitle>
|
||||
<manvolnum>1</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>systemd-mount</refname>
|
||||
<refpurpose>Establish a mount or auto-mount point transiently</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>systemd-mount</command>
|
||||
<arg choice="opt" rep="repeat"><replaceable>OPTIONS</replaceable></arg>
|
||||
<arg choice="plain"><replaceable>WHAT</replaceable></arg>
|
||||
<arg choice="opt"><replaceable>WHERE</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis>
|
||||
<command>systemd-mount</command>
|
||||
<arg choice="opt" rep="repeat"><replaceable>OPTIONS</replaceable></arg>
|
||||
<arg choice="plain"><option>--list</option></arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para><command>systemd-mount</command> may be used to create and start a transient <filename>.mount</filename> or
|
||||
<filename>.automount</filename> unit of the file system <replaceable>WHAT</replaceable> on the mount point
|
||||
<replaceable>WHERE</replaceable>.</para>
|
||||
|
||||
<para>In many ways, <command>systemd-mount</command> is similar to the lower-level
|
||||
<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry> command, however instead
|
||||
of executing the mount operation directly and immediately, <command>systemd-mount</command> schedules it through
|
||||
the service manager job queue, so that it may pull in further dependencies (such as parent mounts, or a file system
|
||||
checker to execute a priori), and may make use of the auto-mounting logic.</para>
|
||||
|
||||
<para>The command takes either one or two arguments. If only one argument is specified it should refer to a block
|
||||
device containing a file system (e.g. <literal>/dev/sdb1</literal>), which is then probed for a label and other
|
||||
metadata, and is mounted to a directory whose name is generated from the label. In this mode the block device must
|
||||
exist at the time of invocation of the command, so that it may be probed. If the device is found to be a removable
|
||||
block device (e.g. a USB stick) an automount point instead of a regular mount point is created (i.e. the
|
||||
<option>--automount=</option> option is implied, see below).</para>
|
||||
|
||||
<para>If two arguments are specified the first indicates the mount source (the <replaceable>WHAT</replaceable>) and
|
||||
the second indicates the path to mount it on (the <replaceable>WHERE</replaceable>). In this mode no probing of the
|
||||
source is attempted, and a backing device node doesn't have to exist yet. However, if this mode is combined with
|
||||
<option>--discover</option>, device node probing for additional metadata is enabled, and – much like in the
|
||||
single-argument case discussed above – the specified device has to exist at the time of invocation of the
|
||||
command.</para>
|
||||
|
||||
<para>Use the <option>--list</option> command to show a terse table of all local, known block devices with file
|
||||
systems that may be mounted with this command.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Options</title>
|
||||
|
||||
<para>The following options are understood:</para>
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--no-block</option></term>
|
||||
|
||||
<listitem>
|
||||
<para>Do not synchronously wait for the requested operation to finish. If this is not specified, the job will
|
||||
be verified, enqueued and <command>systemd-mount</command> will wait until the mount or automount unit's
|
||||
start-up is completed. By passing this argument, it is only verified and enqueued.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<xi:include href="standard-options.xml" xpointer="no-pager"/>
|
||||
<xi:include href="standard-options.xml" xpointer="no-ask-password"/>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--quiet</option></term>
|
||||
<term><option>-q</option></term>
|
||||
|
||||
<listitem><para>Suppresses additional informational output while running.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--discover</option></term>
|
||||
|
||||
<listitem><para>Enable probing of the mount source. This switch is implied if a single argument is specified on
|
||||
the command line. If passed, additional metadata is read from the device to enhance the unit to create. For
|
||||
example, a descriptive string for the transient units is generated from the file system label and device
|
||||
model. Moreover if a removable block device (e.g. USB stick) is detected an automount unit instead of a regular
|
||||
mount unit is created, with a short idle time-out, in order to ensure the file-system is placed in a clean
|
||||
state quickly after each access.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--type=</option></term>
|
||||
<term><option>-t</option></term>
|
||||
|
||||
<listitem><para>Specifies the file system type to mount (e.g. <literal>vfat</literal>, <literal>ext4</literal>,
|
||||
…). If omitted (or set to <literal>auto</literal>) the file system is determined automatically.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--options=</option></term>
|
||||
<term><option>-o</option></term>
|
||||
|
||||
<listitem><para>Additional mount options for the mount point.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--fsck=</option></term>
|
||||
|
||||
<listitem><para>Takes a boolean argument, defaults to on. Controls whether to run a file system check
|
||||
immediately before the mount operation. In the automount case (see <option>--automount=</option> below) the
|
||||
check will be run the moment the first access to the device is made, which might slightly delay the
|
||||
access.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--description=</option></term>
|
||||
|
||||
<listitem><para>Provide a description for the mount or automount unit. See <varname>Description=</varname> in
|
||||
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--property=</option></term>
|
||||
<term><option>-p</option></term>
|
||||
|
||||
<listitem><para>Sets a unit property for the mount unit that is created. This takes an assignment in the same
|
||||
format as <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
|
||||
<command>set-property</command> command.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--automount=</option></term>
|
||||
|
||||
<listitem><para>Takes a boolean argument. Controls whether to create an automount point or a regular mount
|
||||
point. If true an automount point is created that is backed by the actual file system at the time of first
|
||||
access. If false a plain mount point is created that is backed by the actual file system immediately. Automount
|
||||
points have the benefit that the file system stays unmounted and hence in clean state until it is first
|
||||
accessed. In automount mode the <option>--timeout-idle-sec=</option> switch (see below) may be used to ensure
|
||||
the mount point is unmounted automatically after the last access and an idle period passed.</para>
|
||||
|
||||
<para>If this switch is not specified it defaults to false. If not specified and <option>--discover</option> is
|
||||
used (or only a single argument passed, which implies <option>--discover</option>, see above), and the file
|
||||
system block device is detected to be removable, it is set to true, in order to increase the chance that the
|
||||
file system is in a fully clean state if the device is unplugged abruptly.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-A</option></term>
|
||||
|
||||
<listitem><para>Equivalent to <option>--automount=yes</option>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--timeout-idle-sec=</option></term>
|
||||
|
||||
<listitem><para>Takes a time value that controls the idle timeout in automount mode. If set to
|
||||
<literal>infinity</literal> (the default) no automatic unmounts are done. Otherwise the file system backing the
|
||||
automount point is detached after the last access and the idle timeout passed. See
|
||||
<citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry> for details on
|
||||
the time syntax supported. This option has no effect if only a regular mount is established, and automounting
|
||||
is not used.</para>
|
||||
|
||||
<para>Note that if <option>--discover</option> is used (or only a single argument passed, which implies
|
||||
<option>--discover</option>, see above), and the file system block device is detected to be removable,
|
||||
<option>--timeout-idle-sec=1s</option> is implied.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--automount-property=</option></term>
|
||||
|
||||
<listitem><para>Similar to <option>--property=</option>, but applies additional properties to the automount
|
||||
unit created, instead of the mount unit.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--bind-device=</option></term>
|
||||
|
||||
<listitem><para>Takes a boolean argument, defaults to off. This option only has an effect in automount mode,
|
||||
and controls whether the automount unit shall be bound to the backing device's lifetime. If enabled, the
|
||||
automount point will be removed automatically when the backing device vanishes. If disabled the automount point
|
||||
stays around, and subsequent accesses will block until backing device is replugged. This option has no effect
|
||||
in case of non-device mounts, such as network or virtual file system mounts.</para>
|
||||
|
||||
<para>Note that if <option>--discover</option> is used (or only a single argument passed, which implies
|
||||
<option>--discover</option>, see above), and the file system block device is detected to be removable, this
|
||||
option is implied.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--list</option></term>
|
||||
|
||||
<listitem><para>Instead of establishing a mount or automount point, print a terse list of block devices
|
||||
containing file systems that may be mounted with <literal>systemd-mount</literal>, along with useful metadata
|
||||
such as labels, etc.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<xi:include href="user-system-options.xml" xpointer="user" />
|
||||
<xi:include href="user-system-options.xml" xpointer="system" />
|
||||
<xi:include href="user-system-options.xml" xpointer="host" />
|
||||
<xi:include href="user-system-options.xml" xpointer="machine" />
|
||||
|
||||
<xi:include href="standard-options.xml" xpointer="help" />
|
||||
<xi:include href="standard-options.xml" xpointer="version" />
|
||||
</variablelist>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Exit status</title>
|
||||
|
||||
<para>On success, 0 is returned, a non-zero failure
|
||||
code otherwise.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>The udev Database</title>
|
||||
|
||||
<para>If <option>--discover</option> is used, <command>systemd-mount</command> honors a couple of additional udev
|
||||
properties of block devices:</para>
|
||||
|
||||
<variablelist class='udev-directives'>
|
||||
<varlistentry>
|
||||
<term><varname>SYSTEMD_MOUNT_OPTIONS=</varname></term>
|
||||
|
||||
<listitem><para>The mount options to use, if <option>--options=</option> is not used.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>SYSTEMD_MOUNT_WHERE=</varname></term>
|
||||
|
||||
<listitem><para>The file system path to place the mount point at, instead of the automatically generated
|
||||
one.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>See Also</title>
|
||||
<para>
|
||||
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd-run</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
@ -274,8 +274,7 @@
|
||||
signals. It is recommended to use this mode to invoke arbitrary commands in containers, unless they have been
|
||||
modified to run correctly as PID 1. Or in other words: this switch should be used for pretty much all commands,
|
||||
except when the command refers to an init or shell implementation, as these are generally capable of running
|
||||
correctly as PID 1. This option may not be combined with <option>--boot</option> or
|
||||
<option>--share-system</option>.</para>
|
||||
correctly as PID 1. This option may not be combined with <option>--boot</option>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -285,8 +284,7 @@
|
||||
|
||||
<listitem><para>Automatically search for an init binary and invoke it as PID 1, instead of a shell or a user
|
||||
supplied program. If this option is used, arguments specified on the command line are used as arguments for the
|
||||
init binary. This option may not be combined with <option>--as-pid2</option> or
|
||||
<option>--share-system</option>.</para>
|
||||
init binary. This option may not be combined with <option>--as-pid2</option>.</para>
|
||||
|
||||
<para>The following table explains the different modes of invocation and relationship to
|
||||
<option>--as-pid2</option> (see above):</para>
|
||||
@ -407,41 +405,42 @@
|
||||
purposes (usually in the range beyond the host's UID/GID 65536). The parameter may be specified as follows:</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem><para>The value <literal>no</literal> turns off user namespacing. This is the default.</para></listitem>
|
||||
<listitem><para>If one or two colon-separated numbers are specified, user namespacing is turned on. The first
|
||||
parameter specifies the first host UID/GID to assign to the container, the second parameter specifies the
|
||||
number of host UIDs/GIDs to assign to the container. If the second parameter is omitted, 65536 UIDs/GIDs are
|
||||
assigned.</para></listitem>
|
||||
|
||||
<listitem><para>The value <literal>yes</literal> (or the omission of a parameter) turns on user
|
||||
namespacing. The UID/GID range to use is determined automatically from the file ownership of the root
|
||||
directory of the container's directory tree. To use this option, make sure to prepare the directory tree in
|
||||
advance, and ensure that all files and directories in it are owned by UIDs/GIDs in the range you'd like to
|
||||
use. Also, make sure that used file ACLs exclusively reference UIDs/GIDs in the appropriate range. If this
|
||||
mode is used the number of UIDs/GIDs assigned to the container for use is 65536, and the UID/GID of the
|
||||
root directory must be a multiple of 65536.</para></listitem>
|
||||
<listitem><para>If the parameter is omitted, or true, user namespacing is turned on. The UID/GID range to
|
||||
use is determined automatically from the file ownership of the root directory of the container's directory
|
||||
tree. To use this option, make sure to prepare the directory tree in advance, and ensure that all files and
|
||||
directories in it are owned by UIDs/GIDs in the range you'd like to use. Also, make sure that used file ACLs
|
||||
exclusively reference UIDs/GIDs in the appropriate range. If this mode is used the number of UIDs/GIDs
|
||||
assigned to the container for use is 65536, and the UID/GID of the root directory must be a multiple of
|
||||
65536.</para></listitem>
|
||||
|
||||
<listitem><para>The value "pick" turns on user namespacing. In this case the UID/GID range is automatically
|
||||
chosen. As first step, the file owner of the root directory of the container's directory tree is read, and it
|
||||
is checked that it is currently not used by the system otherwise (in particular, that no other container is
|
||||
using it). If this check is successful, the UID/GID range determined this way is used, similar to the
|
||||
behaviour if "yes" is specified. If the check is not successful (and thus the UID/GID range indicated in the
|
||||
root directory's file owner is already used elsewhere) a new – currently unused – UID/GID range of 65536
|
||||
UIDs/GIDs is randomly chosen between the host UID/GIDs of 524288 and 1878982656, always starting at a
|
||||
multiple of 65536. This setting implies <option>--private-users-chown</option> (see below), which has the
|
||||
effect that the files and directories in the container's directory tree will be owned by the appropriate
|
||||
users of the range picked. Using this option makes user namespace behaviour fully automatic. Note that the
|
||||
first invocation of a previously unused container image might result in picking a new UID/GID range for it,
|
||||
and thus in the (possibly expensive) file ownership adjustment operation. However, subsequent invocations of
|
||||
the container will be cheap (unless of course the picked UID/GID range is assigned to a different use by
|
||||
then).</para></listitem>
|
||||
<listitem><para>If the parameter is false, user namespacing is turned off. This is the default.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem><para>Finally if one or two colon-separated numeric parameters are specified, user namespacing is
|
||||
turned on, too. The first parameter specifies the first host UID/GID to assign to the container, the second
|
||||
parameter specifies the number of host UIDs/GIDs to assign to the container. If the second parameter is
|
||||
omitted, 65536 UIDs/GIDs are assigned.</para></listitem>
|
||||
<listitem><para>The special value <literal>pick</literal> turns on user namespacing. In this case the UID/GID
|
||||
range is automatically chosen. As first step, the file owner of the root directory of the container's
|
||||
directory tree is read, and it is checked that it is currently not used by the system otherwise (in
|
||||
particular, that no other container is using it). If this check is successful, the UID/GID range determined
|
||||
this way is used, similar to the behavior if "yes" is specified. If the check is not successful (and thus
|
||||
the UID/GID range indicated in the root directory's file owner is already used elsewhere) a new – currently
|
||||
unused – UID/GID range of 65536 UIDs/GIDs is randomly chosen between the host UID/GIDs of 524288 and
|
||||
1878982656, always starting at a multiple of 65536. This setting implies
|
||||
<option>--private-users-chown</option> (see below), which has the effect that the files and directories in
|
||||
the container's directory tree will be owned by the appropriate users of the range picked. Using this option
|
||||
makes user namespace behavior fully automatic. Note that the first invocation of a previously unused
|
||||
container image might result in picking a new UID/GID range for it, and thus in the (possibly expensive) file
|
||||
ownership adjustment operation. However, subsequent invocations of the container will be cheap (unless of
|
||||
course the picked UID/GID range is assigned to a different use by then).</para></listitem>
|
||||
</orderedlist>
|
||||
|
||||
<para>It is recommended to assign at least 65536 UIDs/GIDs to each container, so that the usable UID/GID range in the
|
||||
container covers 16 bit. For best security, do not assign overlapping UID/GID ranges to multiple containers. It is
|
||||
hence a good idea to use the upper 16 bit of the host 32-bit UIDs/GIDs as container identifier, while the lower 16
|
||||
bit encode the container UID/GID used. This is in fact the behaviour enforced by the
|
||||
bit encode the container UID/GID used. This is in fact the behavior enforced by the
|
||||
<option>--private-users=pick</option> option.</para>
|
||||
|
||||
<para>When user namespaces are used, the GID range assigned to each container is always chosen identical to the
|
||||
@ -455,17 +454,6 @@
|
||||
except in the file ownership of the files and directories of the container.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-U</option></term>
|
||||
|
||||
<listitem><para>If the kernel supports the user namespaces feature, equivalent to
|
||||
<option>--private-users=pick</option>, otherwise equivalent to
|
||||
<option>--private-users=no</option>.</para>
|
||||
|
||||
<para>Note that <option>-U</option> is the default if the <filename>systemd-nspawn@.service</filename> template unit
|
||||
file is used.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--private-users-chown</option></term>
|
||||
|
||||
@ -478,6 +466,23 @@
|
||||
user namespacing is not used.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-U</option></term>
|
||||
|
||||
<listitem><para>If the kernel supports the user namespaces feature, equivalent to
|
||||
<option>--private-users=pick --private-users-chown</option>, otherwise equivalent to
|
||||
<option>--private-users=no</option>.</para>
|
||||
|
||||
<para>Note that <option>-U</option> is the default if the
|
||||
<filename>systemd-nspawn@.service</filename> template unit file is used.</para>
|
||||
|
||||
<para>Note: it is possible to undo the effect of <option>--private-users-chown</option> (or
|
||||
<option>-U</option>) on the file system by redoing the operation with the first UID of 0:</para>
|
||||
|
||||
<programlisting>systemd-nspawn … --private-users=0 --private-users-chown</programlisting>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--private-network</option></term>
|
||||
|
||||
@ -717,7 +722,7 @@
|
||||
and the subdirectory is symlinked into the host at the same
|
||||
location. <literal>try-host</literal> and
|
||||
<literal>try-guest</literal> do the same but do not fail if
|
||||
the host does not have persistent journalling enabled. If
|
||||
the host does not have persistent journaling enabled. If
|
||||
<literal>auto</literal> (the default), and the right
|
||||
subdirectory of <filename>/var/log/journal</filename> exists,
|
||||
it will be bind mounted into the container. If the
|
||||
@ -846,23 +851,6 @@
|
||||
parameter may be used more than once.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--share-system</option></term>
|
||||
|
||||
<listitem><para>Allows the container to share certain system
|
||||
facilities with the host. More specifically, this turns off
|
||||
PID namespacing, UTS namespacing and IPC namespacing, and thus
|
||||
allows the guest to see and interact more easily with
|
||||
processes outside of the container. Note that using this
|
||||
option makes it impossible to start up a full Operating System
|
||||
in the container, as an init system cannot operate in this
|
||||
mode. It is only useful to run specific programs or
|
||||
applications this way, without involving an init system in the
|
||||
container. This option implies <option>--register=no</option>.
|
||||
This option may not be combined with
|
||||
<option>--boot</option>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--register=</option></term>
|
||||
|
||||
@ -877,9 +865,7 @@
|
||||
and shown by tools such as
|
||||
<citerefentry project='man-pages'><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
|
||||
If the container does not run an init system, it is
|
||||
recommended to set this option to <literal>no</literal>. Note
|
||||
that <option>--share-system</option> implies
|
||||
<option>--register=no</option>. </para></listitem>
|
||||
recommended to set this option to <literal>no</literal>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -1028,8 +1014,8 @@
|
||||
<example>
|
||||
<title>Download a Fedora image and start a shell in it</title>
|
||||
|
||||
<programlisting># machinectl pull-raw --verify=no http://ftp.halifax.rwth-aachen.de/fedora/linux/releases/21/Cloud/Images/x86_64/Fedora-Cloud-Base-20141203-21.x86_64.raw.xz
|
||||
# systemd-nspawn -M Fedora-Cloud-Base-20141203-21</programlisting>
|
||||
<programlisting># machinectl pull-raw --verify=no http://ftp.halifax.rwth-aachen.de/fedora/linux/releases/24/CloudImages/x86_64/images/Fedora-Cloud-Base-24-1.2.x86_64.raw.xz
|
||||
# systemd-nspawn -M Fedora-Cloud-Base-24-1.2.x86_64.raw</programlisting>
|
||||
|
||||
<para>This downloads an image using
|
||||
<citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
|
@ -135,7 +135,7 @@
|
||||
TXT).</para>
|
||||
|
||||
<para>The <option>--openpgp</option> switch may be used to query PGP keys stored as
|
||||
<ulink url="https://tools.ietf.org/html/draft-wouters-dane-openpgp-02">OPENPGPKEY</ulink> resource records.
|
||||
<ulink url="https://tools.ietf.org/html/rfc7929">OPENPGPKEY</ulink> resource records.
|
||||
When this option is specified one or more e-mail address must be specified.</para>
|
||||
|
||||
<para>The <option>--tlsa</option> switch maybe be used to query TLS public
|
||||
@ -339,7 +339,7 @@ www.0pointer.net: 2a01:238:43ed:c300:10c3:bcf3:3266:da74
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>Retrieve the MX record of the <literal>0pointer.net</literal> domain</title>
|
||||
<title>Retrieve the MX record of the <literal>yahoo.com</literal> domain</title>
|
||||
|
||||
<programlisting>$ systemd-resolve -t MX yahoo.com --legend=no
|
||||
yahoo.com. IN MX 1 mta7.am0.yahoodns.net
|
||||
|
@ -68,12 +68,12 @@
|
||||
link-local networking).</para></listitem>
|
||||
|
||||
<listitem><para>The glibc
|
||||
<citerefentry><refentrytitle>getaddrinfo</refentrytitle><manvolnum>3</manvolnum></citerefentry> API as defined
|
||||
<citerefentry project='man-pages'><refentrytitle>getaddrinfo</refentrytitle><manvolnum>3</manvolnum></citerefentry> API as defined
|
||||
by <ulink url="https://tools.ietf.org/html/rfc3493">RFC3493</ulink> and its related resolver functions,
|
||||
including <citerefentry><refentrytitle>gethostbyname</refentrytitle><manvolnum>3</manvolnum></citerefentry>. This
|
||||
including <citerefentry project='man-pages'><refentrytitle>gethostbyname</refentrytitle><manvolnum>3</manvolnum></citerefentry>. This
|
||||
API is widely supported, including beyond the Linux platform. In its current form it does not expose DNSSEC
|
||||
validation status information however, and is synchronous only. This API is backed by the glibc Name Service
|
||||
Switch (<citerefentry><refentrytitle>nss</refentrytitle><manvolnum>5</manvolnum></citerefentry>). Usage of the
|
||||
Switch (<citerefentry project='man-pages'><refentrytitle>nss</refentrytitle><manvolnum>5</manvolnum></citerefentry>). Usage of the
|
||||
glibc NSS module <citerefentry><refentrytitle>nss-resolve</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
is required in order to allow glibc's NSS resolver functions to resolve host names via
|
||||
<command>systemd-resolved</command>.</para></listitem>
|
||||
@ -164,7 +164,7 @@
|
||||
<title><filename>/etc/resolv.conf</filename></title>
|
||||
|
||||
<para>Three modes of handling <filename>/etc/resolv.conf</filename> (see
|
||||
<citerefentry><refentrytitle>resolv.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>) are
|
||||
<citerefentry project='man-pages'><refentrytitle>resolv.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>) are
|
||||
supported:</para>
|
||||
|
||||
<itemizedlist>
|
||||
|
@ -45,7 +45,7 @@
|
||||
|
||||
<refnamediv>
|
||||
<refname>systemd-run</refname>
|
||||
<refpurpose>Run programs in transient scope or service or timer units</refpurpose>
|
||||
<refpurpose>Run programs in transient scope units, service units, or timer-scheduled service units</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
@ -68,42 +68,30 @@
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para><command>systemd-run</command> may be used to create and
|
||||
start a transient <filename>.service</filename> or
|
||||
<filename>.scope</filename> unit and run the specified
|
||||
<replaceable>COMMAND</replaceable> in it. It may also be used to
|
||||
create and start transient <filename>.timer</filename>
|
||||
units.</para>
|
||||
<para><command>systemd-run</command> may be used to create and start a transient <filename>.service</filename> or
|
||||
<filename>.scope</filename> unit and run the specified <replaceable>COMMAND</replaceable> in it. It may also be
|
||||
used to create and start a transient <filename>.timer</filename> unit, that activates a
|
||||
<filename>.service</filename> unit when elapsing.</para>
|
||||
|
||||
<para>If a command is run as transient service unit, it will be
|
||||
started and managed by the service manager like any other service,
|
||||
and thus shows up in the output of <command>systemctl
|
||||
list-units</command> like any other unit. It will run in a clean
|
||||
and detached execution environment, with the service manager as
|
||||
its parent process. In this mode, <command>systemd-run</command>
|
||||
will start the service asynchronously in the background and return
|
||||
after the command has begun execution.</para>
|
||||
<para>If a command is run as transient service unit, it will be started and managed by the service manager like any
|
||||
other service, and thus shows up in the output of <command>systemctl list-units</command> like any other unit. It
|
||||
will run in a clean and detached execution environment, with the service manager as its parent process. In this
|
||||
mode, <command>systemd-run</command> will start the service asynchronously in the background and return after the
|
||||
command has begun execution (unless <option>--no-block</option> or <option>--watch</option> are specified, see
|
||||
below).</para>
|
||||
|
||||
<para>If a command is run as transient scope unit, it will be
|
||||
started by <command>systemd-run</command> itself as parent process
|
||||
and will thus inherit the execution environment of the
|
||||
caller. However, the processes of the command are managed by the
|
||||
service manager similar to normal services, and will show up in
|
||||
the output of <command>systemctl list-units</command>. Execution
|
||||
in this case is synchronous, and will return only when the command
|
||||
finishes. This mode is enabled via the <option>--scope</option>
|
||||
switch (see below). </para>
|
||||
<para>If a command is run as transient scope unit, it will be executed by <command>systemd-run</command> itself as
|
||||
parent process and will thus inherit the execution environment of the caller. However, the processes of the command
|
||||
are managed by the service manager similar to normal services, and will show up in the output of <command>systemctl
|
||||
list-units</command>. Execution in this case is synchronous, and will return only when the command finishes. This
|
||||
mode is enabled via the <option>--scope</option> switch (see below). </para>
|
||||
|
||||
<para>If a command is run with timer options such as
|
||||
<option>--on-calendar=</option> (see below), a transient timer
|
||||
unit is created alongside the service unit for the specified
|
||||
command. Only the transient timer unit is started immediately, the
|
||||
transient service unit will be started when the transient timer
|
||||
elapses. If the <option>--unit=</option> is specified, the
|
||||
<replaceable>COMMAND</replaceable> may be omitted. In this case,
|
||||
<command>systemd-run</command> only creates a
|
||||
<filename>.timer</filename> unit that invokes the specified unit
|
||||
when elapsing.</para>
|
||||
<para>If a command is run with timer options such as <option>--on-calendar=</option> (see below), a transient timer
|
||||
unit is created alongside the service unit for the specified command. Only the transient timer unit is started
|
||||
immediately, the transient service unit will be started when the timer elapses. If the <option>--unit=</option>
|
||||
option is specified, the <replaceable>COMMAND</replaceable> may be omitted. In this case,
|
||||
<command>systemd-run</command> creates only a <filename>.timer</filename> unit that invokes the specified unit when
|
||||
elapsing.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
@ -123,8 +111,8 @@
|
||||
<term><option>--scope</option></term>
|
||||
|
||||
<listitem>
|
||||
<para>Create a transient <filename>.scope</filename> unit instead of
|
||||
the default transient <filename>.service</filename> unit.
|
||||
<para>Create a transient <filename>.scope</filename> unit instead of the default transient
|
||||
<filename>.service</filename> unit (see above).
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -140,9 +128,8 @@
|
||||
<term><option>--property=</option></term>
|
||||
<term><option>-p</option></term>
|
||||
|
||||
<listitem><para>Sets a unit property for the scope or service
|
||||
unit that is created. This takes an assignment in the same
|
||||
format as
|
||||
<listitem><para>Sets a property on the scope or service unit that is created. This option takes an assignment
|
||||
in the same format as
|
||||
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
|
||||
<command>set-property</command> command.</para>
|
||||
</listitem>
|
||||
@ -151,9 +138,8 @@
|
||||
<varlistentry>
|
||||
<term><option>--description=</option></term>
|
||||
|
||||
<listitem><para>Provide a description for the service or scope
|
||||
unit. If not specified, the command itself will be used as a
|
||||
description. See <varname>Description=</varname> in
|
||||
<listitem><para>Provide a description for the service, scope or timer unit. If not specified, the command
|
||||
itself will be used as a description. See <varname>Description=</varname> in
|
||||
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
@ -161,19 +147,16 @@
|
||||
<varlistentry>
|
||||
<term><option>--slice=</option></term>
|
||||
|
||||
<listitem><para>Make the new <filename>.service</filename> or
|
||||
<filename>.scope</filename> unit part of the specified slice,
|
||||
instead of the <filename>system.slice</filename>.</para>
|
||||
<listitem><para>Make the new <filename>.service</filename> or <filename>.scope</filename> unit part of the
|
||||
specified slice, instead of <filename>system.slice</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--remain-after-exit</option></term>
|
||||
|
||||
<listitem><para>After the service or scope process has
|
||||
terminated, keep the service around until it is explicitly
|
||||
stopped. This is useful to collect runtime information about
|
||||
the service after it finished running. Also see
|
||||
<listitem><para>After the service process has terminated, keep the service around until it is explicitly
|
||||
stopped. This is useful to collect runtime information about the service after it finished running. Also see
|
||||
<varname>RemainAfterExit=</varname> in
|
||||
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
||||
</para>
|
||||
@ -183,10 +166,8 @@
|
||||
<varlistentry>
|
||||
<term><option>--send-sighup</option></term>
|
||||
|
||||
<listitem><para>When terminating the scope or service unit,
|
||||
send a SIGHUP immediately after SIGTERM. This is useful to
|
||||
indicate to shells and shell-like processes that the
|
||||
connection has been severed. Also see
|
||||
<listitem><para>When terminating the scope or service unit, send a SIGHUP immediately after SIGTERM. This is
|
||||
useful to indicate to shells and shell-like processes that the connection has been severed. Also see
|
||||
<varname>SendSIGHUP=</varname> in
|
||||
<citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
||||
</para>
|
||||
@ -209,9 +190,8 @@
|
||||
<term><option>--uid=</option></term>
|
||||
<term><option>--gid=</option></term>
|
||||
|
||||
<listitem><para>Runs the service process under the UNIX user
|
||||
and group. Also see <varname>User=</varname> and
|
||||
<varname>Group=</varname> in
|
||||
<listitem><para>Runs the service process under the specified UNIX user and group. Also see
|
||||
<varname>User=</varname> and <varname>Group=</varname> in
|
||||
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -239,11 +219,9 @@
|
||||
<term><option>--pty</option></term>
|
||||
<term><option>-t</option></term>
|
||||
|
||||
<listitem><para>When invoking a command, the service connects
|
||||
its standard input and output to the invoking tty via a
|
||||
pseudo TTY device. This allows invoking binaries as services
|
||||
that expect interactive user input, such as interactive
|
||||
command shells.</para></listitem>
|
||||
<listitem><para>When invoking the command, the transient service connects its standard input and output to the
|
||||
terminal <command>systemd-run</command> is invoked on, via a pseudo TTY device. This allows running binaries
|
||||
that expect interactive user input as services, such as interactive command shells.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -263,44 +241,32 @@
|
||||
<term><option>--on-unit-active=</option></term>
|
||||
<term><option>--on-unit-inactive=</option></term>
|
||||
|
||||
<listitem><para>Defines monotonic timers relative to different
|
||||
starting points. Also see <varname>OnActiveSec=</varname>,
|
||||
<varname>OnBootSec=</varname>,
|
||||
<varname>OnStartupSec=</varname>,
|
||||
<varname>OnUnitActiveSec=</varname> and
|
||||
<varname>OnUnitInactiveSec=</varname> in
|
||||
<citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>. This
|
||||
options have no effect in conjunction with
|
||||
<option>--scope</option>.</para>
|
||||
<listitem><para>Defines a monotonic timer relative to different starting points for starting the specified
|
||||
command. See <varname>OnActiveSec=</varname>, <varname>OnBootSec=</varname>, <varname>OnStartupSec=</varname>,
|
||||
<varname>OnUnitActiveSec=</varname> and <varname>OnUnitInactiveSec=</varname> in
|
||||
<citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry> for
|
||||
details. These options may not be combined with <option>--scope</option>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--on-calendar=</option></term>
|
||||
|
||||
<listitem><para>Defines realtime (i.e. wallclock) timers with
|
||||
calendar event expressions. Also see
|
||||
<varname>OnCalendar=</varname> in
|
||||
<citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>. This
|
||||
option has no effect in conjunction with
|
||||
<option>--scope</option>.</para>
|
||||
<listitem><para>Defines a calendar timer for starting the specified command. See <varname>OnCalendar=</varname>
|
||||
in <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>. This
|
||||
option may not be combined with <option>--scope</option>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--timer-property=</option></term>
|
||||
|
||||
<listitem><para>Sets a timer unit property for the timer unit
|
||||
that is created. It is similar with
|
||||
<option>--property</option> but only for created timer
|
||||
unit. This option only has effect in conjunction with
|
||||
<option>--on-active=</option>, <option>--on-boot=</option>,
|
||||
<option>--on-startup=</option>,
|
||||
<option>--on-unit-active=</option>,
|
||||
<option>--on-unit-inactive=</option>,
|
||||
<option>--on-calendar=</option>. This takes an assignment in
|
||||
the same format as
|
||||
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
|
||||
<listitem><para>Sets a property on the timer unit that is created. This option is similar to
|
||||
<option>--property=</option> but applies to the transient timer unit rather than the transient service unit
|
||||
created. This option only has an effect in conjunction with <option>--on-active=</option>,
|
||||
<option>--on-boot=</option>, <option>--on-startup=</option>, <option>--on-unit-active=</option>,
|
||||
<option>--on-unit-inactive=</option> or <option>--on-calendar=</option>. This option takes an assignment in the
|
||||
same format as <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
|
||||
<command>set-property</command> command.</para> </listitem>
|
||||
</varlistentry>
|
||||
|
||||
@ -308,14 +274,25 @@
|
||||
<term><option>--no-block</option></term>
|
||||
|
||||
<listitem>
|
||||
<para>Do not synchronously wait for the requested operation
|
||||
to finish. If this is not specified, the job will be
|
||||
verified, enqueued and <command>systemd-run</command> will
|
||||
wait until the unit's start-up is completed. By passing this
|
||||
argument, it is only verified and enqueued.</para>
|
||||
<para>Do not synchronously wait for the unit start operation to finish. If this option is not specified, the
|
||||
start request for the transient unit will be verified, enqueued and <command>systemd-run</command> will wait
|
||||
until the unit's start-up is completed. By passing this argument, it is only verified and enqueued. This
|
||||
option may not be combined with <option>--wait</option>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--wait</option></term>
|
||||
|
||||
<listitem><para>Synchronously wait for the transient service to terminate. If this option is specified, the
|
||||
start request for the transient unit is verified, enqueued, and waited for. Subsequently the invoked unit is
|
||||
monitored, and it is waited until it is deactivated again (most likely because the specified command
|
||||
completed). On exit, terse information about the unit's runtime is shown, including total runtime (as well as
|
||||
CPU usage, if <option>--property=CPUAccounting=1</option> was set) and the exit code and status of the main
|
||||
process. This output may be suppressed with <option>--quiet</option>. This option may not be combined with
|
||||
<option>--no-block</option>, <option>--scope</option> or the various timer options.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<xi:include href="user-system-options.xml" xpointer="user" />
|
||||
<xi:include href="user-system-options.xml" xpointer="system" />
|
||||
<xi:include href="user-system-options.xml" xpointer="host" />
|
||||
@ -425,7 +402,7 @@ There is a screen on:
|
||||
when the user first logs in, and stays around as long as at least one
|
||||
login session is open. After the user logs out of the last session,
|
||||
<filename>user@.service</filename> and all services underneath it
|
||||
are terminated. This behaviour is the default, when "lingering" is
|
||||
are terminated. This behavior is the default, when "lingering" is
|
||||
not enabled for that user. Enabling lingering means that
|
||||
<filename>user@.service</filename> is started automatically during
|
||||
boot, even if the user is not logged in, and that the service is
|
||||
@ -452,6 +429,7 @@ There is a screen on:
|
||||
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>systemd-mount</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
@ -142,7 +142,7 @@
|
||||
<varname>FileDescriptorName=</varname> in socket unit files, and enables use of
|
||||
<citerefentry><refentrytitle>sd_listen_fds_with_names</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
|
||||
Multiple entries may be specifies using separate options or by separating names with colons
|
||||
(<literal>:</literal>) in one option. In case more names are given than descriptors, superfluous ones willl be
|
||||
(<literal>:</literal>) in one option. In case more names are given than descriptors, superfluous ones will be
|
||||
ignored. In case less names are given than descriptors, the remaining file descriptors will be unnamed.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
@ -105,6 +105,18 @@
|
||||
arguments.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>CtrlAltDelBurstAction=</varname></term>
|
||||
|
||||
<listitem><para>Defines what action will be performed
|
||||
if user presses Ctrl-Alt-Delete more than 7 times in 2s.
|
||||
Can be set to <literal>reboot-force</literal>, <literal>poweroff-force</literal>,
|
||||
<literal>reboot-immediate</literal>, <literal>poweroff-immediate</literal>
|
||||
or disabled with <literal>none</literal>. Defaults to
|
||||
<literal>reboot-force</literal>.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>CPUAffinity=</varname></term>
|
||||
|
||||
@ -318,7 +330,7 @@
|
||||
<varname>TasksAccounting=</varname>. See
|
||||
<citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
||||
for details on the per-unit
|
||||
settings. <varname>DefaulTasksAccounting=</varname> defaults
|
||||
settings. <varname>DefaultTasksAccounting=</varname> defaults
|
||||
to on, the other three settings to off.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
@ -43,61 +43,39 @@
|
||||
<refnamediv>
|
||||
<refname>systemd-vconsole-setup.service</refname>
|
||||
<refname>systemd-vconsole-setup</refname>
|
||||
<refpurpose>Configure the virtual console at boot</refpurpose>
|
||||
<refpurpose>Configure the virtual consoles</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<para><filename>systemd-vconsole-setup.service</filename></para>
|
||||
<para><filename>/usr/lib/systemd/systemd-vconsole-setup</filename></para>
|
||||
<cmdsynopsis>
|
||||
<command>/usr/lib/systemd/systemd-vconsole-setup</command>
|
||||
<arg choice="opt">TTY</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para><filename>systemd-vconsole-setup.service</filename> is an
|
||||
early boot service that configures the virtual console font and
|
||||
console keymap. Internally it calls
|
||||
<citerefentry project='mankier'><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
and
|
||||
<citerefentry project='die-net'><refentrytitle>setfont</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||||
<para><filename>systemd-vconsole-setup</filename> is a helper used to prepare either all virtual consoles, or — if
|
||||
the optional <replaceable>TTY</replaceable> parameter is provided — a specific one. When the system is booting up
|
||||
it's called by <citerefentry><command>udev</command></citerefentry> during vtconsole subsystem initialization.
|
||||
<productname>Systemd</productname> also calls it internally as needed via
|
||||
<filename>systemd-vconsole-setup.service</filename>. The helper calls
|
||||
<citerefentry project='mankier'><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry> and
|
||||
<citerefentry project='die-net'><refentrytitle>setfont</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
||||
internally.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
You may want to use this helper whenever you change <filename>vconsole.conf</filename> to
|
||||
refresh the settings on your consoles — either through the <command>systemctl restart</command> /
|
||||
<command>systemctl start</command> command or directly through the executable.
|
||||
</para>
|
||||
|
||||
<para>See
|
||||
<citerefentry><refentrytitle>vconsole.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
||||
for information about the configuration files understood by this
|
||||
service.</para>
|
||||
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>Kernel Command Line</title>
|
||||
|
||||
<para>A few configuration parameters from
|
||||
<filename>vconsole.conf</filename> may be overridden on the kernel
|
||||
command line:</para>
|
||||
|
||||
<variablelist class='kernel-commandline-options'>
|
||||
<varlistentry>
|
||||
<term><varname>vconsole.keymap=</varname></term>
|
||||
<term><varname>vconsole.keymap.toggle=</varname></term>
|
||||
|
||||
<listitem><para>Overrides the key mapping table for the
|
||||
keyboard and the second toggle keymap.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
|
||||
<term><varname>vconsole.font=</varname></term>
|
||||
<term><varname>vconsole.font.map=</varname></term>
|
||||
<term><varname>vconsole.font.unimap=</varname></term>
|
||||
|
||||
<listitem><para>Configures the console font, the console map,
|
||||
and the unicode font map.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>See
|
||||
<citerefentry><refentrytitle>vconsole.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
||||
for information about these settings.</para>
|
||||
for information about the configuration files and kernel command line options understood by this program.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -107,7 +107,7 @@
|
||||
<listitem>
|
||||
<para>A whitespace-separated list of shell-style globs matching
|
||||
the device name, as exposed by the udev property
|
||||
"INTERFACE". This can not be used to match on names that have
|
||||
"INTERFACE". This cannot be used to match on names that have
|
||||
already been changed from userspace. Caution is advised when matching on
|
||||
kernel-assigned names, as they are known to be unstable
|
||||
between reboots.</para>
|
||||
@ -387,6 +387,46 @@
|
||||
</variablelist>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>TCPSegmentationOffload=</varname></term>
|
||||
<listitem>
|
||||
<para>The TCP Segmentation Offload (TSO) when true enables
|
||||
TCP segmentation offload. Takes a boolean value.
|
||||
Defaults to "unset".</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>GenericSegmentationOffload=</varname></term>
|
||||
<listitem>
|
||||
<para>The Generic Segmentation Offload (GSO) when true enables
|
||||
generic segmentation offload. Takes a boolean value.
|
||||
Defaults to "unset".</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>UDPSegmentationOffload=</varname></term>
|
||||
<listitem>
|
||||
<para>The UDP Segmentation Offload (USO) when true enables
|
||||
UDP segmentation offload. Takes a boolean value.
|
||||
Defaults to "unset".</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>GenericReceiveOffload=</varname></term>
|
||||
<listitem>
|
||||
<para>The Generic Receive Offload (GRO) when true enables
|
||||
generic receive offload. Takes a boolean value.
|
||||
Defaults to "unset".</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>LargeReceiveOffload=</varname></term>
|
||||
<listitem>
|
||||
<para>The Large Receive Offload (LRO) when true enables
|
||||
large receive offload. Takes a boolean value.
|
||||
Defaults to "unset".</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
|
@ -160,7 +160,7 @@
|
||||
for details about the conversion.</para>
|
||||
|
||||
<para>The NFS mount option <option>bg</option> for NFS background mounts
|
||||
as documented in <citerefentry><refentrytitle>nfs</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
||||
as documented in <citerefentry project='man-pages'><refentrytitle>nfs</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
||||
is not supported in <filename>/etc/fstab</filename> entries. The systemd mount option <option>nofail</option>
|
||||
provides similar functionality and should be used instead.</para>
|
||||
|
||||
@ -351,6 +351,30 @@
|
||||
off.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>LazyUnmount=</varname></term>
|
||||
|
||||
<listitem><para>Takes a boolean argument. If true, detach the
|
||||
filesystem from the filesystem hierarchy at time of the unmount
|
||||
operation, and clean up all references to the filesystem as
|
||||
soon as they are not busy anymore.
|
||||
This corresponds with
|
||||
<citerefentry project='man-pages'><refentrytitle>umount</refentrytitle><manvolnum>8</manvolnum></citerefentry>'s
|
||||
<parameter>-l</parameter> switch. Defaults to
|
||||
off.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>ForceUnmount=</varname></term>
|
||||
|
||||
<listitem><para>Takes a boolean argument. If true, force an
|
||||
unmount (in case of an unreachable NFS system).
|
||||
This corresponds with
|
||||
<citerefentry project='man-pages'><refentrytitle>umount</refentrytitle><manvolnum>8</manvolnum></citerefentry>'s
|
||||
<parameter>-f</parameter> switch. Defaults to
|
||||
off.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>DirectoryMode=</varname></term>
|
||||
<listitem><para>Directories of mount points (and any parent
|
||||
@ -373,7 +397,7 @@
|
||||
Takes a unit-less value in seconds, or a time span value such
|
||||
as "5min 20s". Pass 0 to disable the timeout logic. The
|
||||
default value is set from the manager configuration file's
|
||||
<varname>DefaultTimeoutStart=</varname>
|
||||
<varname>DefaultTimeoutStartSec=</varname>
|
||||
variable.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
@ -58,31 +58,38 @@
|
||||
<citerefentry><refentrytitle>systemd-networkd</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
|
||||
</para>
|
||||
|
||||
<para>Virtual Network Device files must have the extension
|
||||
<filename>.netdev</filename>; other extensions are ignored.
|
||||
Virtual network devices are created as soon as networkd is
|
||||
started. If a netdev with the specified name already exists,
|
||||
networkd will use that as-is rather than create its own. Note that
|
||||
the settings of the pre-existing netdev will not be changed by
|
||||
<para>The main Virtual Network Device file must have the extension <filename>.netdev</filename>;
|
||||
other extensions are ignored. Virtual network devices are created as soon as networkd is
|
||||
started. If a netdev with the specified name already exists, networkd will use that as-is rather
|
||||
than create its own. Note that the settings of the pre-existing netdev will not be changed by
|
||||
networkd.</para>
|
||||
|
||||
<para>The <filename>.netdev</filename> files are read from the
|
||||
files located in the system network directory
|
||||
<filename>/usr/lib/systemd/network</filename>, the volatile
|
||||
runtime network directory
|
||||
<filename>/run/systemd/network</filename> and the local
|
||||
administration network directory
|
||||
<filename>/etc/systemd/network</filename>. All configuration files
|
||||
are collectively sorted and processed in lexical order, regardless
|
||||
of the directories in which they live. However, files with
|
||||
identical filenames replace each other. Files in
|
||||
<filename>/etc</filename> have the highest priority, files in
|
||||
<filename>/run</filename> take precedence over files with the same
|
||||
name in <filename>/usr/lib</filename>. This can be used to
|
||||
override a system-supplied configuration file with a local file if
|
||||
needed. As a special case, an empty file (file size 0) or symlink
|
||||
with the same name pointing to <filename>/dev/null</filename>
|
||||
disables the configuration file entirely (it is "masked").</para>
|
||||
<para>The <filename>.netdev</filename> files are read from the files located in the system
|
||||
network directory <filename>/usr/lib/systemd/network</filename>, the volatile runtime network
|
||||
directory <filename>/run/systemd/network</filename> and the local administration network
|
||||
directory <filename>/etc/systemd/network</filename>. All configuration files are collectively
|
||||
sorted and processed in lexical order, regardless of the directories in which they live.
|
||||
However, files with identical filenames replace each other. Files in <filename>/etc</filename>
|
||||
have the highest priority, files in <filename>/run</filename> take precedence over files with
|
||||
the same name in <filename>/usr/lib</filename>. This can be used to override a system-supplied
|
||||
configuration file with a local file if needed. As a special case, an empty file (file size 0)
|
||||
or symlink with the same name pointing to <filename>/dev/null</filename> disables the
|
||||
configuration file entirely (it is "masked").</para>
|
||||
|
||||
<para>Along with the netdev file <filename>foo.netdev</filename>, a "drop-in" directory
|
||||
<filename>foo.netdev.d/</filename> may exist. All files with the suffix <literal>.conf</literal>
|
||||
from this directory will be parsed after the file itself is parsed. This is useful to alter or
|
||||
add configuration settings, without having to modify the main configuration file. Each drop-in
|
||||
file must have appropriate section headers.</para>
|
||||
|
||||
<para>In addition to <filename>/etc/systemd/network</filename>, drop-in <literal>.d</literal>
|
||||
directories can be placed in <filename>/usr/lib/systemd/network</filename> or
|
||||
<filename>/run/systemd/network</filename> directories. Drop-in files in
|
||||
<filename>/etc</filename> take precedence over those in <filename>/run</filename> which in turn
|
||||
take precedence over those in <filename>/usr/lib</filename>. Drop-in files under any of these
|
||||
directories take precedence over the main netdev file wherever located. (Of course, since
|
||||
<filename>/run</filename> is temporary and <filename>/usr/lib</filename> is for vendors, it is
|
||||
unlikely drop-ins should be used in either of those places.)</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
@ -163,7 +170,10 @@
|
||||
<entry>A virtual extensible LAN (vxlan), for connecting Cloud computing deployments.</entry></row>
|
||||
|
||||
<row><entry><varname>vrf</varname></entry>
|
||||
<entry>A Virtual Routing and Forwarding (<ulink url="https://www.kernel.org/doc/Documentation/networking/vrf.txt">VRF</ulink>) interface to create separate routing and forwarding domains.</entry></row>
|
||||
<entry>A Virtual Routing and Forwarding (<ulink url="https://www.kernel.org/doc/Documentation/networking/vrf.txt">VRF</ulink>) interface to create separate routing and forwarding domains.</entry></row>
|
||||
|
||||
<row><entry><varname>vcan</varname></entry>
|
||||
<entry>The virtual CAN driver (vcan). Similar to the network loopback devices, vcan offers a virtual local CAN interface.</entry></row>
|
||||
|
||||
</tbody>
|
||||
</tgroup>
|
||||
@ -314,6 +324,26 @@
|
||||
of the Listening and Learning states before the Forwarding state is entered.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>AgeingTimeSec=</varname></term>
|
||||
<listitem>
|
||||
<para>This specifies the number of seconds a MAC Address will be kept in
|
||||
the forwarding database after having a packet received from this MAC Address.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>Priority=</varname></term>
|
||||
<listitem>
|
||||
<para>The priority of the bridge. An integer between 0 and 65535. A lower value
|
||||
means higher priority. The bridge having the lowest priority will be elected as root bridge.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>DefaultPVID=</varname></term>
|
||||
<listitem>
|
||||
<para>This specifies the default port VLAN ID of a newly attached bridge port.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>MulticastQuerier=</varname></term>
|
||||
<listitem>
|
||||
@ -343,8 +373,15 @@
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>STP=</varname></term>
|
||||
<listitem>
|
||||
<para>A boolean. This enables the bridge's Spanning Tree Protocol (STP). When unset,
|
||||
the kernel's default setting applies.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
@ -500,7 +537,7 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>UDPCheckSum=</varname></term>
|
||||
<term><varname>UDPChecksum=</varname></term>
|
||||
<listitem>
|
||||
<para>A boolean. When true, transmitting UDP checksums when doing VXLAN/IPv4 is turned on.</para>
|
||||
</listitem>
|
||||
@ -512,11 +549,23 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>UDP6ZeroCheckSumRx=</varname></term>
|
||||
<term><varname>UDP6ZeroChecksumRx=</varname></term>
|
||||
<listitem>
|
||||
<para>A boolean. When true, receiving zero checksums in VXLAN/IPv6 is turned on.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>RemoteChecksumTx=</varname></term>
|
||||
<listitem>
|
||||
<para>A boolean. When true, remote transmit checksum offload of VXLAN is turned on.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>RemoteChecksumRx=</varname></term>
|
||||
<listitem>
|
||||
<para>A boolean. When true, remote receive checksum offload in VXLAN is turned on.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>GroupPolicyExtension=</varname></term>
|
||||
<listitem>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user