1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-05 15:21:37 +03:00
Commit Graph

862 Commits

Author SHA1 Message Date
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