1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-12-27 03:21:32 +03:00
Commit Graph

4060 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
b750778751 meson: allow systemd.directives and .index to be built if -Dman=false
See 559d215b67 for justification.
2018-07-16 12:36:44 +02:00
Zbigniew Jędrzejewski-Szmek
3c775de6c5 man: add sd_bus_set_description(3) 2018-07-16 12:36:44 +02:00
Zbigniew Jędrzejewski-Szmek
629941003e man: add sd_bus_reply_method_error(3) 2018-07-16 12:25:16 +02:00
Zbigniew Jędrzejewski-Szmek
c5fd8c3995 man: add sd_bus_message_copy(3) 2018-07-16 12:25:16 +02:00
Zbigniew Jędrzejewski-Szmek
e50f471888 man: add sd_bus_message_new_error(3) 2018-07-16 12:25:14 +02:00
Michal Soltys
0029e6b193 [man] minor systemd.target manual update
Target units gain both Conflicts= and Before= against shutdown.target
(not only Conflicts=).
2018-07-13 19:07:43 +02:00
Tejun Heo
4842263577 core: add MemoryMin
The kernel added support for a new cgroup memory controller knob memory.min in
bf8d5d52ffe8 ("memcg: introduce memory.min") which was merged during v4.18
merge window.

Add MemoryMin to support memory.min.
2018-07-12 08:21:43 +02:00
Yu Watanabe
0fad72faee man: convert old compile option to meson option 2018-07-09 06:53:42 +02:00
Zbigniew Jędrzejewski-Szmek
7215aad64a sd-bus(3): synchronize the list with reality
Use <literallayout> to keep each reference on a separate line. With all the
pages jumbled together into a paragraph, it is quite hard to find anything in
that list.

Also add the missing pages to the list. And remove the nonexistent ones — not
much point in advertisting pages that haven't been written yet.
2018-07-08 15:24:12 +02:00
Alexander Kurtz
1448dfa6bf man: Mention that paths in unit files must be fully normalized.
Related to issues #9107 and #9498 and PRs #9149 and #9157.
2018-07-05 22:55:26 +02:00
Zbigniew Jędrzejewski-Szmek
7c30c3c44f journal: store the original timestamp as SYSLOG_TIMESTAMP=
This is useful if someone wants to recreate the original syslog datagram. We
already include timestamp information as _SOURCE_REALTIME_TIMESTAMP=, and in
normal use that timestamp, converted back to the form used by syslog
(Mth dd HH:MM:SS) would usually give the value. But there are various
circumstances where this might not be true. Most obviously, if the datagram is
sent a bit later after being prepared, the time is rounded to the nearest
second, and it might be off. This is especially bad around New Year when the
syslog timestamp wraps around. Then the same timezone and locale need to be
used to recreate the original timestamp. In the end doing this reliably is
complicated, and it seems much easier to just unconditionally include the
original timestamp.

If the original timestamp cannot be located, we store the full log line.
This way, it should be always possible to recreate the original input.

Example:
MESSAGE=x
SYSLOG_TIMESTAMP=Sep 15 15:07:58
SYSLOG_RAW
^]^@^@^@^@^@^@^@<13>Sep 15 15:07:58 HOST: x^@y
_PID=3318
_SOURCE_REALTIME_TIMESTAMP=1530743976393553

Fixes #2398.
2018-07-05 00:40:35 +02:00
Zbigniew Jędrzejewski-Szmek
df8701a3f2 journal: store the original syslog input as SYSLOG_RAW=
This allows the original stream to be recreated and/or verified. The new field
is written if any stripping was done or if the input message contained embeded
NULs.

$ printf '<13>Sep 15 15:07:58 HOST: x\0y' | nc -w1 -u -U /run/systemd/journal/dev-log

$ journalctl -o json-pretty ...
{
  ...
  "MESSAGE" : "x",
  "SYSLOG_RAW" : [ 60, 49, 51, 62, 83, 101, 112, 32, 49, 53, 32, 49, 53, 58, 48, 55, 58, 53, 56, 32, 72, 79, 83, 84, 58, 32, 120, 0, 121 ]
}

$ journalctl -o export ... | cat -v
...
MESSAGE=x
SYSLOG_RAW
^]^@^@^@^@^@^@^@<13>Sep 15 15:07:58 HOST: x^@y

This mostly fixes #4863.
2018-07-04 18:18:04 +02:00
Zbigniew Jędrzejewski-Szmek
58f4458afd man: fix typo 2018-07-04 10:53:21 +02:00
Lennart Poettering
98b0b1123c
Merge pull request #9490 from keszybz/document-sd_message_read
Document sd_bus_message_read
2018-07-03 16:56:49 +02:00
Lennart Poettering
cfffa385a3
Merge pull request #9489 from keszybz/copyright-removal-3
Copyright header removal, part 3 (or 4?)
2018-07-03 16:55:01 +02:00
Lucas Werkmeister
8252eb18b8 man: add missing <option> tag
One mention of --user was missing the surrounding <option> tag, making
the table look inconsistent (though the inconsistency is less obvious
after the reordering in 709f4c472c, since the four specifiers mentioning
the --user option are no longer immediately adjacent).
2018-07-03 14:53:36 +02:00
Zbigniew Jędrzejewski-Szmek
50972aac44 man: document sd_bus_read(), add more about sd_bus_read_basic() 2018-07-03 14:31:01 +02:00
Zbigniew Jędrzejewski-Szmek
c765233c89 man: use the same markup for "ap" everywhere 2018-07-03 01:34:18 +02:00
Zbigniew Jędrzejewski-Szmek
514094f933 man: drop mode line in file headers
This is already included in .dir-locals, so we don't need it
in the files themselves.
2018-07-03 01:32:25 +02:00
mal
2479c4fe3f Add IPVLAN= to systemd.network man page (#9480)
Required and seems to work in 238.133
2018-07-02 14:31:58 +02:00
Yu Watanabe
69ae75d7ae man: add missing parentheses 2018-06-29 12:40:27 +09:00
Lennart Poettering
ca285cdb40
Merge pull request #9422 from yuwata/conf-files
cleanups for default conf files
2018-06-28 10:17:54 +02:00
Lennart Poettering
a7e2e50d35 summary: update nspawn description string a bit
nspawn as it is now is a generally useful tool, hence let's drop the
comments about it being useful for debug and so on only.

The new wording just makes the first sentence of the main page also the
summary.
2018-06-28 11:55:44 +09:00
Yu Watanabe
b34a21083b man: add missing option for system.conf 2018-06-26 04:07:44 +09:00
Yu Watanabe
48847676ca man: add comments about MTUBytes= and MACAddress= for tuntap devices
Closes #9407.
2018-06-25 18:54:38 +02:00
Zbigniew Jędrzejewski-Szmek
dfe23d4145
Merge pull request #4522 from lucaswerkmeister/unescape-template
escape: support --unescape with --template
2018-06-25 18:48:01 +02:00
Michal Koutný
1a0d353b44 man: SystemMaxUse= clarification in journald.conf(5)
Similar semantics applies to {System,Runtime}MaxUse= as to
{System,Runtime}MaxFiles=, i.e. active files aren't vacuumed and the limit
is not thus strictly honored.
2018-06-25 11:18:20 +02:00
Lucas Werkmeister
d936cddcb5 escape: add --instance option
Suggested by @keszybz in #4522.
2018-06-25 11:17:55 +02:00
Lucas Werkmeister
e563e2534c escape: support --unescape with --template 2018-06-25 11:13:38 +02:00
Zbigniew Jędrzejewski-Szmek
25612ecba4 tree-wide: drop copyright lines for more authors
Acks in https://github.com/systemd/systemd/issues/9320.
2018-06-22 16:39:45 +02:00
Zbigniew Jędrzejewski-Szmek
48691dca17 man: small fixups for systemd-boot(8)
- "UEFI firmware" is a name, no need for an article
- The specification is more than "recommendation"
2018-06-22 13:10:32 +02:00
Jan Synacek
9a6da355a0 man: correct the meaning of TimeoutStopSec= (#9325)
Fixes: #9325
2018-06-22 12:56:28 +02:00
Hans de Goede
bc3c5e1619 man: systemd.offline-updates: Document system-update-pre.target usage 2018-06-21 10:45:55 +02:00
Lennart Poettering
be405b909e condition: add new conditon ConditionSecurity=uefi-secureboot
We have the detector call for this anyway, and it's useful for
conditioning out dbxtool.service, hence let's add this tiny new option.
2018-06-20 22:33:47 +02:00
Zbigniew Jędrzejewski-Szmek
92963e74df
Merge pull request #9363 from yuwata/specifier-config-dir
core: add unit specifier for configuration directory root
2018-06-20 22:30:18 +02:00
Yu Watanabe
969309c2b4 core: add unit specifier for configuration directory root
Follow-up for 14068e17f3.
2018-06-21 03:20:37 +09:00
Lennart Poettering
53ddb667a9 man: update systemd-boot(7) man page in many ways
Let's fully document where the list of entries come from, including unified
images and such.

Let's add a "Files" section (replacing the "Configuration" section), and
let's move it after they keybinding section (why? because keybinds are
primary UI material, while configuration is one level more complex than
that).

Also, reword lot's of stuff to make it more precise.

Fixes: #5127
2018-06-20 17:01:56 +02:00
Lennart Poettering
41e3f73dc2 man: fix URL to BLS
Let's refer to our own version now.
2018-06-20 16:56:01 +02:00
Lennart Poettering
c7668c1ce0 units: make system-update-pre.target a passive unit (#9349)
This is an additional synchronization point normally not needed. Hence,
let's make it passive, i.e. pull it in from the unit which wants to be
ordered before the update service rather than by the update service
itself.
2018-06-20 12:46:18 +02:00
Zbigniew Jędrzejewski-Szmek
d9b02e1697 tree-wide: drop copyright headers from frequent contributors
Fixes #9320.

for p in Shapovalov Chevalier Rozhkov Sievers Mack Herrmann Schmidt Rudenberg Sahani Landden Andersen Watanabe; do
  git grep -e 'Copyright.*'$p -l|xargs perl -i -0pe 's|/([*][*])?[*]\s+([*#]\s+)?Copyright[^\n]*'$p'[^\n]*\s*[*]([*][*])?/\n*|\n|gms; s|\s+([*#]\s+)?Copyright[^\n]*'$p'[^\n]*\n*|\n|gms'
done
2018-06-20 11:58:53 +02:00
Hans de Goede
520741d08e units: Add new system-update-pre.target
systemd offline-updates allows dropping multiple system update units
to be added to system-update.target.wants.

As documented in systemd.offline-updates(7) only 1 of these units
should actually be active (based on the /system-update symlink) and
when that unit is done it should reboot the system.

In some cases it is desirable to run a unit whenever booting in
offline-updates mode indepedent of which update unit is going to
handle the update. One example of this is integration with bootloader
code which checks if the previous boot was succesful.

Since the active unit will reboot the system when it is done, there
is no guarantee that adding such a unit to system-update.target.wants
will get it executed always.

This commit adds a system-update-pre.target which can be used for
units which should always run when booting in offline-updates mode.
2018-06-19 13:42:19 +02:00
Zbigniew Jędrzejewski-Szmek
f8fde9abb5 man: avoid "predicate" in coredumpctl match description
"Predicate" might not be clear to everyone, it is a CS term.

Fixes #9324.
2018-06-19 16:14:48 +09:00
Zbigniew Jędrzejewski-Szmek
db13f206db
Merge pull request #9307 from yuwata/man-sd-boot
man: use systemd-boot instead of sd-boot
2018-06-15 16:17:28 +02:00
Yu Watanabe
c779b82a50 man: re-format man page for bootctl 2018-06-15 15:40:12 +09:00
Yu Watanabe
70c8db7555 man: use systemd-boot instead of sd-boot 2018-06-15 14:27:37 +09:00
Lennart Poettering
705268414f seccomp: add new system call filter, suitable as default whitelist for system services
Currently we employ mostly system call blacklisting for our system
services. Let's add a new system call filter group @system-service that
helps turning this around into a whitelist by default.

The new group is very similar to nspawn's default filter list, but in
some ways more restricted (as sethostname() and suchlike shouldn't be
available to most system services just like that) and in others more
relaxed (for example @keyring is blocked in nspawn since it's not
properly virtualized yet in the kernel, but is fine for regular system
services).
2018-06-14 17:44:20 +02:00
Lennart Poettering
30ce657e5d
Merge pull request #9301 from keszybz/man-drop-authorgroup
man: drop unused <authorgroup> tags from man sources
2018-06-14 15:29:24 +02:00
Zbigniew Jędrzejewski-Szmek
0cd41d4dff Drop my copyright headers
perl -i -0pe 's/\s*Copyright © .... Zbigniew Jędrzejewski.*?\n/\n/gms' man/*xml
git grep -e 'Copyright.*Jędrzejewski' -l | xargs perl -i -0pe 's/(#\n)?# +Copyright © [0-9, -]+ Zbigniew Jędrzejewski.*?\n//gms'
git grep -e 'Copyright.*Jędrzejewski' -l | xargs perl -i -0pe 's/\s*\/\*\*\*\s+Copyright © [0-9, -]+ Zbigniew Jędrzejewski[^\n]*?\s*\*\*\*\/\s*/\n\n/gms'
git grep -e 'Copyright.*Jędrzejewski' -l | xargs perl -i -0pe 's/\s+Copyright © [0-9, -]+ Zbigniew Jędrzejewski[^\n]*//gms'
2018-06-14 13:03:20 +02:00
Zbigniew Jędrzejewski-Szmek
fdbbee37d5 man: drop unused <authorgroup> tags from man sources
Docbook styles required those to be present, even though the templates that we
use did not show those names anywhere. But something changed semi-recently (I
would suspect docbook templates, but there was only a minor version bump in
recent years, and the changelog does not suggest anything related), and builds
now work without those entries. Let's drop this dead weight.

Tested with F26-F29, debian unstable.

$ perl -i -0pe 's/\s*<authorgroup>.*<.authorgroup>//gms' man/*xml
2018-06-14 12:22:18 +02:00
Lennart Poettering
96b2fb93c5 tree-wide: beautify remaining copyright statements
Let's unify an beautify our remaining copyright statements, with a
unicode ©. This means our copyright statements are now always formatted
the same way. Yay.
2018-06-14 10:20:21 +02:00
Lennart Poettering
0c69794138 tree-wide: remove Lennart's copyright lines
These lines are generally out-of-date, incomplete and unnecessary. With
SPDX and git repository much more accurate and fine grained information
about licensing and authorship is available, hence let's drop the
per-file copyright notice. Of course, removing copyright lines of others
is problematic, hence this commit only removes my own lines and leaves
all others untouched. It might be nicer if sooner or later those could
go away too, making git the only and accurate source of authorship
information.
2018-06-14 10:20:20 +02:00
Lennart Poettering
818bf54632 tree-wide: drop 'This file is part of systemd' blurb
This part of the copyright blurb stems from the GPL use recommendations:

https://www.gnu.org/licenses/gpl-howto.en.html

The concept appears to originate in times where version control was per
file, instead of per tree, and was a way to glue the files together.
Ultimately, we nowadays don't live in that world anymore, and this
information is entirely useless anyway, as people are very welcome to
copy these files into any projects they like, and they shouldn't have to
change bits that are part of our copyright header for that.

hence, let's just get rid of this old cruft, and shorten our codebase a
bit.
2018-06-14 10:20:20 +02:00
Yu Watanabe
ead0adb161 timedatectl: add 'show' command to display machine-readable output
Closes #9249.
2018-06-14 10:19:08 +02:00
Iwan Timmer
c9299be2f5 resolve: rename PrivateDNS to DNSOverTLS
PrivateDNS is not considered a good name for this option, so rename it to DNSOverTLS
2018-06-14 09:57:56 +02:00
Franck Bui
bda7d78ba1 pid1: preserve current value of log target across re-{load,execution}
To make debugging easier, this patches allows one to change the log target and
do reload/reexec without modifying configuration permanently, which makes
debugging easier.

Indeed if one changed the log target at runtime (via the bus or via signals),
the change was lost on the next reload/reexecution.

In order to restore back the default value (set via system.conf, environment
variables or any other means ), the empty string in the "LogTarget" property is
now supported as well as sending SIGTRMIN+26 signal.
2018-06-13 18:52:27 +02:00
Franck Bui
a6ecbf836c pid1: preserve current value of log level across re-{load,execution}
To make debugging easier, this patches allows one to change the log level and
do reload/reexec without modifying configuration permanently, which makes
debugging easier.

Indeed if one changed the log max level at runtime (via the bus or via
signals), the change was lost on the next daemon reload/reexecution.

In order to restore the original value back (set via system.conf, environment
variables or any other means), the empty string in the "LogLevel" property is
now supported as well as sending SIGRTMIN+23 signal.
2018-06-13 18:52:27 +02:00
Lennart Poettering
dcd5c891cb binfmt,sysctl,sysuers,tmpfiles: add auto-paging for --cat-config commands
The output of these commands is really long, and already enriched with
color. Let's add auto-paging to make this easier to digest.
2018-06-13 14:20:03 +02:00
Zbigniew Jędrzejewski-Szmek
6f534ceb95
Merge pull request #9280 from yuwata/follow-ups-8849
Several follow-ups for #8849
2018-06-13 08:46:07 +02:00
Zbigniew Jędrzejewski-Szmek
70127be805
Merge pull request #9153 from poettering/private-mounts
introduce PrivateMounts= setting and clean up documentation for MountFlags=
2018-06-13 08:20:18 +02:00
Yu Watanabe
87cbe069e6 man: drop unnecessary '=' after nta 2018-06-13 14:34:26 +09:00
Lennart Poettering
401e860cb8
Merge pull request #8849 from irtimmer/feature/dns-over-tls
resolve: Support for DNS-over-TLS
2018-06-12 20:45:39 +02:00
Iwan Timmer
30e59c84d7 man: document DNS-over-TLS options 2018-06-12 18:50:30 +02:00
Michael Biebl
1b2ad5d9a5 doc: more spelling fixes 2018-06-12 16:31:30 +02:00
Lennart Poettering
2f2e14b251 man: document the new PrivateMounts= setting
Also, extend the documentation on MountFlags= substantially, hopefully
addressing all the questions of #4393

Fixes: #4393
2018-06-12 16:27:37 +02:00
Zbigniew Jędrzejewski-Szmek
74712c9ed9 man: mention that /var/lib/systemd/timesync/clock might have the compilation timestamp
https://bugs.freedesktop.org/show_bug.cgi?id=90085
2018-06-12 13:06:11 +02:00
Lennart Poettering
f86fae61ec tree-wide: drop trailing whitespace 2018-06-12 13:05:38 +02:00
Zbigniew Jędrzejewski-Szmek
bbac65bcc2
Merge pull request #9157 from poettering/unit-config-load-error
introduce a new "bad-setting" unit load state in order to improve "systemctl status" output when bad settings are used
2018-06-11 14:37:10 +02:00
Bruno Vernay
8d00da49fb Table is easier to grasp
State goes in CONFIG for users

3rd review
2018-06-11 13:52:55 +02:00
Lennart Poettering
7590ebc5e7
Merge pull request #9185 from marckleinebudde/can
networkd: add support to configure CAN devices
2018-06-11 12:58:55 +02:00
Lennart Poettering
c4555ad8f6 core: introduce a new load state "bad-setting"
Since bb28e68477 parsing failures of
certain unit file settings will result in load failures of units. This
introduces a new load state "bad-setting" that is entered in precisely
this case.

With this addition error messages on bad settings should be a lot more
explicit, as we don't have to show some generic "errno" error in that
case, but can explicitly say that a bad setting is at fault.

Internally this unit load state is entered as soon as any configuration
loader call returns ENOEXEC. Hence: config parser calls should return
ENOEXEC now for such essential unit file settings. Turns out, they
generally already do.

Fixes: #9107
2018-06-11 12:53:12 +02:00
Lennart Poettering
443dee9d2e man: don't mention "stub" and "merged" unit load states
These states should never be visible to the outside, as they are used
only internally while loading unit. Hence let's drop them from the
documentation.
2018-06-11 12:53:12 +02:00
Hiram van Paassen
06828bb617 networkd-link: add support to configure CAN interfaces
This patch adds support for kind "can". Fixes: #4042.
2018-06-09 15:12:31 +02:00
Lennart Poettering
6561918f59 resolved: use Oxford comma at once place
As suggested by @keszybz in https://github.com/systemd/systemd/pull/9235#pullrequestreview-127150950
2018-06-08 15:41:39 +02:00
Zbigniew Jędrzejewski-Szmek
89278d96dc
Merge pull request #9221 from poettering/bus-track-destroy
add sd_bus_track and sd_event_source destroy callbacks too
2018-06-08 15:35:45 +02:00
Lennart Poettering
6cdf635de0 resolved: document .local domain routing a bit more in detail
Inspired by the discussions in #8851, even though the issue appears to
be entirely unrelated to the .local domain in the end.
2018-06-08 15:03:08 +02:00
Lennart Poettering
ce3ec07f41
Merge pull request #9165 from ssahani/networkd-netdevsim
networkd: introduce netdev "Netdevsim" Driver
2018-06-07 16:56:32 +02:00
Lennart Poettering
90b1fa59cf sd-event: document sd_event_source_set_io_fd_own()
With this we have 100% of the sd-event symbols documented again. Yay!
2018-06-07 13:10:56 +02:00
Lennart Poettering
15723a1db0 sd-event: add destroy callback logic to sd-event too
This adds what has been added to sd_bus_slot and sd_bus_track to
sd_event too.
2018-06-07 13:10:56 +02:00
Lennart Poettering
66223497d0 sd-bus: also add destroy callbacks to sd_bus_track objects
This augments previous work for this for sd_bus_slot objects, and adds
the same concept to sd_bus_track objects, too.
2018-06-07 13:10:56 +02:00
Stefan Schweter
6a1bae8381 man: update url to latest 802.1AB (2016) standard 2018-06-07 10:30:23 +02:00
Zbigniew Jędrzejewski-Szmek
fa17b4e8d9 bus: optionally call a callbacks for cleanup
This adds a function sd_bus_slot_set_destroy_callback() to set a function
which can free userdata or perform other cleanups.

sd_bus_slot_get_destory_callback() queries the callback, and is included
for completeness.

Without something like this, for floating asynchronous callbacks, which might
be called or not, depending on the sequence of events, it's hard to perform
resource cleanup. The alternative would be to always perform the cleanup from
the caller too, but that requires more coordination and keeping of some shared
state. It's nicer to keep the cleanup contained between the callback and the
function that requests the callback.
2018-06-06 23:01:57 +02:00
Zbigniew Jędrzejewski-Szmek
e3736e0223 man: also mention EINVAL in sd_bus_slot_set_floating(3) 2018-06-06 23:01:25 +02:00
Zbigniew Jędrzejewski-Szmek
7d6b27238f man: xinclude the generic text to talk about libsystemd pkgconfig
The only difference is that functions are not individually listed by name,
but that seems completely pointless, since all functions that are documented
are always exported, so the generic text tells the user all she or he needs
to know.
2018-06-06 23:01:25 +02:00
Zbigniew Jędrzejewski-Szmek
0e37c169fb man: add example for sd_event_add_inotify 2018-06-06 13:09:36 +02:00
Lennart Poettering
1eb54dc645 man: document the new sd_event_add_inotify() call 2018-06-06 10:53:56 +02:00
Michael Prokop
7fc97da0f8 man: fix typo 2018-06-06 12:22:47 +09:00
Zbigniew Jędrzejewski-Szmek
7a8aa0ec0a man: use entities for fedora number and update URL
Fedora 28 is out already, let's advertise it. While at it, drop "container"
from "f28container" — it's a subdirectory under /var/lib/machines, it's pretty
obvious that's it a container.

To make the switch easier in the future, define the number as an entity.
2018-06-05 11:04:01 +02:00
Lennart Poettering
0be9b12be2
Merge pull request #9147 from keszybz/runtime-enablement
Runtime enablement
2018-06-04 11:58:21 +02:00
Yu Watanabe
d3c8afd092 man: RuntimeDirectory= or friends accept dot contained paths 2018-06-04 01:44:04 +09:00
Susant Sahani
56e7fb5088 networkd: introduce netdev "Netdevsim" Driver
This "netdevsim" as implied by the name is a tool for network developers and is a simulator.
This simulated networking device is used for testing various networking APIs and at this time
is particularly focused on testing hardware offloading related interfaces.
2018-06-03 08:16:11 +05:30
Susant Sahani
866e6b7a12 networkd: enable to set IFF_ALLMULTI to network device (#9146)
networkd: allow setting set IFF_ALLMULTI flag on network devices
2018-06-01 16:22:12 +02:00
Zbigniew Jędrzejewski-Szmek
4910b35078 systemctl: when removing enablement or mask symlinks, cover both /run and /etc
'systemctl disable --runtime' would disable a unit, but only if it was enabled
with '--runtime', and silently do nothing if the unit was enabled persistently.
And similarly 'systemctl disable' would do nothing if the unit was enabled in
/run. This just doesn't seem useful.

This pathch changes enable/disable and mask/unmask to be asymmetrical. enable
and mask create symlinks in /etc or /run, depending on whether --runtime was
specified. disable and unmask remove symlinks from both locations. --runtime
cannot be specified for the disable and unmask verbs.

The advantage is that 'disable' now means that the unit is disabled, period.
And similarly for 'unmask', all masks are removed.

Similarly for preset and preset-all, they now cannot be called with --runtime,
and are asymmetrical: when they enable a unit, symlinks are created in /etc.
When they disable a unit, all symlinks are nuked.

$ systemctl --root=/ enable bluetooth
Created symlink /etc/systemd/system/dbus-org.bluez.service → /usr/lib/systemd/system/bluetooth.service.
Created symlink /etc/systemd/system/bluetooth.target.wants/bluetooth.service → /usr/lib/systemd/system/bluetooth.service.
$ systemctl --root=/ --runtime enable bluetooth
Created symlink /run/systemd/system/dbus-org.bluez.service → /usr/lib/systemd/system/bluetooth.service.
Created symlink /run/systemd/system/bluetooth.target.wants/bluetooth.service → /usr/lib/systemd/system/bluetooth.service.
$ systemctl --root=/ disable bluetooth
Removed /run/systemd/system/bluetooth.target.wants/bluetooth.service.
Removed /run/systemd/system/dbus-org.bluez.service.
Removed /etc/systemd/system/bluetooth.target.wants/bluetooth.service.
Removed /etc/systemd/system/dbus-org.bluez.service.
$ systemctl --root=/ disable --runtime bluetooth
--runtime cannot be used with disable

$ systemctl --root=/ mask --runtime bluetooth
Created symlink /run/systemd/system/bluetooth.service → /dev/null.
$ systemctl --root=/ mask bluetooth
Created symlink /etc/systemd/system/bluetooth.service → /dev/null.
$ systemctl --root=/ unmask bluetooth
Removed /run/systemd/system/bluetooth.service.
Removed /etc/systemd/system/bluetooth.service.
$ systemctl --root=/ unmask --runtime bluetooth
--runtime cannot be used with unmask

$ systemctl --root=/ --runtime enable bluetooth
Created symlink /run/systemd/system/dbus-org.bluez.service → /usr/lib/systemd/system/bluetooth.service.
Created symlink /run/systemd/system/bluetooth.target.wants/bluetooth.service → /usr/lib/systemd/system/bluetooth.service.
$ systemctl --root=/ enable bluetooth
Created symlink /etc/systemd/system/dbus-org.bluez.service → /usr/lib/systemd/system/bluetooth.service.
Created symlink /etc/systemd/system/bluetooth.target.wants/bluetooth.service → /usr/lib/systemd/system/bluetooth.service.
$ systemctl --root=/ preset bluetooth
Removed /run/systemd/system/bluetooth.target.wants/bluetooth.service.
Removed /run/systemd/system/dbus-org.bluez.service.
Removed /etc/systemd/system/bluetooth.target.wants/bluetooth.service.
Removed /etc/systemd/system/dbus-org.bluez.service.
$ systemctl --root=/ preset --runtime bluetooth
--runtime cannot be used with preset

$ systemctl preset-all --runtime
--runtime cannot be used with preset-all
2018-06-01 15:10:33 +02:00
Lennart Poettering
89544ae658
Merge pull request #9014 from keszybz/fuzz-journal-remote
A fuzzer for journal-remote
2018-05-31 15:33:44 +02:00
Zbigniew Jędrzejewski-Szmek
8d96289711
Merge pull request #9145 from poettering/itsy-bitsy-fixes
trivial fixes
2018-05-31 13:38:53 +02:00
Lennart Poettering
aafcd2523b man: say more explicitly what to do in the SD_JOURNAL_INVALIDATE event
This rewords the section, explicitly distuingishing the cases of clients
that only want a continious log stream (which can simply treat
SD_JOURNAL_INVALIDATE the same way as SD_JOURNAL_APPEND) and those which
want to represent on screen the full state of the log data on disk.

This is an alternative to a part of PR #9060, but keeps an explanation
of the destinction of handling depending on the type of client.

Fixes: #8963
2018-05-31 13:24:37 +02:00
Zbigniew Jędrzejewski-Szmek
ea03f6ba0d sd-id128: return -ENOMEDIUM on null id
We currently return -ENOMEDIUM when /etc/machine-id is empty, and -EINVAL when
it is all zeros. But -EINVAL is also used for invalid args. The distinction
between empty and all-zero is not very important, let's use the same return
code.

Also document -ENOENT and -ENOMEDIUM since they can be a bit surprising.
2018-05-31 13:04:18 +02:00
Lennart Poettering
9554591d45 tree-wide: drop some double newlines 2018-05-31 12:19:34 +02:00
Lennart Poettering
642b59ff40
Merge pull request #9115 from yuwata/rfe-8491
locale: re-read configuration files if necessary
2018-05-31 11:54:01 +02:00
Lennart Poettering
309ee4c26c
Merge pull request #9144 from yuwata/sysusers-spec
sysusers: support specifier expansion for GECOS and home directory
2018-05-31 11:41:29 +02:00
Yu Watanabe
4156e767f6 locale: assume locale is for LANG= when variable name is not specified
Closes #6070.
2018-05-31 17:57:41 +09:00
Yu Watanabe
33ab22fcb9 man: mention that systemd-sysusers understand the specifier. 2018-05-31 17:37:57 +09:00
Yu Watanabe
617d253afa load-fragment: make IOScheduling{Class,Priority}= accept the empty string 2018-05-31 11:09:41 +09:00
Lennart Poettering
1004b2c7bc man: document the new sd_bus_slot_set_floating() call
Also extend the memory management description of sd-bus highlighting the
effect of "floating" slot objects a bit.
2018-05-30 17:34:34 +02:00
Lennart Poettering
d7828e117a man: fix minor typo 2018-05-30 17:13:51 +02:00
Susant Sahani
e6ebebbe6a networkd: Add ability to set MULTICAST flag on interface
Closes #9113

fix ARP toggling flag
2018-05-30 12:59:24 +02:00
Zbigniew Jędrzejewski-Szmek
706a3df4be man: recommend After= with Requisite=
Fixes #8309.
2018-05-29 18:52:45 +02:00
Lennart Poettering
052c59c3d0 man: don't refer to "service manager" in tmpfiles.d(5)
system-tmpfiles is not a "service manager" hence say "command" instead.
2018-05-29 11:39:15 +02:00
Lennart Poettering
b294e5943f core: introduce specifiers for /tmp and /var/tmp
This corresponds nicely with the specifiers we already pass for
/var/lib, /var/cache, /run and so on.

This is particular useful to update the test-path service files to
operate without guessable files, thus allowing multiple parallel
test-path invocations to pass without issues (the idea is to set $TMPDIR
early on in the test to some private directory, and then only use the
new %T or %V specifier to refer to it).
2018-05-29 11:39:15 +02:00
Lennart Poettering
709f4c472c man: sort specifier list in systemd.unit(5) alphabetically
Usually, we order our settings in our unit files in a logical order,
grouping related settings together, and putting more relevant stuff
first, instead of following a strictly alphabetical order.

For specifiers I think it makes sense to follow an alphabetical order
however, since they literally are just characters, and hence I think the
concept of alphabetical ordering is much more commanding for them. Also,
since specifiers are usually not used in combination, but mostly used
indepdently of each other I think it's not that important to group
similar ones together.

No other changes except the reordering.
2018-05-29 11:39:15 +02:00
Yu Watanabe
c2b67dc673 man: use IMAGE for portable service image name 2018-05-28 18:16:32 +09:00
Yu Watanabe
bbc1acaba0 core: add --dump-bus-properties option to systemd
If systemd is invoked with this option, this dumps all bus properties.
This may be useful for shell completion for `systemctl --property`.
2018-05-28 18:13:19 +09:00
Luca Boccassi
49805b3d81 journalctl: add with-unit mode
When dealing with a large number of template instances, for example
when launching daemons per VRF, it is hard for operators to correlate
log lines to arguments.
Add a new with-unit mode which, if available, prefixes unit and user
unit names when displaying its log messages instead of the syslog
identifier. It will also use the full timestamp with timezones, like
the short-full mode.
2018-05-25 14:45:34 +02:00
Lennart Poettering
a8c42bb8f3 man: add man pages for the portable service stuff 2018-05-24 17:01:57 +02:00
Lennart Poettering
cdc0f9be92
Merge pull request #8817 from yuwata/cleanup-nsflags
core: allow to specify RestrictNamespaces= multiple times
2018-05-24 16:49:13 +02:00
Susant Sahani
cea79e6643 networkd: Support the ability to set MTU in [Route] sections
Add support to set the route MTU.

Closes #9047
2018-05-24 16:42:40 +02:00
Zbigniew Jędrzejewski-Szmek
17c1b9a93f
Merge pull request #9024 from poettering/nspawn-attrs-more
make even more nspawn concepts configurable
2018-05-24 16:27:27 +02:00
Will Thompson
da6c7806fd tmpfiles: fix documented constant for exit code 73
sysexits.h has:

    #define EX_CANTCREAT	73	/* can't create (user) output file */

EX_DATAERR is a copy-paste error from the previous sentence, which is
correct.
2018-05-22 18:35:34 +02:00
Lennart Poettering
1688841f46 nspawn: similar to the previous patches, also make /etc/localtime handling more configurable
Fixes: #9009
2018-05-22 16:21:26 +02:00
Lennart Poettering
4e1d6aa983 nspawn: make --link-journal= configurable through .nspawn files, too 2018-05-22 16:20:08 +02:00
Lennart Poettering
09d423e921 nspawn: add greater control over how /etc/resolv.conf is handled
Fixes: #8014 #1781
2018-05-22 16:19:26 +02:00
Lennart Poettering
a5201ed6ce tree-wide: fix a couple of TABs 2018-05-22 16:13:45 +02:00
Lennart Poettering
398246292e detect-virt: add new --list command for showing all currently known VM/container envs 2018-05-22 13:14:18 +02:00
Zbigniew Jędrzejewski-Szmek
930362ab26 man: fix typo in man page citation
Fixes #9045.
2018-05-21 11:06:32 +09:00
Lucas Werkmeister
90bc77af29 man: fix typo 2018-05-19 15:01:52 +09:00
Zbigniew Jędrzejewski-Szmek
7fbb5dd5e2
Merge pull request #8940 from poettering/nspawn-attrs
nspawn: make a couple of additional container parameters configurable
2018-05-18 10:33:10 +02:00
David Tardon
f3c9133c50 inhibit: use pager for systemd-inhibit --list 2018-05-18 08:33:45 +02:00
Lennart Poettering
d107bb7d63 nspawn: add a new --cpu-affinity= switch
Similar as the other options added before, this is primarily useful to
provide comprehensive OCI runtime compatbility, but might be useful
otherwise, too.
2018-05-17 20:48:54 +02:00
Lennart Poettering
81f345dfed nspawn: add a new --oom-score-adjust= command line switch
This is primarily useful in order to provide comprehensive OCI runtime
compatibility with nspawn, but might have uses outside of it.
2018-05-17 20:48:12 +02:00
Lennart Poettering
66edd96310 nspawn: add a new --no-new-privileges= cmdline option to nspawn
This simply controls the PR_SET_NO_NEW_PRIVS flag for the container.
This too is primarily relevant to provide OCI runtime compaitiblity, but
might have other uses too, in particular as it nicely complements the
existing --capability= and --drop-capability= flags.
2018-05-17 20:47:20 +02:00
Lennart Poettering
3a9530e5f1 nspawn: make the hostname of the container explicitly configurable with a new --hostname= switch
Previously, the container's hostname was exclusively initialized from
the machine name configured with --machine=, i.e. the internal name and
the external name used for and by the container was synchronized. This
adds a new option --hostname= that optionally allows the internal name
to deviate from the external name.

This new option is mainly useful to ultimately implement the OCI runtime
spec directly in nspawn, but it might be useful on its own for some
other usecases too.
2018-05-17 20:46:45 +02:00
Lennart Poettering
bf428efb07 nspawn: add new --rlimit= switch, and always set resource limits explicitly for our container payloads
This ensures we set the various resource limits of our container
explicitly on each invocation so that we inherit less from our callers
into the payload.

By default resource limits are now set to the same values Linux
generally passes to the host PID 1, thus minimizing needless differences
between host and container environments.

The limits are now also configurable using a new --rlimit= switch. This
is preparation for teaching nspawn native OCI runtime support as OCI
permits setting resource limits for container payloads, and it hence
probably makes sense if we do too.
2018-05-17 20:45:54 +02:00
Lennart Poettering
1752d69a8b man: document what happens if --kill-signal= is not used in nspawn and --boot neither 2018-05-17 20:40:04 +02:00
Lennart Poettering
c7fc3c4cfe man: don't claim systemd-analyze was documented as part of the man-pages project
It's our own command, we document it in our own set of man pages.
2018-05-17 20:40:04 +02:00
Zbigniew Jędrzejewski-Szmek
c8e053fbe4 man: fix ProcessSizeMax= description, describe how to disable coredumps
What the man page said was different than what the code did.
save_external_coredump() will store the core temporarily for backtrace
generation, and will delete if afterwards if it is too large. So to disable
processing, it's necessary to both set
Storage=none/Storage=journal+JournalSizeMax=0/Storage=external+ExternalSizeMax=0
and ProcessSizeMax=0. This updates the man page to reflect the code.

The man pages are extended to describe that Storage=none + ProcessSizeMax=0 is
the simplest way to disable coredump processing. All the storage and processing
options make this quite complicated, so let's add a copy-and-pasteable example
of how to disable coredump. Doing it through coredump.conf has the advantage
that we still log, and the effect is immediate, unlike masking the sysconf
file.

Fixes #8788.
2018-05-17 17:15:03 +02:00
Alan Jenkins
4330dc03a0 service: FileDescriptorStoreMax should also imply NotifyAccess
Commenting out "WatchdogTimeout=3min" in systemd-logind.service causes
NotifyAccess to go from "main" to "none", breaking support for logind
restart.  Let's fix that.
2018-05-15 12:33:56 +02:00
Lucas Werkmeister
8d29bef6b5 man: fix reference in StandardOutput=
Since StandardOutput=file:path is more similar to StandardInput= than
StandardInputText=, and only StandardInput= is actually documented above
StandardOutput= whereas StandardInputText= is documented below it, I
assume the intention was to refer to the former.
2018-05-14 08:11:37 +02:00
Yu Watanabe
b5340a296c man: drop a trailing space 2018-05-13 18:44:25 +02:00
Philip Withnall
7456fa0267 man: Fix a minor typo in systemctl(1)
Signed-off-by: Philip Withnall <withnall@endlessm.com>
2018-05-11 07:24:05 -07:00
Mikhail Kasimov
32f511ec2b
Update systemd-journal-upload.service.xml
Security note on 2048 bits is added.
2018-05-11 02:43:00 +03:00
Mikhail Kasimov
562b65ca38
man: systemd-journal-upload: rsa 2048
rsa:2048 is currently in use as minimal recommended key length on cert/key generating. Specifying rsa:1024 is not recommended for security reasons.
2018-05-11 02:17:27 +03:00
Lennart Poettering
81321f51cf
Merge pull request #8824 from keszybz/analyze-show-config
systemd-analyze show-config
2018-05-10 11:14:23 -07:00
Mikhail Kasimov
68f21002b4 man: journal-gatewayd.service: links on {rem,upl}
While set of systemd-journal-{gatewayd,remote,upload}.service services presents single subsystem on journald logs network transmission, systemd-journal-gatewayd.service description should also contain links to other parts of this subsystem: systemd-journal-remote.service and systemd-journal-upload.service.
2018-05-10 19:01:02 +02:00
Mikhail Kasimov
7cfcb25236 man: systemd-networkd-wait-online: systemd.service (#8945)
* man: systemd-networkd-wait-online: systemd.service

While service type is mentioned (is a oneshot system service), link on systemd.service is added. 'See Also' section is also updated with link on systemd.service man-page.
2018-05-10 12:47:03 +09:00
Mikhail Kasimov
1a17bac57a man: systemd-escape: add missed short keys (#8944)
Added short keys -u and -m for --unescape and --mangle respectively. These short keys are present in systemd-escape --help output and are absent in man systemd-escape page.
2018-05-10 12:15:55 +09:00
Mikhail Kasimov
3eff246a17 add journal-upload.conf refentrytitle (#8942)
Add journal-upload.conf refentrytitle to have the same format to systemd-journal-remote.service description, which contains refentrytitle on journal-remote.conf in 'See Also' section.
2018-05-10 02:18:59 +02:00
Zbigniew Jędrzejewski-Szmek
32e2e0ade9
Merge pull request #8923 from yuwata/resolvectl-drop-funcs
resolvectl: drop service_family_{from,to}_string()
2018-05-09 14:12:33 +02:00
Yu Watanabe
cf5c1cbfba man: fix invalid option name --devpath in 'udevadm info' (#8935) 2018-05-09 09:17:37 +02:00
Yu Watanabe
35a44646c8 man: --debug option is implied in udev test and test-builtin commands (#8933) 2018-05-09 09:00:55 +02:00
Yu Watanabe
9310bf4b52 man: document that MACAddress= in [Match] section can take multiple MAC addresses 2018-05-09 12:00:16 +09:00
Alan Jenkins
3c88cbeed4 man/systemd.special: fix network v.s. LSB scripts (#8930)
$network is converted to network-online.target, not network-target.

See https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
and the implementation at `src/sysv-generator/sysv-generator.c`.
2018-05-08 16:53:41 +02:00
Susant Sahani
5f94520221 link: Add support to configure channels of the specified network device (#8882)
closes #8856
2018-05-08 13:03:41 +02:00
Yu Watanabe
6157694dc6
Merge pull request #8926 from keszybz/man-journal-remote
Small additions to sd-journal-{remote,upload}.service man pages
2018-05-08 17:56:51 +09:00
Yu Watanabe
77e3a240b3 man: fix title of systemd-networkd-wait-online(8) (#8925) 2018-05-08 10:53:52 +02:00
Yu Watanabe
b088e905f7 man: add missing 'query' command in examples of resolvectl 2018-05-08 17:51:18 +09:00
Zbigniew Jędrzejewski-Szmek
0b063391d8 man: add a bit more text about systemd-journal-upload.service 2018-05-08 10:39:18 +02:00
Zbigniew Jędrzejewski-Szmek
3dd22749ae man: add a bit more text about systemd-journal-remote.service 2018-05-08 10:37:09 +02:00
Yu Watanabe
5efc15d6e9 man: fix typo 2018-05-08 12:41:59 +09:00
Yu Watanabe
767f565fc3 man: mention that --url option of journal-upload can specify the port number 2018-05-08 11:58:16 +09:00
Yu Watanabe
691bba5987 man: mention the default port number of journal-remote 2018-05-08 11:57:28 +09:00
Yu Watanabe
1f416853b6 man: update references to systemd-journal-{remote,upload}
Fixes #8920 and #8921.
2018-05-08 10:14:06 +09:00
Zbigniew Jędrzejewski-Szmek
971f6ea551 analyze: allow full paths for cat-config
$ systemd-analyze cat-config systemd/logind.conf
$ systemd-analyze cat-config /etc/systemd/logind.conf
$ systemd-analyze cat-config /usr/lib/systemd/logind.conf
are all equvalent,
$ systemd-analyze cat-config /var/systemd/logind.conf
is an error.
2018-05-07 18:17:36 +02:00
Lennart Poettering
bf613f7acc doc: clarify at which point user/group name resolution needs to work (#8884)
Prompted by the discussions on:

https://bugs.freedesktop.org/show_bug.cgi?id=106339
2018-05-07 14:49:16 +02:00
Susant Sahani
af1c0de0e1 networkd: add support to send DHCP user class option (#7499)
This patch add support to enables to send User Class option code 77
RFC 3004.

This option MAY carry multiple User Classes.

The format of this option is as follows:

         Code   Len   Value
        +-----+-----+---------------------  . . .  --+
        | 77  |  N  | User Class Data ('Len' octets) |
        +-----+-----+---------------------  . . .  --+

   where Value consists of one or more instances of User Class Data.
   Each instance of User Class Data is formatted as follows:

         UC_Len_i     User_Class_Data_i
        +--------+------------------------  . . .  --+
        |  L_i   | Opaque-Data ('UC_Len_i' octets)   |
        +--------+------------------------  . . .  --+

UserClass=
A DHCPv4 client can use UserClass option to identify the type or category of user or applications
it represents. The information contained in this option is an string that represents the user class
of which the client is a member. Each class sets an identifying string of information to be used by the DHCP service to classify clients. Takes a whitespace-separated list.

UserClass= hello world how are you

Closes: RFC: #5134
2018-05-07 14:21:02 +02:00
Yu Watanabe
b086654c6a man: fix merging rule for CapabilityBoundingSet= 2018-05-05 11:07:37 +09:00
Yu Watanabe
53255e53ce man: mention that RestrictNamespaces= can be specified multiple times 2018-05-05 11:07:37 +09:00
Lennart Poettering
d0821d8839
Merge pull request #8644 from yuwata/rfe-1589
timesync: expose NTP response on DBus
2018-05-03 17:23:40 +02:00
Yu Watanabe
3e692b58d0
Merge pull request #8887 from poettering/file-hier-efi
three improvements to the file-hierarchy(7) man page
2018-05-03 23:07:07 +09:00
Lennart Poettering
d225fedb66 man: docbook doesn't like line breaks within table cells (#8885)
It will pass them on as they are to the formatted man pages, which is
pretty uncool. Let's hence avoid line breaks with table cells.
2018-05-03 23:02:43 +09:00
Yu Watanabe
1e4acc77b0 man: add explanations of show-timesync and timesync-status commands 2018-05-03 18:07:58 +09:00
Lennart Poettering
f0b5686443 man: refer to the html version of binfmt-misc.rst
Yes, the kernel's file is called "binfmt-misc.rst", but let's link the
HTML version, after all HTML is much more appropriate for hyperlinking.
2018-05-02 22:03:24 +02:00
Lennart Poettering
5eb5f35267 man: suffix all dir paths in file-hierarchy(7) with "/"
Our CODING_STYLE document suggests to suffix all paths referring to dirs
rather than regular files with a "/" in our docs and log messages.
Update file-hierarchy(7) to do just that.

No other changes.
2018-05-02 17:00:30 +02:00
Lennart Poettering
1dc7ca9912 man: document /efi in file-hiearchy(7)
We have been supporting the directory since a while in the gpt
generator, let's document it in file-hierarchy(7) too
2018-05-02 16:56:19 +02:00
Lennart Poettering
03f2b38e0c man: document the XDG specs as further sources of specifications for file-hierarchy(7)
We document this further down in the text, but let's also list this
early on, where we mention the FHS as major influence too, so that it is
clear we incorporate all that thinking.
2018-05-02 16:54:32 +02:00
Lennart Poettering
46b073298f man: don't claim we'd set XDG_SEAT and XDG_VTNR as part of service management
Previously, reading through systemd.exec(5) one might get the idea that
XDG_SEAT and XDG_VTNR are part of the service management logic, but they
are not, they are only set if pam_systemd is part of a PAM stack an
pam_systemd is used.

Hence, let's drop these env vars from the list of env vars, and instead
add a paragraph after the list mentioning that pam_systemd might add
more systemd-specific env vars if included in the PAM stack for a
service that uses PAMName=.
2018-04-27 17:32:01 +02:00
Lennart Poettering
3e0bff7d0b man: document BSD exit codes in systemd.exec(5) too
Our own tools use them now, and we probably should encourage that, hence
let's document them along with the other exit codes we use.
2018-04-27 17:32:01 +02:00
Mikhail Kasimov
d145f88fbd man: updated systemd-analyze blame description for service-units with Type=simple (#8834)
Fixes #5121.
2018-04-27 16:06:39 +02:00
Susant Sahani
7f9915f0de networkd: Bridge Property Use kernel defaults. (#8825)
Rather than choosing to set or unset any of these flag
use kernel defaults. This patch makes following properties to unset.

UseBPDU = unset
HairPin = unset
FastLeave = unset
AllowPortToBeRoot = unset
UnicastFlood = unset
2018-04-27 10:32:28 +02:00
Zbigniew Jędrzejewski-Szmek
6aaab70f0c binfmt: add --cat-config
Document --help and --version while at it.
2018-04-27 10:06:24 +02:00
Zbigniew Jędrzejewski-Szmek
46d8646a9f analyze: add --root option for cat-config 2018-04-27 10:06:24 +02:00
Zbigniew Jędrzejewski-Szmek
3c51c62616 sysctl: add --cat-config 2018-04-27 10:06:24 +02:00
Zbigniew Jędrzejewski-Szmek
ec0327d69c sysusers: add --cat-config 2018-04-27 10:06:24 +02:00
Zbigniew Jędrzejewski-Szmek
ceaaeb9bab tmpfiles: add --cat-config
This implements similar logic as conf_files_cat(), but with slightly different
file gathering logic. I also want to add support for replacement files later on,
so it seems better to keep those two file-gathering functions separate.
2018-04-27 10:06:24 +02:00
Zbigniew Jędrzejewski-Szmek
854a42fb2e analyze: add 'cat-config' verb
This is used as 'systemd-analyze show-config systemd/logind.conf', which
will dump
   /etc/systemd/system/user@.service
   /etc/systemd/system/user@.service.d/*.conf
   /run/systemd/system/user@.service.d/*.conf
   /usr/local/lib/systemd/system/user@.service.d/*.conf
   /usr/lib/systemd/system/user@.service.d/*.conf

The idea is to make it easy to dump the configuration using the same locations
and order that systemd programs use themselves (including masking, in the right
order, etc.). This is the generic variant that works with any configuration
scheme that follows the same general rules:

$ systemd-analyze cat-config systemd/system.conf
$ systemd-analyze cat-config systemd/user.conf
$ systemd-analyze cat-config systemd/logind.conf
$ systemd-analyze cat-config systemd/sleep.conf
$ systemd-analyze cat-config systemd/journald.conf
$ systemd-analyze cat-config systemd/journal-remote.conf
$ systemd-analyze cat-config systemd/journal-upload.conf
$ systemd-analyze cat-config systemd/coredump.conf
$ systemd-analyze cat-config systemd/resolved.conf
$ systemd-analyze cat-config systemd/timesyncd.conf
$ systemd-analyze cat-config udev/udev.conf
2018-04-27 10:06:24 +02:00
Lennart Poettering
385f3a0d8d
Merge pull request #7599 from keszybz/slice-templates
Make user@.service independent of logind
2018-04-26 21:39:05 +02:00
Yu Watanabe
ad628501b9 man: fix description of --value option for loginctl (#8820) 2018-04-26 09:51:11 +02:00
Zbigniew Jędrzejewski-Szmek
2841493927 Use a dash-truncated drop-in for user-%j.slice configuration
This removes the UserTasksMax= setting in logind.conf. Instead, the generic
TasksMax= setting on the slice should be used. Instead of a transient unit we
use a drop-in to tweak the default definition of a .slice. It's better to use
the normal unit mechanisms instead of creating units on the fly. This will also
make it easier to start user@.service independently of logind, or set
additional settings like MemoryMax= for user slices.

The setting in logind is removed, because otherwise we would have two sources
of "truth": the slice on disk and the logind config. Instead of trying to
coordinate those two sources of configuration (and maintainer overrides to
both), let's just convert to the new one fully.

Right now now automatic transition mechanism is provided. logind will emit a
hint when it encounters the setting, but otherwise it will be ignored.

Fixes #2556.
2018-04-25 16:18:45 +02:00
Zbigniew Jędrzejewski-Szmek
250e9fadbc Add %j/%J unit specifiers
Those are quite similar to %i/%I, but refer to the last dash-separated
component of the name prefix.

The new functionality of dash-dropins could largely supersede the template
functionality, so it would be tempting to overload %i/%I. But that would
not be backwards compatible. So let's add the two new letters instead.
2018-04-24 10:05:04 +02:00
Zbigniew Jędrzejewski-Szmek
e1a7f622e7 man: fix description of %N in systemd.unit(5)
The description in the man page disagreed with the code. Let the code win,
since if anybody is using this, they are more likely to depend on actual
behaviour rather than the docs. (In Fedora workstation installation there's
only one use, and it doesn't make much sense either way: SyslogIdentifier=%N
in xfs_scrub@.service.)

Also adds dots at the end everywhere, because we have multiple sentences in
some explanations, so we need dots.
2018-04-24 09:59:03 +02:00
Paul Menzel
33ce73f66c man/os-release: Document that blank lines are permitted (#8777)
Fixes: https://github.com/systemd/systemd/issues/8773
2018-04-23 11:03:16 +02:00
Zbigniew Jędrzejewski-Szmek
951a44ea15
Merge pull request #8520 from drinkcat/upstream-udevadm
udevadm/hwdb: Return non-zero exit code on error
2018-04-23 09:37:17 +02:00
Yu Watanabe
80f0048203
Merge pull request #8769 from keszybz/followups
Three trivial followups for recent patches
2018-04-23 10:24:39 +09:00
Nicolas Boichat
aacbcab66d systemd-hwdb update: Return non-zero exit code on error when --strict is used
- Add a new flag --strict to tell systemd-hwdb to return a
   non-zero code on error.
 - Make systemd-hwdb update return an error when any parsing
   error occurs (only if strict flag is set).
2018-04-23 08:07:27 +08:00
Zbigniew Jędrzejewski-Szmek
60e9682a80 man: document the new $SYSTEMD_DEBUGGER variable
Follow-up for c5896b6a.
2018-04-20 15:56:52 +02:00
Susant Sahani
11102cba69 networkd: add support to configure IPv6 MTU (#8664)
This patch supports to configure IPv6 MTU.

Closes #8632
2018-04-20 11:38:39 +02:00
Lennart Poettering
23b27b39d2 terminal: add internal API to format URLs for display in capable terminals
Newer terminals (in particular gnome-terminal) understand special escape
sequence for formatting clickable links. Let's support that to make our
tool output more clickable where that's appropriate.

For details see this:

https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda

The one big issue is that 'less' currently doesn't grok this, and
doesn't ignore sequence like regular terminal implementations do if they
don't support it. Hence for now, let's disable URL output if a pager is
used. We should revisit that though as soon as less added support for it
and enough time passed for it to enter various distributions.
2018-04-19 18:04:26 +02:00
Lennart Poettering
2c75088094
Merge pull request #8615 from yuwata/fix-1329
timedated: support multiple NTP services
2018-04-19 16:22:50 +02:00
Zbigniew Jędrzejewski-Szmek
9c531ff89f
Merge pull request #8623 from yuwata/resolvectl
resolvectl: rename systemd-resolve to resolvectl
2018-04-19 12:33:05 +02:00
Lennart Poettering
5d13a15b1d tree-wide: drop spurious newlines (#8764)
Double newlines (i.e. one empty lines) are great to structure code. But
let's avoid triple newlines (i.e. two empty lines), quadruple newlines,
quintuple newlines, …, that's just spurious whitespace.

It's an easy way to drop 121 lines of code, and keeps the coding style
of our sources a bit tigther.
2018-04-19 12:13:23 +02:00
Ryan Gonzalez
c5896b6a8c coredumpctl: Add debug as a gdb alias, and add lldb support (closes #8722) (#8744) 2018-04-18 21:32:17 +02:00
Yu Watanabe
b69f810c8a man: create man page for resolvectl 2018-04-19 03:25:25 +09:00
Lennart Poettering
edd1dcd091 man: don't place nginx socket in /tmp (#8757)
First of all, it's frickin' ugly and wrong, as IPC sockets should be
placed in /run and definitely not under a guessable name under
world-writable /tmp. Secondly, it can't even work as we set
PrivateTmp=yes on the service.

Hence, let's clean up the example, and simply use a socket in /run
instead.

Fixes: #8419
2018-04-18 18:50:06 +02:00
Lennart Poettering
d28e92c3fc
Merge pull request #8735 from keszybz/small-docs-updates
Small docs updates
2018-04-18 11:50:56 +02:00
Zbigniew Jędrzejewski-Szmek
aed5cb03db man: merge two sections into two subsections of one section
Those are very close subjects that are a good fit for one section.
2018-04-18 10:04:10 +02:00
Zbigniew Jędrzejewski-Szmek
75695fb798 man: describe unit templating explicitly
This patch is heavily based on the text suggested by
archenemies in #3791.

Fixes #3791.
2018-04-18 10:04:10 +02:00
Zbigniew Jędrzejewski-Szmek
2116134b04 man: briefly document Following=
Fixes #1914.
2018-04-18 09:16:17 +02:00
Zbigniew Jędrzejewski-Szmek
492cb5095b man: use --option= in more places 2018-04-18 09:15:28 +02:00
Zbigniew Jędrzejewski-Szmek
c643653e25 man: be more explicit about sd-journal-upload input format
Fixes #3857.
2018-04-18 09:11:01 +02:00
Zbigniew Jędrzejewski-Szmek
0f943ae4ea man: add a new page with a general description of common syntax
We have a common parser, but for the user it might be
completely unobvious that the same general rules apply
to all those files. Let's add a page about the basic syntax
so that the more specific pages don't have to repeat those
details.
2018-04-18 09:11:01 +02:00
Zbigniew Jędrzejewski-Szmek
4298e26176 meson: fix indentation for systemd-time-sync-wait(5) entries
Those files should not be updated manually, because then automatic updates
contain spurious "changes".
2018-04-18 09:11:02 +02:00
Lennart Poettering
d47410f3fb man: minor machinectl updates 2018-04-17 19:51:43 +02:00
Jan Synacek
22f9331412 logind: enable limiting of user session scopes using pam context objects (#8397) 2018-04-17 16:42:44 +02:00
Lennart Poettering
2cb36f7c1e
Merge pull request #8575 from keszybz/non-absolute-paths
Do not require absolute paths in ExecStart and friends
2018-04-17 15:54:10 +02:00
Yu Watanabe
326208e082 man: update timedatectl and systemd-timedated 2018-04-17 14:12:54 +09:00
Zbigniew Jędrzejewski-Szmek
e12d446b66 systemd-path: allow the default search path to be queried 2018-04-16 16:09:46 +02:00
Zbigniew Jędrzejewski-Szmek
5008da1ec1 systemd: do not require absolute paths in ExecStart
Absolute paths make everything simple and quick, but sometimes this requirement
can be annoying. A good example is calling 'test', which will be located in
/usr/bin/ or /bin depending on the distro. The need the provide the full path
makes it harder a portable unit file in such cases.

This patch uses a fixed search path (DEFAULT_PATH which was already used as the
default value of $PATH), and if a non-absolute file name is found, it is
immediately resolved to a full path using this search path when the unit is
loaded. After that, everything behaves as if an absolute path was specified. In
particular, the executable must exist when the unit is loaded.
2018-04-16 16:09:46 +02:00
Peter A. Bigot
2dd79846dd time-wait-sync: use watchfile to coordinate with timesyncd
Systems that have an accurate real-time clock may have an initial
unsynchronized time that is close enough to the synchronized time that
the final adjustment doesn't trigger a waking "clock set" event.  Have
timesyncd touch a file in its runtime directory as a secondary signal
for synchronization.  Continue to support the timerfd-based trigger as a
sufficient condition when the watchfile is not present.

Closes issue #8683
2018-04-14 09:52:40 -05:00
Lennart Poettering
6c0a77953c man: document the new dash truncation drop-in directories 2018-04-13 11:34:48 +02:00
Lennart Poettering
4d09e1c8ba
Merge pull request #8676 from keszybz/drop-license-boilerplate
Drop license boilerplate
2018-04-10 14:53:31 +02:00
Brian J. Murrell
598749a8c9 Clarify checker/helper in systemd-fsck@.service manpage (#8674)
Clarify the helper/checker terminology in the systemd-fsck@.service manpage to
make the description more clear about what is responsible for deciding if a filesystem
needs checking.
2018-04-07 17:12:26 +02:00
Zbigniew Jędrzejewski-Szmek
11a1589223 tree-wide: drop license boilerplate
Files which are installed as-is (any .service and other unit files, .conf
files, .policy files, etc), are left as is. My assumption is that SPDX
identifiers are not yet that well known, so it's better to retain the
extended header to avoid any doubt.

I also kept any copyright lines. We can probably remove them, but it'd nice to
obtain explicit acks from all involved authors before doing that.
2018-04-06 18:58:55 +02:00
David Tardon
3de8ff5a69 journald: bump rate limits (#8660)
Apparently, it is quite common to hit a problem, where systemd-journald
would drop messages because service is logging too fast.
2018-04-05 13:06:59 +02:00
Lennart Poettering
6064de2de8
Merge pull request #8617 from keszybz/tmpfiles-relax
Do not exit with error when systemd-tmpfiles --boot fails
2018-04-05 11:54:02 +02:00
Zbigniew Jędrzejewski-Szmek
bb9947be2f tmpfiles: add a new return code for "operational failure" when processing
Things can fail, and we have no control over it:
- file system issues (immutable bits, file system errors, MAC refusals, etc)
- kernel refusing certain arguments when writing to /proc/sys or /sys
Let's add a new code for the case where we parsed configuration but failed
to execute it because of external errors.
2018-04-05 08:13:53 +02:00
Radostin Stoyanov
fcc7ce4c8e man: machinectl: update fedora exmple URL (#8642) 2018-04-03 12:06:53 +09:00
Zbigniew Jędrzejewski-Szmek
3d5b4aaad3
Merge pull request #8606 from dell/rename-suspend-to-hibernate
Rename suspend-to-hibernate to suspend-then-hibernate
2018-03-29 12:30:18 +02:00
Mario Limonciello
e68c79db91 Rename suspend-to-hibernate to suspend-then-hibernate
Per some discussion with Gnome folks, they would prefer this name
as it's more descriptive of what's happening.
2018-03-28 15:11:10 -05:00
Lennart Poettering
39e4f5bc7b man: remove spurious 'system' 2018-03-28 22:04:58 +02:00
Lennart Poettering
12b6b3b7a4
Merge pull request #8562 from keszybz/docs
Man page and log message fixes
2018-03-26 15:34:39 +02:00
Zbigniew Jędrzejewski-Szmek
b3e4e23e83 man: add an additional note about journalctl -u
Fixes #5387.

I kept the _SYSTEMD_UNIT= example because it is easy to understand and
not very verbose. _SYSTEMD_CGROUP has much longer entries which do not
fit well in the narrow man page. Instead, I added an explanation of what
-u is translated into.
2018-03-24 14:22:42 +01:00
Zbigniew Jędrzejewski-Szmek
752ce3967e man: mention that oldest journal files are removed
Fixes #7225.
2018-03-24 14:19:03 +01:00
Zbigniew Jędrzejewski-Szmek
4bb890bc04 man: add a note about "archived" journal files and when files can be copied
Issue #6673 requests advice on backup strategy. But the right backup strategy
depends on many factors, too many to describe in a man page. So let's just
provide some general information which files are mutable and that it is always
safe to use/copy files.

Closes #6673.
2018-03-24 14:18:08 +01:00
Zbigniew Jędrzejewski-Szmek
2230a2908b man: add a note about $XDG_SEAT and $XDG_VTNR to pam_systemd(8)
Issue #6499 requests that a mention that those varibles can be set in the
environment is added. But the man page already says that. There isn't much
detail, but a man page does not need to and in this case should not include
all the details. Instead a note is added that those vars can be derived from
$DISPLAY.

Closes #6499.
2018-03-24 14:16:31 +01:00
Zbigniew Jędrzejewski-Szmek
8d5a4f27f5 man: add link and list of known attrs to systemd-gpt-auto-generator(8)
Fixes #7859.
2018-03-24 14:16:27 +01:00
Zbigniew Jędrzejewski-Szmek
0760dfc62f man: add missing headers to glib-event-glue.c 2018-03-24 14:15:48 +01:00
Zbigniew Jędrzejewski-Szmek
1027e0dc4d man: fix compilation of journal-iterate-poll.c
Our examples should compile...
2018-03-24 14:15:48 +01:00
Zbigniew Jędrzejewski-Szmek
c0be035da7 man: drop license header in glib-event-glue.c
We're moving towards just SPDX license identifiers, and the boilerplate
is especially annoying in a man page. Also adjust to the smaller indentation
to make the code fit better on a page.
2018-03-24 14:15:48 +01:00
Zbigniew Jędrzejewski-Szmek
929f52632b man: move examples out of sd_journal_get_fd into separate files
man/.dir-locals is to keep indentation under control.

This makes it much easier to compile and run those examples, c.f. #7578.

v2:
- copy more of .dir-locals.el from the root to man/.dir-locals.el
  (I though emacs would inherit from the one in the parent dir, but
   it seems it just uses its own broken defaults, including
   indent-tabs-mode by default.)
2018-03-24 14:14:12 +01:00
Zbigniew Jędrzejewski-Szmek
f01eca96d0
Merge pull request #8533 from poettering/bootup-shutdown-phase2
extend docs on second phase of shutdown and watchdog handling
2018-03-23 15:11:46 +01:00
Jan Synacek
1147eef0b6 man/udevadm: remove superfluous --version from subcommands (#8549)
There's need to show the program specific --version for each subcommand.
2018-03-22 19:24:37 +01:00
Zbigniew Jędrzejewski-Szmek
bc96c63c05 man: add a note that nspawn gives access to network by default
Fixes #6546.
2018-03-22 16:56:22 +01:00
juergbi
39362f6f7d main: add NoNewPrivileges config option (#8475)
This makes it possible to disable new privileges for the whole system.
2018-03-21 23:41:19 +01:00
Lennart Poettering
bd11902696 man: watchdog documentation improvements 2018-03-21 22:00:30 +01:00
Lennart Poettering
e799056e15 man: document that there's a second phase of shutdown in bootup(7) 2018-03-21 22:00:30 +01:00
Peter A. Bigot
5c3376efcd time-sync-wait: add service (#8494)
This one-shot service waits until the kernel time has been set to
synchronized.
2018-03-21 12:42:04 +01:00
Alex Gartrell
1b7cf0e587 journal: make the compression threshold tunable
Allow a user to set a number of bytes as Compress to use as the compression
threshold.
2018-03-20 14:54:07 -07:00
Zbigniew Jędrzejewski-Szmek
24c44fdf56 man: use unicode ellipsis in one more place (#8496)
Also add note where it should *not* be used.

https://github.com/systemd/systemd/pull/8408#discussion_r175606771
2018-03-20 09:54:01 +01:00
Yu Watanabe
24fcd009c3 man: mention 'status' is the default command for timedatectl 2018-03-19 21:04:02 +09:00
Yu Watanabe
d4e0773b4d man: mention 'status' is the default command for localectl 2018-03-19 21:03:36 +09:00
Yu Watanabe
a456324fef man: mention that 'status' is the default command for hostnamectl 2018-03-19 21:03:36 +09:00
Yu Watanabe
bcabcde5d2
Merge pull request #8408 from keszybz/ln-relative
bugs.fd.o bug archelogy
2018-03-19 18:32:30 +09:00