Commit Graph
7654 Commits
Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek d329bae3e6 man: use more references 2023-03-08 15:32:59 +01:00
Zbigniew Jędrzejewski-Szmek 8c51e1520b man: add mention that libsystemd uses getenv()
See #26688: getenv() is not thread-safe, and could a possible source of
problems when a multi-threaded program calls setenv()/putenv()/unsetenv() in
parallel. It is not possible to avoid getenv() calls in general, since $PATH,
$LANG, $SHELL, $USER, $HOME, $TZ may need to be accessed at any time.
Add a warning to our docs so that people are aware of the issue.

Closes #26688. (Real fixes will need to be in glibc and gnome-shell or other
programs.)

The text is added to threads-aware.xml to be included in various places. By
including it in libsystemd-pkgconfig.xml, it is automatically added to all sd-*
pages. The text is also included explicitly in pages for a few other functions
which are call getenv().
2023-03-08 15:32:59 +01:00
Zbigniew Jędrzejewski-Szmek 81707069fc Merge pull request #26685 from yuwata/man-missing-services
man: mention two missing services
2023-03-08 09:35:03 +01:00
Luca Boccassi e079120505 Merge pull request #26706 from jengelh/master
doc: various orthographic fixes
2023-03-07 21:34:03 +00:00
Zbigniew Jędrzejewski-Szmek 695e39dd63 man: adjust description of CPUAccounting=
For any user on a semi-recent kernel, effectively this setting is pointless.
We should deprecate it once not needed anymore for the v1 hierarchy. For
now, adjust the description.
2023-03-07 16:22:13 +01:00
Zbigniew Jędrzejewski-Szmek dca031d229 man: add a note about session autogrouping
When cpu controller is disabled, thing would often still behave as if
it was. And since the cpu controller can be enabled "magically" e.g. by
starting user@1000, add a note for users to be careful. Autogrouping
is described well in the man page, incl. how to enable or disable it,
so it should be enough to refer to that.
2023-03-07 16:22:13 +01:00
Zbigniew Jędrzejewski-Szmek 396d298d6b man: tweak details in descriptions of pids and cpu configuration
For CPUWeight=: there is an important distinction between our default of
[not set], and the kernel default of "100". Let's not say that our default
is "100" because then 'systemctl show' output is hard to explain.

For task accounting, it's the kernel that does the accounting, not systemd.
2023-03-07 16:22:13 +01:00
Zbigniew Jędrzejewski-Szmek 253d0d591b man: describe how cgroup controllers are turned on
For a user, information which cgroup controllers are enabled based on
the unit configuration is rather important. Not only because it determines
what resource control is peformed by the kernel, but also because controllers
have a non-negligible cost, especially for deep nesting, and users may want
to *not* have controllers enabled.

Our documentation did its best to avoid the topic so far. This was partially
caused by the support for cgroup v1, which meant that any discussion of
controllers had to be conditional and messy. But v1 is deprecated on its way
out, so it should be fine to just describe what happens with v2.

The text is extended with a discussion of how controllers are enabled and
disabled, and an example, and for various settings that enable controllers
the relevant controller is now mentioned.
2023-03-07 16:22:13 +01:00
Zbigniew Jędrzejewski-Szmek 87291a26f5 man: explain route-only domains a bit more
The details discussion of how search and route-only domains work is in
systemd-resolved.service(8). But users are more likely to look at
resolved.conf(5), because that's where Domains= is described. So let's add a
reference to the other man page there, and also strengthen the text a bit. In
particular, in systemd-resolved.service(8) we say "route-only", which makes
the distinction with search domains clearer. Let's use the same in the other
man page too.

This is based on feedback from Lukáš Nykrýn that the man page is not clear
enough.
2023-03-07 16:22:13 +01:00
Jan Engelhardt 18fe76eba5 doc: correct wrong use "'s" contractions 2023-03-07 13:39:31 +01:00
Gerd Hoffmann 3d5f0bfe4e kernel-install: handle uki installs automatically
Detect image type using "bootctl kernel-identify $kernel",
store result in KERNEL_INSTALL_IMAGE_TYPE.

Extend layout autodetection to check the kernel image type
and pick layout=uki for UKIs.

Resolves: #25822
2023-03-07 08:14:46 +01:00
Gerd Hoffmann 642617f431 kernel-install: remove math slang from man page 2023-03-07 08:14:46 +01:00
Lennart Poettering 92828ba603 man: document /sbin/mount.ddi 2023-03-06 23:00:52 +01:00
Josef Miegl 417283c5c3 network: geneve: add InheritInnerProtocol flag 2023-03-06 20:58:30 +00:00
Yu Watanabe 25e12db5e4 Merge pull request #26650 from yuwata/udev-trigger
test: generate debugging logs for udevd after restart
2023-03-06 16:36:34 +09:00
Yu Watanabe 61ccf030ae man: mention systemd-growfs-root.service 2023-03-06 07:15:29 +09:00
Yu Watanabe 5e97505335 man: mention systemd-fsck-usr.service 2023-03-06 07:15:12 +09:00
Zbigniew Jędrzejewski-Szmek cfba58fe79 Merge pull request #26651 from yuwata/meson-cleanups
Several meson cleanups
2023-03-05 13:38:55 +01:00
Yu Watanabe 181d719542 man: add an example to (re-)apply new settings to a network interface
Closes #26601.
2023-03-04 20:07:56 +09:00
Yu Watanabe 9b7f499ff1 man: sync the default .link file in example 2023-03-04 14:35:01 +09:00
Yu Watanabe ff0a9199d4 man: fix doubled word 2023-03-03 23:13:23 +09:00
наб f8b7ff8493 man: fix typo (#26655) 2023-03-03 23:01:51 +09:00
Yu Watanabe d2ec38e2b2 meson: rename conflicting target names
The update-man-rules and update-dbus-docs targets are both declared in the
main meson.build and man/meson.build, so we cannot build the target with
'meson compile' command:
====
$ meson compile update-man-rules
INFO: autodetecting backend as ninja

ERROR: Can't invoke target `update-man-rules`: ambiguous name.Add target type and/or path:
- ./man/update-man-rules:custom
- ./update-man-rules:run
====
Let's rename the targets declared in man/meson.build.
2023-03-03 19:56:38 +09:00
Yu Watanabe 11fa81bf77 meson: add missing man rules for new sd-login functions
Follow-up for d71f5b1217,
c4ef14dc2a, and
d622fefc00.
2023-03-03 14:38:13 +09:00
Lennart Poettering a4b13ae1be doc: add document explaining memory pressure handling 2023-03-01 09:43:24 +01:00
Lennart Poettering 6bb0084204 pid1: add unit file settings to control memory pressure logic 2023-03-01 09:43:23 +01:00
Lennart Poettering bf1b9ae487 pam_systemd: process the two new capabilities user records fields in pam_systemd
And also: by default, for the systemd-user service and for local
sessions (i.e. those assigned to a seat): let's imply CAP_WAKE_SYSTEM
for them by default. Yes, let's pass one specific capability by default to local
unprivileged users.

The capability services exactly once purpose: to allow system wake-up
from suspend via alarm clocks, hence is relatively limited in focus. By
adding this tools such as GNOME's Alarm Clock app can simply allocate a
CLOCK_REALTIME_ALARM (or ask systemd --user to do this) timer and it
will wake up the system as necessary.

Note that systemd --user will not pass the ambient caps on by default,
so even with this change, individual services need to use
AmbientCapabilities= to pass this on to the individual programs.

Fixes: #17564 #21382
2023-02-28 21:42:29 +01:00
Lennart Poettering fada2c75a4 homectl: make the new caps field configurable via homectl 2023-02-28 21:42:29 +01:00
Antonio Alvarez Feijoo 835b781fc1 man: fix typo in systemd.generator 2023-02-28 15:37:29 +00:00
Yu Watanabe e6faa55878 Merge pull request #26578 from thkukuk/main
sd-login: add sd_uid_get_login_time interface #26574
2023-02-26 07:54:11 +09:00
Thorsten Kukuk 634c64a517 sd-login: document that result is in microseconds 2023-02-25 16:14:11 +01:00
Thorsten Kukuk d622fefc00 sd-login: add sd_uid_get_login_time interface #26574 2023-02-25 16:14:11 +01:00
Lennart Poettering aff131775b man: add two missing commands to synopsys 2023-02-24 17:11:57 +01:00
Lennart Poettering 0a75dca1cc Merge pull request #26579 from poettering/manager-env-clean-up
service manager env var clean-up fixes
2023-02-24 14:11:57 +01:00
Luca Boccassi 0e550cbc63 Merge pull request #26217 from bluca/dump_mem
Add D-Bus method and analyze command to dump malloc_info()
2023-02-24 10:31:21 +00:00
Lennart Poettering e7a2594219 man: document REMOTE_ADDR/REMOTE_PORT along with the other env vars 2023-02-24 10:23:53 +01:00
Yu Watanabe 9cddd36707 Merge pull request #26574 from YHNdnzj/sd-login-new-interface
sd-login: add two interfaces for retriving session info
2023-02-24 09:20:52 +09:00
Yu Watanabe c73676dcbb man,catalog: fix typo
Follow-up for #26448.
2023-02-24 08:52:42 +09:00
Lennart Poettering efb18b6ae7 man: link up sd_event_add_memory_pressure() more 2023-02-23 19:04:56 +00:00
Luca Boccassi f50535afad analyze: add 'malloc' verb to dump malloc_info()
Gets the memory state of the manager:

root@image:~# systemd-analyze malloc
<malloc version=1>
<heap nr=0>
<sizes>
  <size from=33 to=33 total=396 count=12/>
  <unsorted from=20385 to=20385 total=20385 count=1/>
</sizes>
<total type=fast count=0 size=0/>
<total type=rest count=14 size=36589/>
<system type=current size=1691648/>
<system type=max size=1839104/>
<aspace type=total size=1691648/>
<aspace type=mprotect size=1691648/>
</heap>
<total type=fast count=0 size=0/>
<total type=rest count=14 size=36589/>
<total type=mmap count=0 size=0/>
<system type=current size=1691648/>
<system type=max size=1839104/>
<aspace type=total size=1691648/>
<aspace type=mprotect size=1691648/>
</malloc>
2023-02-23 18:59:06 +00:00
Mike Yuan c4ef14dc2a sd-login: add sd_session_get_start_time 2023-02-24 02:12:36 +08:00
Mike Yuan d71f5b1217 sd-login: add sd_session_get_username 2023-02-24 02:12:08 +08:00
Daan De Meyer caeb2b616f Merge pull request #26258 from DaanDeMeyer/boot-smbios
stub: Read extra kernel command line items from SMBIOS
2023-02-23 15:59:18 +01:00
Daan De Meyer 717af0de46 stub: Read extra kernel command line items from SMBIOS
Let's read more kernel command line arguments from SMBIOS OEM string
io.systemd.stub.kernel-cmdline-extra. This allows adding debug kernel
command line arguments when booting in qemy without having to modify
the UKI.
2023-02-23 09:51:18 +01:00
Yu Watanabe c2da3bf237 core/namespace: mount new sysfs when new network namespace is requested
Even when a mount namespace is created, previously host's sysfs is used,
especially with RootDirectory= or RootImage=, thus service processes can
still access the properties of the network interfaces in the main network
namespace through sysfs.

This makes, sysfs is remounted with the new network namespace tag, except
when PrivateMounts= is explicitly disabled. Hence, the properties of the
network interfaces in the main network namespace cannot be accessed by
service processes through sysfs.

Fixes #26422.
2023-02-23 15:09:13 +09:00
Lennart Poettering 921330af40 Merge pull request #26448 from poettering/sd-event-mempress
sd-event: add memory pressure event source
2023-02-22 16:23:59 +01:00
Mike Yuan e774d3c9f1 systemctl: warn if units disabled in user scope are still enabled globally
Fixes #18271
2023-02-22 23:05:41 +09:00
Lennart Poettering f8a32e679e man: document the new sd_event_add_memory_pressure() API 2023-02-22 13:16:34 +01:00
Daan De Meyer b63bd125d4 copy: Support both inode exclusion and contents exclusion
In some cases, we want to exclude a directory's contents but not
the directory itself. In other cases, we want to exclude a directory
and its contents. Let's extend the denylist logic in copy.h to support
both by changing the denylist from a set to hashmap so we can store the
deny type as the value.

We also modify the repart ExcludeFiles= option to make use of this. If
a directory to exclude ends with a "/", we'll only exclude its contents.
Otherwise, we'll exclude the full directory.
2023-02-22 12:44:36 +01:00
Yu Watanabe 60c5bd7759 tree-wide: fix typo 2023-02-22 14:46:19 +09:00