1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-28 20:25:38 +03:00
Commit Graph

1218 Commits

Author SHA1 Message Date
Lennart Poettering
405e0255d5 logind: restore logic to kill user processes when session ends 2013-08-13 17:59:28 +02:00
Michael Scherer
9cfda96440 man: fix typo in documentation of systemd-machined 2013-08-04 21:47:14 -04:00
Jan Engelhardt
d6ee7fa24f man: wording and grammar updates
This includes regularly-submitted corrections to comma setting and
orthographical mishaps that appeared in man/ in recent commits.
2013-08-04 21:46:27 -04:00
Lennart Poettering
a6c0353b92 core: open up SendSIGHUP property for transient units 2013-07-30 02:54:56 +02:00
Lennart Poettering
82659fd757 core: optionally send SIGHUP in addition to the configured kill signal
This is useful to fake session ends for processes like shells.
2013-07-30 01:54:59 +02:00
Lennart Poettering
6f47d17c3c man: reowrk list of documented unit search paths
The generator paths are internal implementation details, they should not
be documented explicitly.

We should document where private user units are found however.
2013-07-29 16:42:22 +02:00
Lennart Poettering
42539b5e38 man: there is no session mode, only user mode 2013-07-29 16:39:30 +02:00
Lennart Poettering
e73eebfd99 man: link up scope+slice units from systemd.unit(5) 2013-07-29 16:39:30 +02:00
Brandon Philips
6f88df5751 man: systemd.unit: fix volatile path
The volatile path was '/run/systemd/systemd' when it should be
'/run/systemd/system'. Fix.
2013-07-27 19:55:22 +02:00
Dave Reisner
d240b2e1ba systemctl.8: fix typo in SEE ALSO 2013-07-26 20:01:33 -04:00
Kay Sievers
e21fea24ae rework systemd's own process environment handling/passing
Stop importing non-sensical kernel-exported variables. All
parameters in the kernel command line are exported to the
initial environment of PID1, but suppressed if they are
recognized by kernel built-in code. The EFI booted kernel
will add further kernel-internal things which do not belong
into userspace.

The passed original environ data of the process is not touched
and preserved across re-execution, to allow external reading of
/proc/self/environ for process properties like container*=.
2013-07-26 18:40:40 +02:00
Lennart Poettering
223ab9345d systemctl: remove "load" command
"systemctl load" has always been racy since the GC could hit any time,
before making use of the loaded unit. Very recent systemd will run GC
immeidately after all unit state changes which has the effect that the
the effect of "systemctl load" is completely gone now, so let's remove
the support for it in "systemctl" for good.
2013-07-26 17:05:43 +02:00
Lennart Poettering
a65615ca5d systemctl: move set-log-level to systemd-analyze
"systemctl set-log-level" is a command for analysis and tracing hence
"systemd-analyze" should be the better home for it, thus allowing us to
make the overly large "systemctl" a bit smaller.
2013-07-26 16:59:55 +02:00
Lennart Poettering
9ea9d4cf16 systemctl: move "dump" command from systemctl to systemd-analyze
It's an analysis command and its format is explicitly not covered by any
stability guarantees, hence move away from systemctl and into
systemd-analyze, minimizing the already large interface of systemctl a
bit.

This patch also adds auto-paging to the various systemd-analyze commands
where that makes sense
2013-07-26 16:36:25 +02:00
Lennart Poettering
6577c7cea7 core: allow setting RemainAfterExit= for transient services 2013-07-26 16:09:25 +02:00
Dave Reisner
5c7951141f tmpfiles: introduce --exclude-prefix
The opposite of --prefix, allows specifying path prefixes which should
be skipped when processing rules.
2013-07-24 12:04:00 -04:00
Dave Reisner
a2aced4add tmpfiles: support passing --prefix multiple times 2013-07-24 11:10:05 -04:00
Lennart Poettering
d07f7b9ef2 journal: immediately sync to disk as soon as we receieve an EMERG/ALERT/CRIT message 2013-07-24 12:34:28 +02:00
Michael Biebl
0778c3db87 man: Fix copy&paste error 2013-07-23 05:03:17 +02:00
Jan Engelhardt
fbce11397f man: wording and grammar updates
This includes regularly-submitted corrections to comma setting and
orthographical mishaps that appeared in man/ in recent commits.
2013-07-21 11:23:58 -04:00
Kay Sievers
eb75d0ed05 man: udev - add section about hwdb 2013-07-21 01:33:13 +02:00
Zbigniew Jędrzejewski-Szmek
d4d60b3169 man: also mention /run/log/journal in systemd-jouranld.service(8) 2013-07-19 19:04:19 -04:00
Lennart Poettering
83787333bd man: update documentation of systemctl cgroup commands 2013-07-19 19:29:08 +02:00
Lennart Poettering
847ae0ae7f man: update documentation of slice units a bit 2013-07-19 19:16:47 +02:00
Lennart Poettering
9365b048c0 man: update scope unit man page a bit 2013-07-19 19:04:17 +02:00
Lennart Poettering
3e2f69b779 man: update pam_systemd documentation to current state of the code 2013-07-19 18:52:09 +02:00
Lennart Poettering
1ec96668dd man: list scope and slice units in systemd(1) 2013-07-19 18:44:33 +02:00
Lennart Poettering
60211b3507 man: document sd_pid_get_slice() call of libsystemd-login 2013-07-19 18:10:12 +02:00
Lennart Poettering
f7f74d8ec4 man: a few corrections to the machinectl man page 2013-07-19 18:00:21 +02:00
Lennart Poettering
431c72dc3d man: update systemd-nspawn regarding new --slice= logic 2013-07-19 17:55:52 +02:00
Lennart Poettering
3803cde44c man: extend systemd-run man page a little 2013-07-19 17:51:26 +02:00
Lennart Poettering
dc7adf202b man: drop the old cgroup settings from the man pages 2013-07-19 17:23:34 +02:00
Jan Janssen
86d7de3686 man: Fix example to use the new --boot syntax 2013-07-19 08:25:50 -04:00
Zbigniew Jędrzejewski-Szmek
6aaa8c2f78 core: add %v specifier 2013-07-19 02:45:49 -04:00
Lennart Poettering
61ad59b131 man: document Slice= setting (and other fixes) 2013-07-19 04:10:06 +02:00
Lennart Poettering
98653cfb50 man: add reference to new machined bus API documentation in the wiki 2013-07-19 02:47:21 +02:00
Maciej Wereski
9b9b3d36b8 systemctl: option to list units by state
This allows to show only units with specified LOAD or SUB or ACTIVE state.
2013-07-18 19:50:04 +02:00
Tomasz Torcz
44bc6e1fe0 journalctl: add ”short-iso” output format with verbose ISO8601 timestamps
Example:
2013-07-18T10:10:01+0200 sandworm CROND[20957]: (root) CMD (/usr/lib64/sa/sa1 1 1)
2013-07-18 15:58:49 +02:00
Zbigniew Jędrzejewski-Szmek
d121b396cc journalctl: remove ":" from the --boot syntax
Instead of :-0, :1, :5, etc., use -0, 1 or +1, 5, etc. For BOOT_ID+OFFSET,
use BOOT_ID+offset or BOOT_ID-offset (either + or - is required).

Also make error handling a bit more robust and verbose.
Modify the man page to describe the most common case (-b) first,
and the second most common case (-b -1) second.
2013-07-17 23:41:10 -04:00
Zbigniew Jędrzejewski-Szmek
248fc619b5 journalctl: augment short mode with a cursor at the end
Two options are added: --show-cursor to print the cursor at the end,
and --after-cursor to resume logs on the next line after the previous one.
2013-07-16 22:41:47 -04:00
Tom Gundersen
84b6ad702e udev: export tags of "dead" device nodes to /run/udev/static_node-tags/
Based on a patch by Kay Sievers.

A tag is exported at boot as a symlinks to the device node in the folder
/run/udev/static_node-tags/<tagname>/, if the device node exists.

These tags are cleaned up by udevadm info --cleanup-db, but are otherwise
never removed.
2013-07-16 20:07:57 +02:00
Zbigniew Jędrzejewski-Szmek
a65f06bb27 journal: return -ECHILD after a fork
A few asserts are replaced with 'return -EINVAL'. I think that
assert should not be used to check argument in public functions.

Fields in struct sd_journal are rearranged to make it less
swiss-cheesy.
2013-07-16 12:09:48 -04:00
Jason St. John
9c33d34fe4 man: improve readability of --output options in journalctl(1)
The list and descriptions of valid output options was difficult to read,
so break up the long block of text into discrete man page list items to
improve readability.
2013-07-16 17:43:11 +02:00
Jason St. John
6ed80a4e34 man: use HTTPS links for links that support it 2013-07-16 17:42:56 +02:00
Jan Janssen
a331b5e6d4 journalctl: Add support for showing messages from a previous boot
Hi,

I redid the boot ID look up to use enumerate_unique.

This is quite fast if the cache is warm but painfully slow if
it isn't. It has a slight chance of returning the wrong order if
realtime clock jumps around.

This one has to do n searches for every boot ID there is plus
a sort, so it depends heavily on cache hotness. This is in contrast
to the other way of look-up through filtering by a MESSAGE_ID,
which only needs about 1 seek + whatever amount of relative IDs
you want to walk.

I also have a linked-list + (in-place) mergesort version of this
patch, which has pretty much the same runtime. But since this one
is using libc sorting and armortized allocation, I prefer this
one.

To summarize: The MESSAGE_ID way is a *lot* faster but can be
incomplete due to rotation, while the enumerate+sort will find
every boot ID out there but will be painfully slow for large
journals and cold caches.

You choose :P

Jan
2013-07-16 17:38:12 +02:00
Ramkumar Ramachandra
7080ea16b5 detect-virt: detect User-Mode Linux
In a User-Mode Linux session:

  $ systemd-detect-virt
  none

Although it is possible to reliably detect virtualization:

  $ cat /proc/cpuinfo
  processor       : 0
  vendor_id       : User Mode Linux
  model name      : UML
  mode            : skas
  host            : Linux kytes 3.11.0-rc1-00009-ge5fd680 (...)
  bogomips        : 7007.43

So, grep for the string "\nvendor_id\t: User Mode Linux\n" in
/proc/cpuinfo, and say "uml" when asked.
2013-07-16 14:27:53 +02:00
Shawn Landden
3a83211689 journal: add logging of effective capabilities _CAP_EFFECTIVE
I think this is the most important of the capabilities bitmasks to log.
2013-07-16 04:27:04 +02:00
Zbigniew Jędrzejewski-Szmek
65cd79f7f5 man: add FILES section to systemd-journald.service(8) 2013-07-15 22:20:17 -04:00
Zbigniew Jędrzejewski-Szmek
77a9e8de65 man: add note about paging and colors to journalctl(1) 2013-07-15 21:34:57 -04:00
Jan Janssen
8cf3ca8068 cryptsetup: Add tcrypt support
Tcrypt uses a different approach to passphrases/key files. The
passphrase and all key files are incorporated into the "password"
to open the volume. So, the idea of slots that provide a way to
open the volume with different passphrases/key files that are
independent from each other like with LUKS does not apply.

Therefore, we use the key file from /etc/crypttab as the source
for the passphrase. The actual key files that are combined with
the passphrase into a password are provided as a new option in
/etc/crypttab and can be given multiple times if more than one
key file is used by a volume.
2013-07-16 01:24:31 +02:00
Shawn Landden
b8547c10c8 journalctl: add --force option to recreate FSS 2013-07-14 23:55:18 -04:00
Zbigniew Jędrzejewski-Szmek
3eb1395706 man: tweak WantedBy=/RequiredBy= description a bit
https://bugs.freedesktop.org/show_bug.cgi?id=55663
2013-07-13 23:36:51 -04:00
Jan Engelhardt
6a75304e41 man: wording and grammar update 2013-07-13 07:56:11 -04:00
Zbigniew Jędrzejewski-Szmek
d868475ad6 man: document the slice and scope units, add systemd.cgroup(5) 2013-07-12 01:10:04 -04:00
Zbigniew Jędrzejewski-Szmek
479fe882ae man: use <literal> not <filename> for suffixes
Especially sentences like "filename ends in .suffix" are easier to
parse if the suffix is surrounded by quotes. In sentences like
"requires a .service unit", where the suffix is used as a class
designation, there is no need to use quotes.
2013-07-12 01:09:25 -04:00
Zbigniew Jędrzejewski-Szmek
b54022fb92 man: remove note about shutdown being legacy
This can only confuse people, because there's no need to
discourage people from using shutdown. It is fully functional
and supported.
2013-07-12 01:01:10 -04:00
Shawn Landden
f7db7a691c basic SO_REUSEPORT support 2013-07-11 03:09:18 +02:00
Zbigniew Jędrzejewski-Szmek
f09114bcc7 man: document systemd-run 2013-07-10 02:16:20 -04:00
Zbigniew Jędrzejewski-Szmek
fade1ec6e0 man: document four basic slices 2013-07-10 02:16:20 -04:00
Jason St. John
a3f6aa268c man: improve word usage and grammar in logind.conf(5) 2013-07-09 09:07:33 -04:00
Jan Engelhardt
7b870f607b man: wording and grammar updates 2013-07-09 09:07:33 -04:00
Zbigniew Jędrzejewski-Szmek
65b571fcfb man: tweak the description of System/RuntimeMaxUse
https://bugs.freedesktop.org/show_bug.cgi?id=66657
2013-07-06 23:35:09 -04:00
Zbigniew Jędrzejewski-Szmek
19887cd06a man: document machinectl and systemd-machined 2013-07-06 22:23:31 -04:00
Jan Engelhardt
409dee2e44 man: more grammar improvements
- place commas
- expand contractions (this is written prose :)
- add some missing words
2013-07-03 08:19:20 -04:00
Zbigniew Jędrzejewski-Szmek
5199cbe4a4 man: describe OBJECT_PID= 2013-07-02 23:35:38 -04:00
Jason St. John
e9c1ea9de8 replace tabs with spaces in various files
The affected files in this patch had inconsistent use of tabs vs. spaces
for indentation, and this patch eliminates the stray tabs.

Also, the opening brace of sigchld_hdl() in activate.c was moved so the
opening braces are consistent throughout the file.
2013-07-02 23:06:22 -04:00
Zbigniew Jędrzejewski-Szmek
05cc726731 man: add more formatting markup 2013-07-02 23:06:22 -04:00
Jason St. John
e9dd9f9547 man: improve grammar and word formatting in numerous man pages
Use proper grammar, word usage, adjective hyphenation, commas,
capitalization, spelling, etc.

To improve readability, some run-on sentences or sentence fragments were
revised.

[zj: remove the space from 'file name', 'host name', and 'time zone'.]
2013-07-02 23:06:22 -04:00
Jason St. John
1e158d273b man: fix spacing issue in various man pages
Before: libsystemd-daemonpkg-config(1)
After: libsystemd-daemon pkg-config(1)

This fix is more complicated than it should be due to the consecutive
XML elements separated by collapsible whitespace.

Merging the lines and separating the XML elements with an en space or a
non-breaking space is the only solution that results in one, and only
one, space being inserted between them when testing. An em space results
in two spaces being inserted.
2013-06-29 10:28:57 -04:00
Zbigniew Jędrzejewski-Szmek
74d005783e man: use <constant> for various constants which look ugly with quotes 2013-06-26 19:47:34 -04:00
Zbigniew Jędrzejewski-Szmek
909f413d3c man: always supply quotes around literals
When manpages are displayed on a terminal, <literal>s are indistinguishable
from surrounding text. Add quotes everywhere, remove duplicate quotes,
and tweak a few lists for consistent formatting.

https://bugzilla.redhat.com/show_bug.cgi?id=874631
2013-06-26 08:05:14 -04:00
David King
aed63d6758 man: Small language improvements to sd_journal_open 2013-06-25 07:52:01 -04:00
Zbigniew Jędrzejewski-Szmek
670b110c3b journald: fix space limits reporting
Reporting of the free space was bogus, since the remaining space
was compared with the maximum allowed, instead of the current
use being compared with the maximum allowed. Simplify and fix
by reporting limits directly at the point where they are calculated.

Also, assign a UUID to the message.
2013-06-24 21:06:06 -04:00
Zbigniew Jędrzejewski-Szmek
92fba83e3a journal-verify: allow unlinked data entries
Sometimes an entry is not successfully written, and we end up with
data items which are "unlinked", not connected to, and not used by any
entry. This will usually happen when we write to write a core dump,
and the initial small data fields are written successfully, but
the huge COREDUMP= field is not written. This situation is hard
to avoid, but the results are mostly harmless. Thus only warn about
unused data items.

Also, be more verbose about why journal files failed verification.
This should help diagnose journal failure modes without resorting
to a hexadecimal editor.

https://bugs.freedesktop.org/show_bug.cgi?id=65235 (esp. see
system.journal attached to the bug report).
2013-06-22 20:36:01 -04:00
Michael Biebl
fb69ed55e5 man: Fix small typo 2013-06-22 00:55:18 +02:00
Lennart Poettering
78894537e0 man: fix example for DefaultEnvironment=
The example mentioned Environment= rather than DefaultEnvironment=.

Also made some other clean-ups.
2013-06-20 23:31:21 +02:00
Lennart Poettering
3c86d34cf1 man: document that shutdown() is only sometimes OK on sockets passed in via socket activation 2013-06-20 23:25:41 +02:00
Umut Tezduyar
97d0e5f83b manager: add DefaultEnvironment option
This complements existing functionality of setting variables
through 'systemctl set-environment', the kernel command line,
and through normal environment variables for systemd in session
mode.
2013-06-20 16:27:45 -04:00
Łukasz Stelmach
77f40f165c Describe handling of an AF_UNIX socket
Describe how to handle an AF_UNIX socket, with Accept set to false,
received from systemd, upon exit.

Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
2013-06-19 15:24:05 -07:00
Lennart Poettering
fe004b7c3a journal: add references to SSKG paper FSS is based on 2013-06-18 16:25:11 +02:00
Daniel Albers
98a6e132b5 journalctl,loginctl,systemctl,systemd-cgls: add -l as alias for --full
https://bugs.freedesktop.org/show_bug.cgi?id=65850
2013-06-17 10:33:34 -04:00
Zbigniew Jędrzejewski-Szmek
fa3868c6d3 man: update systemd-analyze invocation 2013-06-14 16:25:38 -04:00
Jason St. John
3ae83f9896 man: improve readability of "_TRANSPORT=" section in systemd.journal-fields(7)
The list and descriptions of valid transports was difficult to read, so
break the long sentence up into discrete man page list items to improve
readability.
2013-06-14 16:21:41 -04:00
Zbigniew Jędrzejewski-Szmek
5e9dfd2ef9 man: add sd_j_open_files to return values section 2013-06-13 23:36:08 -04:00
Zbigniew Jędrzejewski-Szmek
7699b6eb98 man: add note that sd_journal_open_files is racy 2013-06-10 10:22:08 -04:00
Zbigniew Jędrzejewski-Szmek
8d98da3f11 journalctl: allow the user to specify the file(s) to use
This is useful for debugging and feels pretty natural. For example
answering the question "is this big .journal file worth keeping?"
is made easier.
2013-06-10 10:10:07 -04:00
Zbigniew Jędrzejewski-Szmek
5302ebe15f journal: add sd_journal_open_files
This allows the caller to explicitly specify which journal files
should be opened. The same functionality could be achieved before
by creating a directory and playing around with symlinks. It
is useful to debug stuff and explore the journal, and has been
requested before.

Waiting is supported, the journal will notice modifications on
the files supplied when opening the journal, but will not add
any new files.
2013-06-10 10:10:07 -04:00
Zbigniew Jędrzejewski-Szmek
3f3a438f58 journalctl: add --system/--user flags
--user basically gives messages from your own systemd --user services.
--system basically gives messages from PID 1, kernel, and --system
services. Those two options are not exahustive, because a priviledged
user might be able to see messages from other users, and they will not
be shown with either or both of those flags.
2013-06-10 10:10:06 -04:00
Zbigniew Jędrzejewski-Szmek
a688baa8b7 journal: add ability to filter by current user
This is the just the library part.

SD_JOURNAL_CURRENT_USER flags is added to sd_j_open(), to open
files from current user.

SD_JOURNAL_SYSTEM_ONLY is renamed to SD_JOURNAL_SYSTEM,
and changed to mean to (also) open system files. This way various
flags can be combined, which gives them nicer semantics, especially
if other ones are added later.

Backwards compatibility is kept, because SD_JOURNAL_SYSTEM_ONLY
is equivalent to SD_JOURNAL_SYSTEM if used alone, and before there
we no other flags.
2013-06-10 10:10:06 -04:00
Zbigniew Jędrzejewski-Szmek
bdf874d4bf man: mention that units are 1024-based 2013-06-04 17:45:40 -04:00
Václav Pavlín
76d5a71de9 systemctl: add command set-log-level
Command changes current log level
2013-05-30 20:44:41 -04:00
Václav Pavlín
99504dd4c1 systemctl: add commands set-default and get-default
systemctl set-default NAME links the default.target to the given unit,
get-default prints out the path to the currently set default target.
2013-05-30 20:44:41 -04:00
Lukas Nykryn
9749cd77bc core: read "debug" from kernel commandline and set log level 2013-05-30 00:43:39 -04:00
Zbigniew Jędrzejewski-Szmek
310b59edcf man: link to XKB conf. guide in localectl(1) 2013-05-30 00:43:38 -04:00
Zbigniew Jędrzejewski-Szmek
a057be1fcc man: mention net.ifnames in kernel-command-line(3) 2013-05-22 21:13:57 -04:00
Jan Janssen
2927b326cc man: Document missing options 2013-05-21 09:23:51 -04:00
David Strauss
12f25b6e74 Standardize on 'file system' and 'namespace' in man pages.
This change is based on existing usage in systemd and online.
'File-system' may make sense in adjectival form, but man pages
seem to prefer 'file system' even in those situations.
2013-05-18 02:28:25 -07:00
Lukas Nykryn
0000ce05ed systemd-delta: add support for drop-in snippets 2013-05-16 17:23:28 -04:00
Lennart Poettering
3f92e4b4b6 utmp: turn systemd-update-utmp-shutdown.service into a normal runtime service
With this change systemd-update-utmp-shutdown.service is replaced by
systemd-update-utmp.service which is started at boot and stays around
until shutdown. This allows us to properly order the unit against both
/var/log and auditd.

https://bugzilla.redhat.com/show_bug.cgi?id=853104
https://bugs.freedesktop.org/show_bug.cgi?id=64365
2013-05-16 00:19:03 +02:00
Lennart Poettering
c35b956d34 units: rework systemd-random-seed-{load,save}.service to be a single service
That way ordering it with MountsRequiredFor= works properly, as this no
longer results in mount units start requests to be added to the shutdown
transaction that conflict with stop requests for the same unit.
2013-05-15 22:38:51 +02:00
Auke Kok
9d995d54b5 Add support for ConditionSecurity=ima
Just as with SMACK, we don't really know if a policy has been
loaded or not, as the policy interface is write-only. Assume
therefore that if ima is present in securityfs that it is
enabled.

Update the man page to reflect that "ima" is a valid option
now as well.
2013-05-11 13:42:55 -07:00
Lennart Poettering
77b6e19458 audit: since audit is apparently never going to be fixed for containers tell the user what's going on
Let's try to be helpful to the user and give him a hint what he can do
to make nspawn work with normal OS containers.

https://bugzilla.redhat.com/show_bug.cgi?id=893751
2013-05-10 00:17:36 +02:00
Zbigniew Jędrzejewski-Szmek
7ecec4705c systemd-python: wrap sd_login_monitor 2013-05-09 18:13:33 -04:00
Lennart Poettering
2aba426ffb man: document that the kernel's audit subsystem is currently incompatible with nspawn containers 2013-05-09 15:33:02 +02:00
Karol Lewandowski
b62ee5249d condition, man: Add support for ConditionSecurity=smack
According to Documentation/security/Smack.txt:
  In keeping with the intent of Smack, configuration data is minimal
  and not strictly required. The most important configuration step is
  mounting the smackfs pseudo filesystem.
This means that checking the mount point should be enough.
2013-05-08 22:24:37 -04:00
Zbigniew Jędrzejewski-Szmek
fa13e4a784 man: add permalinks to subsection titles too 2013-05-08 21:33:48 -04:00
Zbigniew Jędrzejewski-Szmek
19adb8a320 systemd-sleep: add support for freeze and standby
A new config file /etc/systemd/sleep.conf is added.
It is parsed by systemd-sleep and logind. The strings written
to /sys/power/disk and /sys/power/state can be configured.
This allows people to use different modes of suspend on
systems with broken or special hardware.

Configuration is shared between systemd-sleep and logind
to enable logind to answer the question "can the system be
put to sleep" as correctly as possible without actually
invoking the action. If the user configured systemd-sleep
to only use 'freeze', but current kernel does not support it,
logind will properly report that the system cannot be put
to sleep.

https://bugs.freedesktop.org/show_bug.cgi?id=57793
https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=7e73c5ae6e7991a6c01f6d096ff8afaef4458c36
http://lists.freedesktop.org/archives/systemd-devel/2013-February/009238.html

SYSTEM_CONFIG_FILE and USER_CONFIG_FILE defines were removed
since they were used in only a few places and with the
addition of /etc/systemd/sleep.conf it becomes easier to just
append the name of each file to the dir name.
2013-05-06 22:51:57 +02:00
Ross Lagerwall
ab75ca91dc man: fix typos in systemd.special 2013-05-06 22:47:48 +02:00
Lennart Poettering
a7be37a501 man: clarify behaviour of Also= in unit files 2013-05-06 22:47:41 +02:00
Lennart Poettering
e943ecc88d man: correct SIGUSR1 semantics for journald 2013-05-06 22:39:17 +02:00
Nirbheek Chauhan
80f53eb595 condition, man: Add support for ConditionSecurity=apparmor
Checking for the apparmor directory in securityfs means the apparmor module is
loaded and enabled, and hence should suffice as a test.

https://bugs.freedesktop.org/show_bug.cgi?id=63312
2013-05-06 21:17:37 +02:00
Lennart Poettering
f8964235e6 nspawn: explain that we look for /etc/os-release in the container directory
https://bugs.freedesktop.org/show_bug.cgi?id=64014
2013-05-06 21:06:18 +02:00
Harald Hoyer
8f51399e75 kernel-install: add default install scripts
Do the depmod in the kernel-install hooks, so hooks can produce/install
kernel modules and be part of the depmod.

Also move the basic boot loader entry creation and removal to a
plugin script.

If PRETTY_NAME is not defined in /etc/os-release, fallback to
PRETTY_NAME="Linux $KERNEL_VERSION".

Add documentation for everything in the man page.
2013-05-06 16:19:02 +02:00
Ville Skyttä
d2bbca6855 Spelling fixes 2013-05-03 22:45:09 -04:00
Zbigniew Jędrzejewski-Szmek
20089f95e8 man: provide "permalinks" to sections and terms
So no one needs to say "go to fd.o/software/systemd/man, open page X,
then scroll down to section 3, and look for ..." anymore.
2013-05-03 20:25:57 -04:00
Lukas Nykryn
5d0c05e5f4 systemctl: add --plain option to list-dependencies
This patch adds more script-friendly output for list-dependencies.
2013-05-03 18:58:12 +02:00
Colin Guthrie
8621b1109b journal: Set the default keep free value to 15% (up from 5%)
As some SSDs are still seeing performance degredation when
reaching 85% usage the default value of 5% seems a little low.

Set this to 15% by default.
2013-05-03 17:46:44 +02:00
Zbigniew Jędrzejewski-Szmek
845c53246f man: add various filenames to the index
Everything which is an absolute filename marked with <filename></filename>
lands in the index, unless noindex= attribute is present. Should make
it easier for people to find stuff when they are looking at a file on
disk.

Various formatting errors in manpages are fixed, kernel-install(1) is
restored to formatting sanity.
2013-05-03 01:00:42 -04:00
Zbigniew Jędrzejewski-Szmek
7d617113ee man: link to socket activation blog entries 2013-05-02 23:35:45 -04:00
Nathaniel Chen
8368868452 Add help option to bootchart man page
Bootchart has a help option. For the sake of consistency, this patch
adds it to the man page.

Also, the TODO is updated. Bootcharts were added to the journal in
commit c4d58b0.
2013-05-02 09:21:23 -07:00
Zbigniew Jędrzejewski-Szmek
38158b920e cgls: add --machine/-M
cg_get_machine_path is modified to include the escaped machine name
+ ".nspawn" if the machine argument is nonnull.
2013-05-01 10:15:25 -04:00
Lennart Poettering
0df2d38abf man: improve documentation for specifiers 2013-04-30 08:36:02 -03:00
Lennart Poettering
00d1818bb7 man: we need to be more careful with the unit search paths we document
We generally document the suggested paths, not the paths possible in
weird, non-standard setups. We do this in order to not confuse
administrators/users unnecessarily and to push people to install things
into the same directories on all distributions.

We are PID 1 after all, the really basic building block of the OS.
Unlike for an app there's very little benefit in being entirely
relocatable.
2013-04-30 08:36:02 -03:00
Lennart Poettering
aa96c6cb44 id128: when taking user input for a 128bit ID, validate syntax
Also, always accept both our simple hexdump syntax and UUID syntax.
2013-04-30 08:36:01 -03:00
Zbigniew Jędrzejewski-Szmek
a827e37371 man: clarify what Restart= means
Related to https://bugzilla.redhat.com/show_bug.cgi?id=957135.
2013-04-29 19:52:30 -04:00
Harald Hoyer
bb150966c0 systemd-analyse: add "critical-chain" command
"critical-chain" prints a tree of the critical chain of units

$ ./systemd-analyze critical-chain
graphical.target @1.226s
└─multi-user.target @1.226s
  └─nfs-lock.service @961ms +265ms
    └─rpcbind.service @958ms +1ms
      └─network.target @957ms
        └─NetworkManager.service @434ms +522ms
          └─basic.target @428ms
            └─sockets.target @428ms
              └─dbus.socket @428ms
                └─sysinit.target @427ms
                  └─systemd-tmpfiles-setup.service @411ms +15ms
                    └─local-fs.target @410ms
                      └─boot-efi.automount @410ms
                        └─boot.mount @397ms +9ms
                          └─local-fs-pre.target @192ms
                            └─systemd-udevd.service @187ms +5ms
                              └─systemd-udevd-control.socket @140ms
                                └─-.mount

With the "--fuzz=<ms>" parameter one can display more units around
the critical units.

$ ./systemd-analyze --fuzz=10ms critical-chain
└─multi-user.target @1.226s
  └─nfs-lock.service @961ms +265ms
    ├─rpcbind.service @958ms +1ms
    │ └─network.target @957ms
    │   └─NetworkManager.service @434ms +522ms
    │     ├─basic.target @428ms
    │     │ ├─sockets.target @428ms
    │     │ │ ├─dbus.socket @428ms
    │     │ │ │ └─sysinit.target @427ms
    │     │ │ │   ├─systemd-tmpfiles-setup.service @411ms +15ms
    │     │ │ │   │ └─local-fs.target @410ms
    │     │ │ │   │   └─boot-efi.automount @410ms
    │     │ │ │   │     └─boot.mount @397ms +9ms
    │     │ │ │   │       └─local-fs-pre.target @192ms
    │     │ │ │   │         └─systemd-udevd.service @187ms +5ms
    │     │ │ │   │           ├─systemd-udevd-control.socket @140ms
    │     │ │ │   │           │ └─-.mount
    │     │ │ │   │           └─systemd-udevd-kernel.socket @140ms
    │     │ │ │   └─swap.target @421ms
    │     │ │ │     └─dev-disk-by\x2duuid-....swap @414ms +6ms
    │     │ │ │       └─systemd-journald.socket
    │     │ │ ├─rpcbind.socket @428ms
    │     │ │ └─cups.socket @428ms
    │     │ ├─paths.target @428ms
    │     │ │ └─cups.path @428ms
    │     │ ├─timers.target @427ms
    │     │ │ └─systemd-tmpfiles-clean.timer @427ms
    │     │ └─sysinit.target @427ms
    │     │   └─...
    │     └─dbus.socket @428ms
    │       └─...
    └─network.target @957ms
      └─...
2013-04-26 13:34:22 +02:00
Lennart Poettering
e10375f2c0 login: allow watching virtual machines with sd_get_machine_names() 2013-04-24 19:02:13 -03:00
Lennart Poettering
a20affe2f0 login: add new call sd_get_machine_names() to get a list of current virtual machines and containers 2013-04-24 19:02:13 -03:00
Zbigniew Jędrzejewski-Szmek
afba41995d systemctl: show reverse dependencies or before/after ordering
Also update completion scripts a bit.
2013-04-24 00:25:04 -04:00
Umut Tezduyar
195f8e3612 man: link systemd-tmpfiles-setup-dev.service 2013-04-23 12:55:44 +02:00
Lennart Poettering
cc400110ff man: document the new login class 'background' 2013-04-18 22:20:56 +02:00
Lennart Poettering
3dc8396ba9 man: document the new sd_journal_add_conjunction() call 2013-04-18 03:11:44 +02:00
Harald Hoyer
951657bd0a cryptsetup-generator: add support for rd.luks.key=
Also clarify rd.luks.uuid and luks.uuid in the manual.

https://bugzilla.redhat.com/show_bug.cgi?id=905683
2013-04-18 02:45:01 +02:00
Lennart Poettering
8b95c91638 man: document that timeout=0 is the default for entries in crypttab 2013-04-18 02:21:01 +02:00
Lennart Poettering
a5e4972c89 systemctl: drop usage of "internally loaded modules"
I wouldn't know what "internally" is supposed to mean hear, and we use
this terminology in this context nowhere else, so let's drop this.
2013-04-18 02:10:44 +02:00
Harald Hoyer
d2a514b838 Revert "man/systemd.xml: change the signal names to kill systemd"
This reverts commit 432c30d25f.

Suggestion was to fix bash instead. :-/
2013-04-17 14:58:08 +02:00
Harald Hoyer
432c30d25f man/systemd.xml: change the signal names to kill systemd
Using the signal name to put systemd in debug mode with bash results in:
 $ kill -s SIGRTMIN+22 1
 bash: kill: SIGRTMIN+22: invalid signal specification

whereas this works:
 $ kill -s SIGRTMAX-8 1

/usr/bin/kill understands both signal names, so just change them to the
bash names.
2013-04-17 09:44:59 +02:00
Harald Hoyer
87698625aa systemctl: clarify usage of "--all" versus list-unit-files
Novice users might think, that
 $ systemctl --all
is equal to
 $ systemctl list-unit-files

https://bugzilla.redhat.com/show_bug.cgi?id=748512
2013-04-17 09:23:09 +02:00
Harald Hoyer
b9e405246e journalctl: specify "--unit=" and "--user-unit" multiple times
Previously only one "--unit=" or "--user-unit" could be specified.
With this patch, journalcrtl can show multiple units.

$ journalctl -u systemd-udevd.service -u sshd.service -u crond.service -b
-- Logs begin at Sa 2013-03-23 11:08:45 CET, end at Fr 2013-04-12
09:10:22 CEST. --
Apr 12 08:41:37 lenovo systemd[1]: Started udev Kernel Device Manager.
Apr 12 08:41:37 lenovo systemd[1]: Stopped udev Kernel Device Manager.
Apr 12 08:41:38 lenovo systemd[1]: Started udev Kernel Device Manager.
Apr 12 08:41:38 lenovo crond[291]: (CRON) INFO (Syslog will be used
		instead of sendmail.)
Apr 12 08:41:38 lenovo crond[291]: (CRON) INFO (running with inotify
		support)
Apr 12 08:41:39 lenovo systemd[1]: Starting OpenSSH server daemon...
Apr 12 08:41:39 lenovo systemd[1]: Started OpenSSH server daemon.
Apr 12 08:41:39 lenovo sshd[355]: Server listening on 0.0.0.0 port 22.
Apr 12 08:41:39 lenovo sshd[355]: Server listening on :: port 22.
Apr 12 08:41:39 lenovo mtp-probe[373]: checking bus 1, device 8:
"/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5.6/1-1.5.6.2/1-1.5.6.2.1"
2013-04-17 09:15:23 +02:00
Zbigniew Jędrzejewski-Szmek
f03dc7c0c5 man: fix syntax in nsenter example
Apparently nsenter doesn't handle options concatenated together.
I'm pretty sure it worked at one point, but it seems like magic,
since each of those options can take arguments.
2013-04-17 00:09:16 -04:00
Zbigniew Jędrzejewski-Szmek
e7ecdfc15c sd-messages.h: add new bootchart message id 2013-04-17 00:09:16 -04:00
Lennart Poettering
7027ff61a3 nspawn: introduce the new /machine/ tree in the cgroup tree and move containers there
Containers will now carry a label (normally derived from the root
directory name, but configurable by the user), and the container's root
cgroup is /machine/<label>. This label is called "machine name", and can
cover both containers and VMs (as soon as libvirt also makes use of
/machine/).

libsystemd-login can be used to query the machine name from a process.

This patch also includes numerous clean-ups for the cgroup code.
2013-04-16 04:41:21 +02:00
Anatol Pomozov
ab06eef810 Fix spelling errors using 'codespell' tool 2013-04-15 08:40:05 -04:00
Lennart Poettering
97e1305817 sd-login: add a sd_pid_get_user_unit() call 2013-04-15 14:16:45 +02:00
Auke Kok
cfca24f3df readahead: document options and commands. 2013-04-14 12:54:54 -07:00
Zbigniew Jędrzejewski-Szmek
991f2a3932 systemctl: new verb 'list-sockets'
LISTEN           UNIT                            ACTIVATES
/dev/initctl     systemd-initctl.socket          systemd-initctl.service
/dev/log         systemd-journald.socket         systemd-journald.service
...
[::]:19531       systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
kobject-uevent 1 systemd-udevd-kernel.socket     systemd-udevd.service

17 sockets listed.
Pass --all to see loaded but inactive sockets, too.
2013-04-12 19:26:36 -04:00
Zbigniew Jędrzejewski-Szmek
20b3f379cf systemctl: allow multiple arguments to --type
This mirrors --property, and is generally useful.

New functionality is used in bash completion.

In case of zsh completion, new functionality is less useful
because of caching. Nevertheless, zsh completion for restart
is made to behave more-or-less the same as bash completion.
At least sockets can be restarted.
2013-04-11 19:11:52 -04:00
Lennart Poettering
8df31a9c98 units: fix some left-over mentions of remote-fs-setup.target 2013-04-09 19:05:49 +02:00
Lennart Poettering
816f25e86a analyze: various cleanups 2013-04-08 20:35:25 +02:00
Lennart Poettering
fbc15b7663 man: be clearer that it's not OK to manipulate systemd's own cgroup hirearchy 2013-04-08 20:35:25 +02:00
Łukasz Stelmach
e55933db18 systemd-analyze: filter dot output
Make "systemd-analyze dot" output only lines with units matching
given glob(7) patterns. Add --from-pattern and --to-pattern options.
Without any patterns all relationships are printed as before.

A relationship must match the follwing expression:

    (isempty(from) || from[0] || from[1] || .. || from[n]) &&
    (isempty(to) || to[0] || to[1] || .. || to[n]) &&
    (isempty(P) || P[0] || P[1] || ... || P[n])

where from[] and to[] are lists of patterns provided with subsequent
--from-pattern and --to-pattern respectively. P[] is a list of  additional
patterns provided after the "dot" subcommand.
2013-04-08 20:35:25 +02:00
Lennart Poettering
50cfc57928 localectl: add support for listing X11 keymap information 2013-04-05 00:23:23 +02:00
Lennart Poettering
39c155ea0d journal: add sd_journal_get_timeout() call to public API
Let's do the wake-up logic on NFS internally, making things simpler for
users.
2013-04-04 20:07:48 +02:00
Lennart Poettering
667c24a6a8 login: add sd_login_monitor_get_timeout() public api call
We don't need this right now, but we should keep our options open, in
case we need more than just an fd for waking up.
2013-04-04 18:31:22 +02:00
Lennart Poettering
dace83cbd0 login: add new public API call sd_login_monitor_get_events() to get poll() flags to wait for
We should keep our options open, so that we can watch for POLLOUT later
on if we wish to. CUrrently this call will always return POLLIN however.
2013-04-04 17:38:08 +02:00
Lennart Poettering
ee531d949c journal: add public API call sd_journal_get_events()
This function should be used when filling in "struct pollfd"'s .events
field for watching the journal. It will always return POLLIN for now,
but we should keep our options open to change this later on.

This mimics libsystemd-bus' sd_bus_get_events() call with the same
purpose.
2013-04-04 17:22:28 +02:00
Zbigniew Jędrzejewski-Szmek
2bfc1edad8 cgtop: add % as key to toggle time/percentage 2013-04-02 15:01:44 -04:00
Umut Tezduyar
1e913bcba3 cgtop: optionally show CPU usage as time and become stdout sensitive 2013-04-02 14:50:14 -04:00
Zbigniew Jędrzejewski-Szmek
1a13e31d27 build-sys,man: use XML entities to substite strings
This makes it easier to add substitutions to man pages,
avoiding the separate transformation step.

mkdir -p's are removed from the rule, because xsltproc will
will create directories on it's own.

All in all, two or three forks per man page are avoided,
which should make things marginally faster.

Unfortunately python parsers must too be tweaked to handle
entities. This isn't particularly easy: with lxml a custom
Resolver can be used, but the stdlib etree doesn't support
external entities *at all*. So when running without lxml,
the entities are just removed. Right now it doesn't matter,
since the entities are not indexed anyway. But I intend to
add indexing of filenames in the near future, and then the
index generated without lxml might be missing a few lines.
Oh well.
2013-03-29 20:30:21 -04:00
Zbigniew Jędrzejewski-Szmek
aa0bb9c2c4 Revert "build-sys: substitute strings in systemd.unit(5)"
This reverts commits c78ab91132
and 185c3be03c.

It is simpler to just use includes...
2013-03-29 20:30:21 -04:00
Zbigniew Jędrzejewski-Szmek
13cbf3a5f0 journalctl: support --root for message catalogs 2013-03-28 23:45:59 -04:00
Lennart Poettering
0c17fbce55 unit: replace remote-fs-setup.target by network-online.target
https://bugzilla.redhat.com/show_bug.cgi?id=787314
2013-03-29 03:07:17 +01:00
William Douglas
f0b647223d man/os-release: Add BUILD_ID field
BUILD_ID is a fairly generic field used to identify the system image
that was used to install the distribution.
2013-03-27 11:15:07 -07:00
Zbigniew Jędrzejewski-Szmek
3baed19327 Simplify the meaning of %s
The rules governing %s where just too complicated. First of
all, looking at $SHELL is dangerous. For systemd --system,
it usually wouldn't be set. But it could be set if the admin
first started a debug shell, let's say /sbin/sash, and then
launched systemd from it. This shouldn't influence how daemons
are started later on, so is better ignored. Similar reasoning
holds for session mode. Some shells set $SHELL, while other
set it only when it wasn't set previously (e.g. zsh). This
results in fragility that is better avoided by ignoring $SHELL
totally.

With $SHELL out of the way, simplify things by saying that
%s==/bin/sh for root, and the configured shell otherwise.
get_shell() is the only caller, so it can be inlined.

Fixes one issue seen with 'make check'.
2013-03-26 23:49:44 -04:00
Lennart Poettering
1183f9b225 man: network.target is also a passive target 2013-03-27 02:56:32 +01:00
Lennart Poettering
dfebfe67dd man: document that the passive units cannot be pulled in mnaully 2013-03-26 15:24:44 +01:00
Lennart Poettering
e06e62f4a1 man: properly document the system targets that are also available for the user instance 2013-03-25 22:33:08 +01:00
Lennart Poettering
54f874c56b man: rearrange systemd.special(7) to clarify which units are passive and which ones aren't
This also adds a short explanation paragraph for this.
2013-03-25 22:33:08 +01:00
Lennart Poettering
e8d2f6cde0 units: introduce remote-fs-setup.target to pull in dependencies from remote mounts
This introduces remote-fs-setup.target independently of
remote-fs-pre.target. The former is only for pulling things in, the
latter only for ordering.

The new semantics:

remote-fs-setup.target: is pulled in automatically by all remote mounts.
Shall be used to pull in other units that want to run when at least one
remote mount is set up. Is not ordered against the actual mount units,
in order to allow activation of its dependencies even 'a posteriori',
i.e. when a mount is established outside of systemd and is only picked
up by it.

remote-fs-pre.target: needs to be pulled in automatically by the
implementing service, is otherwise not part of the initial transaction.
This is ordered before all remote mount units.

A service that wants to be pulled in and run before all remote mounts
should hence have:

a) WantedBy=remote-fs-setup.target -- so that it is pulled in

b) Wants=remote-fs-pre.target + Before=remote-fs-pre.target -- so that
   it is ordered before the mount point, normally.
2013-03-25 22:04:40 +01:00
Lennart Poettering
e3d84721dc units: introduce new timers.target and paths.target to hook timer/path units into for boot 2013-03-25 21:28:30 +01:00
Oleksii Shevchuk
26687bf8a9 journal: Add sync timer to journal server
Add option to force journal sync with fsync. Default timeout is 5min.
Interval configured via SyncIntervalSec option at journal.conf. Synced
journal files will be marked as OFFLINE.

Manual sync can be performed via sending SIGUSR1.
2013-03-25 17:51:06 +01:00
Lennart Poettering
d91c34f21f exec: Assigning the empty string to CapabilityBoundSet= should drop all caps
Previously, it would set all caps, but it should drop them all, anything
else makes little sense.

Also, document that this works as it does, and what to do in order to
assign all caps to the bounding set.

https://bugzilla.redhat.com/show_bug.cgi?id=914705
2013-03-22 23:28:44 +01:00
Zbigniew Jędrzejewski-Szmek
72536eb736 man/shutdown: /etc/nologin is called /run/nologin now 2013-03-21 23:05:09 -04:00
Zbigniew Jędrzejewski-Szmek
50a279f857 systemd-python: export sd_journal_get_usage 2013-03-21 22:39:24 -04:00
Zbigniew Jędrzejewski-Szmek
4c42e8e161 man/service: document behaviour on failure
https://bugs.freedesktop.org/show_bug.cgi?id=38355
2013-03-19 22:15:01 -04:00
Zbigniew Jędrzejewski-Szmek
54b7254c1f journalct: beef up entry listing
The ability to dump catalog entries in full and by id is added.
2013-03-19 21:50:43 -04:00
Zbigniew Jędrzejewski-Szmek
0d1aaec228 man/catalog: fix synopsis and remind to free 2013-03-19 21:50:42 -04:00
Zbigniew Jędrzejewski-Szmek
8cb17a6dc8 sd-journal: do not require path to be absolute
Seems natural to be able to specify relative directory,
e.g. with journalctl -D. And even if, this should be checked
in front-end code, not in the library.
2013-03-18 19:49:33 -04:00
Kay Sievers
5a33334b8a udev: rename kernel command line option to net.ifnames= 2013-03-18 19:31:34 +01:00
Tom Gundersen
08cbc57e87 man: udev - clarify when RUN is executed
Unlike IMPORT and PROGRAM, RUN is not executed inline, but after all the rules of the given event have been processed.
2013-03-18 18:28:59 +01:00
Tom Gundersen
0cf2d0d023 udev: net-name-slot - disable by kernel command line switch
The properties will still be set in the udev database, but they will not be used
for setting the interface names. As for the other kernel commandline switches,
we allow it to be prefixed by 'rd.' to only apply in the initrd.
2013-03-18 18:28:59 +01:00
Tom Gundersen
6ec0ac43bb man: udev - move documentation of configuration file
Moved from udev(7) to systemd-udevd.service(8), where the rest of the
documentation of the configuration of the daemon lives.
2013-03-18 16:02:42 +01:00
Tom Gundersen
72c6cf8fa5 man: udev - document 'builtin'
The new IMPORT{builtin} and RUN{builtin} were not documented. Also make it clear
that RUN= is really an alias for RUN{program}=.
2013-03-18 14:55:59 +01:00
Kay Sievers
0a2cdb3aee man: bootup - intrd-fs.target --> initrd.target 2013-03-16 16:21:47 +01:00
Michal Sekletar
c17ec25e4d core: reuse the same /tmp, /var/tmp and inaccessible dir
All Execs within the service, will get mounted the same
/tmp and /var/tmp directories, if service is configured with
PrivateTmp=yes. Temporary directories are cleaned up by service
itself in addition to systemd-tmpfiles. Directory which is mounted
as inaccessible is created at runtime in /run/systemd.
2013-03-15 22:56:40 -04:00
Zbigniew Jędrzejewski-Szmek
df34f169b8 man: fix grammar 2013-03-15 22:55:24 -04:00
Zbigniew Jędrzejewski-Szmek
5e65c93a43 systemd-activate: pass environment variables through
I need this to test half-installed socket-activated python
script, which requires PYTHONPATH and LD_LIBRARY_PATH set.
I assume that other people might find it useful to.

-E VAR passes through VAR from the environment, while
-E VAR=value sets VAR=value.

systemd-activate -E PYTHONPATH=/var/tmp/inst1/usr/lib64/python3.3/site-packages -E LD_LIBRARY_PATH=/var/tmp/inst1/usr/lib -l 2000 python3 -c 'from systemd.daemon import listen_fds; print(listen_fds())'
2013-03-15 22:55:24 -04:00
Lennart Poettering
66e411811b sd-booted: update sd_booted() check a bit
Previously we were testing whether /sys/fs/cgroup/systemd/ was a mount
point. This might be problematic however, when the cgroup trees are bind
mounted into a container from the host (which should be absolutely
valid), which might create the impression that the container was running
systemd, but only the host actually is.

Replace this by a check for the existance of the directory
/run/systemd/system/, which should work unconditionally, since /run can
never be a bind mount but *must* be a tmpfs on systemd systems, which is
flushed at boots. This means that data in /run always reflects
information about the current boot, and only of the local container,
which makes it the perfect choice for a check like this.

(As side effect this is nice to Ubuntu people who now use logind with
the systemd cgroup hierarchy, where the old sd_booted() check misdetects
systemd, even though they still run legacy Upstart.)
2013-03-15 16:49:08 +01:00
Kay Sievers
d8a9ae897b man: bootup - "Systemd in the Initrd" -> "Initrd System Manager Bootup" 2013-03-15 12:34:50 +01:00
Harald Hoyer
9e5f0f9291 Make initrd.target the default target in the initrd
First, rename root-fs.target to initrd-root-fs.target to clarify its usage.

Mount units with "x-initrd-rootfs.mount" are now ordered before
initrd-root-fs.target. As we sometimes construct /sysroot mounts in
/etc/fstab in the initrd, we want these to be mounted before the
initrd-root-fs.target is active.

initrd.target can be the default target in the initrd.

                             (normal startup)
                                    :
                                    :
                                    v
                              basic.target
                                    |
             ______________________/|
            /                       |
            |                  sysroot.mount
            |                       |
            |                       v
            |             initrd-root-fs.target
            |                       |
            |                       v
            |            initrd-parse-etc.service
(custom initrd services)            |
            |                       v
            |            (sysroot-usr.mount and
            |             various mounts marked
            |               with fstab option
            |                x-initrd.mount)
            |                       |
            |                       v
            |                initrd-fs.target
            |                       |
            \______________________ |
                                   \|
                                    v
                               initrd.target
                                    |
                                    v
                          initrd-cleanup.service
                               isolates to
                         initrd-switch-root.target
                                    |
                                    v
             ______________________/|
            /                       |
            |        initrd-udevadm-cleanup-db.service
            |                       |
(custom initrd services)            |
            |                       |
            \______________________ |
                                   \|
                                    v
                        initrd-switch-root.target
                                    |
                                    v
                        initrd-switch-root.service
                                    |
                                    v
                               switch-root
2013-03-15 00:49:37 +01:00
Zbigniew Jędrzejewski-Szmek
7199aa96ce journalctl: show systemd messages about unit for -u
journalctl -u unit is not very useful, because it doesn't show
systemd messages about starting, stopping, coredumps, etc,
like systemctl status unit does. Make it show the same
information using the same rules.

If somebody really want to see just messages from by the unit,
it is easy enough to use _SYSTEMD_UNIT=...
2013-03-13 19:53:45 -04:00
Thomas Hindoe Paaboel Andersen
7d7681f70b man: fix some typos 2013-03-13 23:09:49 +01:00
Harald Hoyer
700e07ffd5 add initrd-fs.target and root-fs.target
Instead of using local-fs*.target in the initrd, use root-fs.target for
sysroot.mount and initrd-fs.target for /sysroot/usr and friends.

Using local-fs.target would mean to carry over the activated
local-fs.target to the isolated initrd-switch-root.target and thus in
the real root. Having local-fs.target already active after
deserialization causes ordering problems with the real root services and
targets.

We better isolate to targets for initrd-switch-root.target, which are
only available in the initrd.
2013-03-13 08:11:17 +01:00
Mathieu Bridon
3ae390ba02 man: Document the actual behaviour of ExecStopPost
The documentation makes it sound like ExecStopPost is only run when
stopping the service with `systemctl stop foo.service`

However, that is not the case, as it also gets run when the service
unexpectedly exists, crashes, or gets SIGKILLed.
2013-03-13 00:51:35 -04:00
Zbigniew Jędrzejewski-Szmek
702f64b93c man,html: say 'systemd 198' in the header
This should help readers of the man or HTML pages know if the documentation
is out of date. An alternative to use a date generated from 'git log' was
considered, but since we try to keep user visible documentation up to date,
showing the project version should be enough.
2013-03-12 23:57:46 -04:00
Zbigniew Jędrzejewski-Szmek
a0b8045be2 man: strip the comments in man page headers
They contained the date, which creates a problem with multiarch
packages, since the generated file would be different each time.
2013-03-12 23:57:46 -04:00
Lennart Poettering
fe59e38bef journalctl: imply -n1000 when -e is used
Make sure the pager does not have to buffer an unbounded number of log
messages, by default.
2013-03-07 21:49:12 +01:00
Zbigniew Jędrzejewski-Szmek
2cc8d9731a man/*.html: link to directives, python, guvev, libudev in headers
Since the HTML files are in different directories during build
and on fd.o, links are broken in the build directory. This could
be fixed by moving stuff around, or by modifying the files during
upload, but I think that people do not usually create HTML files
for local browsing, and this is not necessary.
2013-03-07 15:35:49 -05:00
Harald Hoyer
1b12a7b589 pager: introduce "jump to end" option
$ journalctl -be

is what you want :)

https://bugzilla.redhat.com/show_bug.cgi?id=867841
2013-03-07 21:16:04 +01:00
Zbigniew Jędrzejewski-Szmek
7ba9719595 TODO: python stuff and freeze and standby 2013-03-07 12:42:57 -05:00
Harald Hoyer
78da2cd926 bootchart: document -C, --cmdline parameter 2013-03-07 16:19:38 +01:00
Jan Janssen
7aa955af05 man: Unify title for configuration files 2013-03-07 16:06:29 +01:00
Jan Janssen
ed1553a20d man: Fix id attributes 2013-03-07 16:05:47 +01:00
Harald Hoyer
46e6e4f1e5 man/kernel-install.xml: fix paths to reflect actual behaviour 2013-03-07 09:28:33 +01:00
Zbigniew Jędrzejewski-Szmek
1d98d9a62c man: fix compilation of example 2013-03-07 00:45:56 -05:00
Lennart Poettering
a24c64f03f journald: introduce new "systemd-journal" group and make it own the journal files
Previously all journal files were owned by "adm". In order to allow
specific users to read the journal files without granting it access to
the full "adm" powers, introduce a new specific group for this.

"systemd-journal" has to be created by the packaging scripts manually at
installation time. It's a good idea to assign a static UID/GID to this
group, since /var/log/journal might be shared across machines via NFS.

This commit also grants read access to the journal files by default to
members of the "wheel" and "adm" groups via file system ACLs, since
these "almost-root" groups should be able to see what's going on on the
system. These ACLs are created by "make install". Packagers probably
need to duplicate this logic in their postinst scripts.

This also adds documentation how to grant access to the journal to
additional users or groups via fs ACLs.
2013-03-05 18:59:03 +01:00
Michael Biebl
d51167c626 build-sys: build and install systemd-coredumpctl conditionally
If coredump support is disabled via --disable-coredump, do not build and
install the systemd-coredumpctl binary and man page.
2013-03-04 23:23:06 +01:00
Zbigniew Jędrzejewski-Szmek
47c4903452 build-sys: do not install pam_systemd(8) without PAM 2013-03-04 13:16:38 -05:00
Zbigniew Jędrzejewski-Szmek
4fe5211923 build-sys: do not install logind manpages when disabled
The condition was wrong: HAVE_PAM -> ENABLE_LOGIND.
2013-03-04 13:06:43 -05:00
Zbigniew Jędrzejewski-Szmek
28a79bd28b core/path: catch errors when adding watches
Errors because of oom conditions or descriptor exhaustion should not
be ignored. We probably cannot recover from those conditions.

Current behaviour wrt. insufficient permissions is described in the
man page. It might make sense in case of user sessions, so I left
it as is.
2013-03-03 08:55:53 -05:00
Daniel Wallace
ffa7cd15cd journalctl: add --user-unit= switch
Add --user-unit= to make it possible to query for user logs by the name
of the service.
2013-03-01 14:39:04 +01:00
Lukas Nykryn
d89d6c86d9 journalctl: add --reverse option to show the newest lines first 2013-03-01 12:51:24 +01:00
Zbigniew Jędrzejewski-Szmek
37d3ab1b7e Merge branch 'python-systemd-reader'
* python-systemd-reader:
  python-systemd: rename Journal to Reader
  build-sys: upload python documentation to freedesktop.org
  systemd-python: add Journal class for reading journal
  python: build html docs using sphinx
  journalct: also print Python code in --new-id
  python: utilize uuid.UUID in logging
  python: add systemd.id128 module
  ... and 34 other commits

In short: python module systemd.id128 is added, and existing
systemd.journal gains a new class systemd.journal.Reader, which can be
used to iterate over journal entries. Documentation is provided, and
accessible under e.g.
    pydoc3 systemd.journal.Reader
or
    firefox http://www.freedesktop.org/software/systemd/man/python-systemd/
2013-02-28 20:05:12 -05:00
Lennart Poettering
54c31a79f7 man: clarify systemctl --property= documentation a bit 2013-02-28 19:55:48 +01:00
Zbigniew Jędrzejewski-Szmek
1446560f22 man: fix docbook in systemd-activate(8) 2013-02-27 22:38:26 -05:00
Zbigniew Jędrzejewski-Szmek
870c4365cf man: document systemd-nspawn behaviour with -b
Cf. cb96a2c69 and 1ddf879a.
2013-02-27 22:25:40 -05:00
Zbigniew Jędrzejewski-Szmek
2ca0435be9 systemd-activate: add a socket-activation test tool 2013-02-27 22:10:14 -05:00
Lennart Poettering
a330b376ba man: document the new systemctl cgroup commands 2013-02-27 19:37:04 +01:00
Lennart Poettering
3ae0c5e189 man: clarify how to configure default control group hierarchies for services and sessions 2013-02-27 15:00:26 +01:00
Lennart Poettering
17fe052346 nspawn: add --bind= and --bind-ro= to bind mount host paths into the container 2013-02-25 20:08:07 +01:00
Harald Hoyer
2d0614d3d3 kernel-install(8): add documentation about the configuration files used 2013-02-25 19:29:16 +01:00
Harald Hoyer
81516adcb7 kernel-install: add kernel-install tool 2013-02-25 18:58:06 +01:00
Michal Schmidt
1ddf879acf Revert "nspawn: catch config mistake of specifying -b and args"
This reverts commit cb96a2c69a.

It is not a mistake to pass args when -b is specified. They will simply
be passed on to the container's init.

The manpage needs fixing, that's true.
2013-02-25 18:39:16 +01:00
Zbigniew Jędrzejewski-Szmek
cb96a2c69a nspawn: catch config mistake of specifying -b and args 2013-02-24 14:11:11 +01:00
Zbigniew Jędrzejewski-Szmek
9015fa646e python: build html docs using sphinx
Build instructions:
   make
   make DESTIDIR=/tmp/... install
   make DESTIDIR=/tmp/... sphinx-html sphinx-man sphinx-epub ...
2013-02-22 16:57:43 +01:00
Michal Schmidt
b85bdddafb systemctl: make shutdown operations use irreversible jobs
Occasionally people report problem with reboot/poweroff operations hanging in
the middle. One known cause is when a new transaction to start a unit is
enqueued while the shutdown is going on. The start of the unit conflicts with
the shutdown jobs, so they get cancelled. The failure case can be quite unpleasant,
becase getty and sshd may already be stopped.

Fix it by using irreversible jobs for shutdown (reboot/poweroff/...) actions.
This applies to commands like "reboot", "telinit 6", "systemctl reboot". Should
someone desire to use reversible jobs, they can say "systemctl start reboot.target".`
2013-02-22 16:06:17 +01:00
Michal Schmidt
23ade460e5 core, systemctl: add support for irreversible jobs
Add a new job mode: replace-irreversibly. Jobs enqueued using this mode
cannot be implicitly canceled by later enqueued conflicting jobs.
They can however still be canceled with an explicit "systemctl cancel"
call.
2013-02-22 16:06:17 +01:00
Michal Schmidt
b7cf6049a3 systemctl: make "systemctl default" use "isolate" job mode
"systemctl default" should behave identically to "telinit N" (where N is the
corresponding runlevel target number), therefore it should use isolate job mode
too.
2013-02-22 16:06:17 +01:00
Max F. Albrecht
22382c3f57 man: be even more clear about ExecStart's first argument. 2013-02-20 13:49:57 -08:00
Zbigniew Jędrzejewski-Szmek
599391d88b man: document %% 2013-02-20 11:17:43 +01:00
William Giokas
1e447e0a3c man: Add reason for disk model info not working
In systemd-bootchart, the disk model information will not be found
unless the root device is specified using `root=/dev/sdxY` on the kernel
line. Just add a note as to why this doesn't happen.
2013-02-17 14:46:22 -08:00
Zbigniew Jędrzejewski-Szmek
033a842c36 systemctl: allow comma sepearted property lists 2013-02-16 17:36:00 -05:00
Zbigniew Jędrzejewski-Szmek
4a6022f01c man: prettify systemctl(1)
- reindent with two spaces, otherwise everything is squeezed near
  the right margin,
- mark only optional arguments as optional,
- some typos, etc.
2013-02-16 17:35:54 -05:00
Zbigniew Jędrzejewski-Szmek
6d26799179 bootchart: rename --filter to --no-filter
Turning off filtering with --filter is just too confusing.
Config option "Filter" doesn't have to be changed, here
"Filter=yes" already meant to filter.
2013-02-16 15:16:24 -05:00
Zbigniew Jędrzejewski-Szmek
f1c24fea94 man: move bootchart README to manpage, docbooksify 2013-02-16 15:10:40 -05:00
Zbigniew Jędrzejewski-Szmek
265a7a2a60 systemctl: allow status with no units
This makes 'status' behave like 'list-units':
systemctl status -> status of all units
systemctl -t error status -> status of error units
systemctl -t mount status -> etc.
2013-02-16 09:53:49 -05:00
William Giokas
e57b477183 man: Update bootchart.conf(5)
Recent changes in config options makes almost eveny variable in the man
page obsolete.
2013-02-14 16:18:46 -08:00
William Giokas
c3fec6715d man: Add even more to the bootchart man page
Essentially transfer the 'README' file in src/bootchart to the man page
for easier reading by users.

Moved the 'History' section to the bottom, before the 'See Also' section.

 man/systemd-bootchart.xml | 100 ++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 83 insertions(+), 17 deletions(-)
2013-02-14 12:20:46 -08:00
Zbigniew Jędrzejewski-Szmek
1fd961211d nspawn: print PID and show how to enter the namespace
systemd-nspawn will now print the PID of the child.
An example showing how to enter the container is added
to the man page.

Support for nsenter without an explicit command was
added in https://github.com/karelzak/util-linux/commit/5758069
(post v2.22.2). So this example requires both a new kernel
and the latest util-linux.
2013-02-14 10:40:45 -05:00
Zbigniew Jędrzejewski-Szmek
e670b166a0 man: use <replaceable> in various places 2013-02-13 23:09:00 -05:00
William Giokas
895aeb2779 man: bootchart: change /var/log to /run/log
As of [1], bootchart stores files in /run/log, not /var/log, by default.

[1] f2f85884ca
2013-02-13 15:26:55 -08:00
Simon Peeters
1700761b06 Move systemctl dot to systemd-analyze dot 2013-02-13 14:47:05 -08:00
Zbigniew Jędrzejewski-Szmek
5f9cfd4c38 man: rename systemd.conf to systemd-system.conf
Alias as systemd-user.conf is also provided. This should help
users running systemd in session mode.

https://bugzilla.redhat.com/show_bug.cgi?id=690868
2013-02-13 09:48:32 -05:00
William Giokas
a7f5bb1eaf man: Make options consistent
Option listings seemed to be pretty much random, some were short opt,
long opt, others were long opt, short opt. This just makes every option
with a short and long opt that I could find in the order short opt, long
opt, for formatting's sake.
2013-02-13 08:57:20 -05:00
William Giokas
5797606612 man: Write man page for systemd-bootchart(1)
Mostly coppied from bootchart.conf(5)
2013-02-13 08:57:15 -05:00
Lennart Poettering
3ef51b2ce8 man: typo fix 2013-02-13 04:57:36 +01:00
Lennart Poettering
fabe5c0e5f binfmt,tmpfiles,modules-load,sysctl: rework the various early-boot services that work on .d/ directories
This unifies much of the logic behind them:

- All four will now ofllow the rule that the earlier file and earlier
  assignment in the .d/ directories wins. Before, sysctl was the only
  outlier, where the later setting always won.

- All four now support getopt() and --help on the command line.

- All four can now handle specification of configuration file names on
  the command line to apply. The tools will automatically find them, and
  apply them. Previously only tmpfiles could do that. This is useful for
  %post scripts in RPMs and suchlike.

- This fixes various error path issues in conf_files_list()
2013-02-11 23:54:30 +01:00
Michael Biebl
89ca69941d man: typo fix in systemd.socket 2013-02-09 14:09:05 +01:00
Lennart Poettering
79cd774324 man: fix prototype of sd_get_uids() 2013-02-08 23:31:37 +01:00
Kay Sievers
3e49f2ecb5 udev: udevadm hwdb - add --root=
https://bugs.freedesktop.org/show_bug.cgi?id=60398
2013-02-08 12:00:05 +01:00