summaryrefslogtreecommitdiff
path: root/man/systemctl.xml
AgeCommit message (Collapse)Author
2018-06-14man: drop unused <authorgroup> tags from man sourcesZbigniew Jędrzejewski-Szmek
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-14tree-wide: remove Lennart's copyright linesLennart Poettering
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-14tree-wide: drop 'This file is part of systemd' blurbLennart Poettering
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-11core: introduce a new load state "bad-setting"Lennart Poettering
Since bb28e68477a3a39796e4999a6cbc6ac6345a9159 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-11man: don't mention "stub" and "merged" unit load statesLennart Poettering
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-01systemctl: when removing enablement or mask symlinks, cover both /run and /etcZbigniew Jędrzejewski-Szmek
'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-05-11man: Fix a minor typo in systemctl(1)Philip Withnall
Signed-off-by: Philip Withnall <withnall@endlessm.com>
2018-04-06tree-wide: drop license boilerplateZbigniew Jędrzejewski-Szmek
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-03-20man: use unicode ellipsis in one more place (#8496)Zbigniew Jędrzejewski-Szmek
Also add note where it should *not* be used. https://github.com/systemd/systemd/pull/8408#discussion_r175606771
2018-03-09man: beef up description of systemctl list-unitsZbigniew Jędrzejewski-Szmek
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=88135.
2018-03-01man: document that link-ed files must be on /Zbigniew Jędrzejewski-Szmek
Fixes #8307.
2018-02-22systemctl,man: use PROPERTY as the placeholder for a property nameZbigniew Jędrzejewski-Szmek
2018-02-22systemctl,man: use UNIT as the placeholder for a unit nameZbigniew Jędrzejewski-Szmek
NAME is kind of meaningless, because everything has a name. "Unit" makes it more obvious that a name of a unit is necessary. I was always momentarily baffled by "set-property NAME ASSIGNMENT...", where there are two objects (the unit and the property), and it's not clear which of the two "NAME" is supposed to signify.
2018-01-25Revert "man: mention that systemctl is-active or is-failed do not load units"Lennart Poettering
This reverts commit c7612b20052d9151f60a96623b8743cbac88390d.
2018-01-16man: mention that systemctl is-active or is-failed do not load unitsYu Watanabe
See the discussion in the issue #7875.
2017-12-13man: "systemd" is to be written in all lower-case, even at beginnings of ↵Lennart Poettering
sentences This very important commit is very important.
2017-11-20Merge pull request #7154 from keszybz/bootspecLennart Poettering
List bootspec entries in bootctl and use the default for kexec
2017-11-19Add SPDX license identifiers to man pagesZbigniew Jędrzejewski-Szmek
2017-11-17man: write "stop and start" instead of "restart" when explaining the reload ↵Lennart Poettering
fallback operations We already made a similar change when talking about the "restart" command, let's also do this for "systemctl reload" and friends. Follow-up for: 6539dd7c42946d9ba5dc43028b8b5785eb2db3c5 See: #7126
2017-11-17man: document the interaction of "systemctl restart" and the FD storeLennart Poettering
See: #7126
2017-11-07systemctl: add --dry-run argumentZbigniew Jędrzejewski-Szmek
2017-10-10man: fix typos (#7029)Jakub Wilk
2017-10-04man: document which special "systemctl" commands are synchronous and which ↵Lennart Poettering
asynchronous. This documents the status quo, clarifying when we are synchronous and when asynchronous by default and when --no-block is support to force asynchronous operation. See: #6479
2017-09-22install: consider non-Alias=/non-DefaultInstance= symlinks as "indirect" ↵Zbigniew Jędrzejewski-Szmek
enablement I think this matches the spirit of "indirect" well: the unit *might* be active, even though it is not "installed" in the sense of symlinks created based on the [Install] section. The changes to test-install-root touch the same lines as in the previous commit; the change in each case is from assert_se(unit_file_get_state(...) >= 0 && state == UNIT_FILE_ENABLED) to assert_se(unit_file_get_state(...) >= 0 && state == UNIT_FILE_DISABLED) to assert_se(unit_file_get_state(...) >= 0 && state == UNIT_FILE_INDIRECT) in the last two commits.
2017-09-22install: only consider names in Alias= as "enabling"Zbigniew Jędrzejewski-Szmek
When a unit has a symlink that makes an alias in the filesystem, but that name is not specified in [Install], it is confusing is the unit is shown as "enabled". Look only for names specified in Alias=. Fixes #6338. v2: - Fix indentation. - Fix checking for normal enablement, when the symlink name is the same as the unit name. This case wasn't handled properly in v1. v3: - Rework the patch to also handle templates properly: A template templ@.service with DefaultInstance=foo will be considered enabled only when templ@foo.service symlink is found. Symlinks with other instance names do not count, which matches the logic for aliases to normal units. Tests are updated.
2017-08-31manager: fix job mode when signalled to shutdown etcAlan Jenkins
The irreversible job mode is required to ensure that shutdown is not interrupted by the activation of a unit with a conflict. We already used the correct job mode for `ctrl-alt-del.target`. But not for `exit.target` (SIGINT of user manager). The SIGRT shutdown signals also needed fixing. Also change SIGRTMIN+0 to isolate default.target, instead of starting it. The previous behaviour was documented. However there was no reason given for it, nor can we provide one. The problem that isolate is too aggressive anywhere outside of emergency.target (#2607) is orthogonal. This feature is "accessible by different means and only really a safety net"; it is confusing for it to differ from `systemctl default` without explanation. `AllowIsolate=yes` is retained on poweroff.target etc. for backwards compatibility. `sigpwr.target` is also an obvious candidate for linking to a shutdown target. Unforunately it is also a possible hook for implementing some logic like system V init did, reading `/etc/powerstatus`. If we switched to starting `sigpwr.target` with REPLACE_IRREVERSIBLY, attempts to run `systemctl shutdown` from it would fail, if they had not thought to set `DefaultDependencies=no`. We had provided no examples for `sigpwr`, and the whole idea is cruft to keep legacy people happy. For the moment, I leave `sigpwr` alone, with no risk of disrupting anyone's previously-working, half-working, or untested setup. Fixes #6484. See also #6471
2017-08-30man: fix note for `systemctl enable --global` (#6592)Alan Jenkins
The last sentence in the paragraph described the behaviour of `--global`. But "the last case" we listed was "only this boot", which does not match... This was the fifth case described, but there are only _four_ different option names. Fix it.
2017-08-03man: fix typos (#6532)Jakub Wilk
2017-07-28man: describe which units types are stopped on isolateZbigniew Jędrzejewski-Szmek
Fixes #6455.
2017-06-19Use "dollar-single-quotes" to escape shell-sensitive stringsZbigniew Jędrzejewski-Szmek
Also called "ANSI-C Quoting" in info:(bash) ANSI-C Quoting. The escaping rules are a POSIX proposal, and are described in http://austingroupbugs.net/view.php?id=249. There's a lot of back-and-forth on the details of escaping of control characters, but we'll be only using a small subset of the syntax that is common to all proposals and is widely supported. Unfortunately dash and fish and maybe some other shells do not support it (see the man page patch for a list). This allows environment variables to be safely exported using show-environment and imported into the shell. Shells which do not support this syntax will have to do something like export $(systemctl show-environment|grep -v '=\$') or whatever is appropriate in their case. I think csh and fish do not support the A=B syntax anyway, so the change is moot for them. Fixes #5536. v2: - also escape newlines (which currently disallowed in shell values, so this doesn't really matter), and tabs (as $'\t'), and ! (as $'!'). This way quoted output can be included directly in both interactive and noninteractive bash.
2017-03-20man: change /lib to /usr/lib (#5618)Lucas Werkmeister
Per man:file-hierarchy(7), /lib is just a compatibility symlink; the other manpages also refer to /usr/lib. Found with: git grep -P '(?<!/usr|/var|local)/lib' man/
2017-02-27man: fix typo (#5468)AsciiWolf
2017-02-26man: systemctl list-timers: Provide sample output and document it. (#5463)Mark Stosberg
As with `systemctl list-sockets` and `systemctl status`, we provide a sample output for `systemctl list-timers` and document what the columns mean.
2017-02-21man: use https:// in URLsAsciiWolf
2017-02-02systemctl: restore --failed (#5198)Zbigniew Jędrzejewski-Szmek
'systemctl --failed' is an extremely common operation and it's nice to have a shortcut for it. Revert "man: don't document systemctl --failed" and add the option back to systemctl's help and shell completion scripts. This reverts commit 036359ba8d0aba7db7eac75d10073a849a033fd1.
2017-01-17man: fix typo (#5093)AsciiWolf
2017-01-14man: provide a basic guide to the `systemctl status` output (#4950)Mark Stosberg
- Show example of all `systemctl status` output and documents what possible "Loaded:", "Active" and "Enabled" values mean. - Documents what different colors of the dot mean. - Documents "gotcha" with load-on-demand behavior which will report units as "loaded" even if they are only loaded to show their status. (From @poettering: https://github.com/systemd/systemd/issues/5063#issuecomment-272115024 )
2017-01-11Document how restart actions work (#5052)micah
When a user is trying to understand what is going on with a restart action, it is useful to explicitly describe how the action is run. It may seem obvious, but it is helpful to be explicit so one knows there isn't a special ExecRestart= or similar option that they could be looking at.
2016-12-14man: document that "systemctl show" shows low-level propertiesLennart Poettering
Fixes: #4654
2016-12-11man: use unicode ellipsis in more placesZbigniew Jędrzejewski-Szmek
As requested in https://github.com/systemd/systemd/pull/4864#pullrequestreview-12372557. docbook will substitute triple dots for the ellipsis in man output, so this has no effect on the troff output, only on HTML, making it infinitesimally nicer. In some places we show output from programs, which use dots, and those places should not be changed. In some tables, the alignment would change if dots were changed to the ellipsis which is only one character. Since docbook replaces the ellipsis automatically, we should leave those be. This patch changes all other places.
2016-11-16systemctl: show waiting jobs when "systemctl list-jobs --after/--before" is ↵Lennart Poettering
called Let's expose the new bus functions we added in the previous commit in systemctl.
2016-11-02man: fix two typos (is → are) (#4544)Lucas Werkmeister
2016-10-31man: fix typos (#4527)Jakub Wilk
2016-10-25man: document that systemctl cat shows file content (#4488)Lucas Werkmeister
... and that that content might be outdated.
2016-10-24shared, systemctl: teach is-enabled to show installation targetsJan Synacek
It may be desired by users to know what targets a particular service is installed into. Improve user friendliness by teaching the is-enabled command to show such information when used with --full. This patch makes use of the newly added UnitFileFlags and adds UNIT_FILE_DRY_RUN flag into it. Since the API had already been modified, it's now easy to add the new dry-run feature for other commands as well. As a next step, --dry-run could be added to systemctl, which in turn might pave the way for a long requested dry-run feature when running systemctl start.
2016-10-17man: mention that systemctl --root=/ operates on the fs directlyZbigniew Jędrzejewski-Szmek
2016-10-12man: typo fixesThomas Hindoe Paaboel Andersen
A mix of fixes for typos and UK english
2016-10-11man: avoid using the term "loaded" for units currently in memory, since we ↵Lennart Poettering
also have a unit state of that name Fixes: #3971
2016-10-11man: expand the documentation of $SYSTEMD_PAGER and related environment ↵Lennart Poettering
variables Document the default pagers used, as well as $SYSTEMD_LESSCHARSET. Fixes: #4143
2016-10-01systemctl: Add --wait option to wait until started units terminate againMartin Pitt
Fixes #3830