1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-07 17:17:44 +03:00
Commit Graph

41241 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
2798430e00 machined: only Unref units that we AddRef'd
b92d0b4c5a added AddRef to the StartTransientUnit
call in machine_start_scope()/manager_start_scope() and a corresponding Unref
call in machine_stop_scope(). But when we are running systemd-nspawn@ with
--keep unit, the unit is not created by machined so the AddRef never happens.
Then when trying to stop the unit, we'd get:

systemd-machined[1101]: Sent message type=method_call sender=n/a destination=org.freedesktop.systemd1 path=/org/freedesktop/systemd1 interface=org.freedesktop.systemd1.Manager member=UnrefUnit cookie=37 reply_cookie=0 signature=s error-name=n/a error-message=n/a
systemd-machined[1101]: Got message type=error sender=:1.1 destination=:1.13 path=n/a interface=n/a member=n/a cookie=2443 reply_cookie=37 signature=s error-name=org.freedesktop.systemd1.NotReferenced error-message=Unit has not been referenced yet.
systemd-machined[1101]: Failed to drop reference to machine scope, ignoring: Unit has not been referenced yet.
2019-10-29 10:54:45 +01:00
Zbigniew Jędrzejewski-Szmek
62a3fc6d27 shared/logs-show: strip trailing carriage returns at EOL/EOF
When showing logs from a container, we would fail to show various lines:
Oct 29 09:50:51 krowka systemd-nspawn[61376]: Detected architecture x86-64.
Oct 29 09:50:51 krowka systemd-nspawn[61376]: [1B blob data]
Oct 29 09:50:51 krowka systemd-nspawn[61376]: Welcome to Fedora 32 (Rawhide)!
Oct 29 09:50:51 krowka systemd-nspawn[61376]: [1B blob data]

Those are only harmless \r characters that trail the line. We already replace
tabs and strip various ansi characters that we deem inconsequential, so let's
also strip trailing carriage returns. Non-trailing ones are different, because
they change what would be displayed.
2019-10-29 10:54:45 +01:00
Zbigniew Jędrzejewski-Szmek
0bb0a9faa7 nspawn: when stopping the machine, just deregister the machine
We already shut the machine down ourselves (and pid1 will also do
cleanup for us after we exit if anything was left behind). No need for
systemd-machined to try to stop the unit too.

(This calls the new machined method. If we are running against an older
machined, we will not deregister the machine. If we are simply exiting,
machined should notice that the unit is gone on its own. If we are restarting,
we will fail to register the machine after restart and fail. But this case
was already broken, because machined would create a stop job, breaking the
restart. So not doing anything with old machined should not make anything
more broken than it already is.)

Fixes #13766.
2019-10-29 10:54:45 +01:00
Zbigniew Jędrzejewski-Szmek
ef8ff92e8a machined: add UnregisterMachine method
This is the opposite of RegisterMachine: machined knows that the machine is
"gone", but doesn't do anything on its own. We already had TerminateMachine,
but that would stop the unit, which isn't always wanted.
2019-10-29 10:54:45 +01:00
Zbigniew Jędrzejewski-Szmek
ebc57b89c6 pid1: log the reason why restart will or will not happen
I was trying to figure out why the restart was not happening, and it wasn't
at all obvious. Let's add a nice debug message.
2019-10-29 10:54:45 +01:00
Philip Withnall
adc09af234 pam_systemd: Forward systemd.runtime_max_sec setting to session scope
Allow earlier PAM modules to set `systemd.runtime_max_sec`. If they do,
parse it and set it as the `RuntimeMaxUSec=` property of the session
scope, to limit the maximum lifetime of the session. This could be
useful for time-limiting login sessions, for example.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Fixes: #12035
2019-10-28 09:44:31 +01:00
Philip Withnall
9ed7de605d scope: Support RuntimeMaxSec= directive in scope units
Just as `RuntimeMaxSec=` is supported for service units, add support for
it to scope units. This will gracefully kill a scope after the timeout
expires from the moment the scope enters the running state.

This could be used for time-limited login sessions, for example.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Fixes: #12035
2019-10-28 09:44:31 +01:00
Philip Withnall
7508f7f273 scope: Refactor timer handling on coldplug
Factor it out into a helper function which is a bit easier to expand in
future. This introduces no functional changes.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2019-07-29 12:13:52 +01:00
Philip Withnall
5a70a68fd6 shared: Factor out bus_append_scope_property() for scopes
This introduces no functional changes, but will make some upcoming
changes a little clearer.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2019-07-29 12:13:52 +01:00
Philip Withnall
ef71cc7787 dbus-scope: Factor out common UNIT(s) cast
This introduces no functional changes.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2019-07-29 12:13:51 +01:00
Zach Smith
88bc86fcf8 systemd-sleep: use swaps in priority order
In situations where hibernation is requested but resume= and
resume_offset= kernel parameters are not configured, systemd
will attempt to locate a suitable swap location by inspecting
/proc/swaps. This change will use the first suitable swap with
the highest configured priority.
2019-07-29 12:59:17 +02:00
Lennart Poettering
a18a3aacd3 more 243 news 2019-07-29 11:03:08 +02:00
Lennart Poettering
77ce88c128 man: document the kernel command line options to use when logging to kmsg
Prompted by:

https://lists.freedesktop.org/archives/systemd-devel/2019-July/043149.html
2019-07-29 09:59:18 +02:00
Clinton Roy
08b5953997 news corrections and improvements (#13200)
* missing whitespace.

* NEWS: some small fixes (?) and improvements (???).

* a number of small corrections and (hopefully) improvements
2019-07-29 09:35:25 +02:00
Zbigniew Jędrzejewski-Szmek
30788b485d
Merge pull request #13203 from yuwata/update-ja-po
po: include network1.policy and update ja.po
2019-07-29 09:31:07 +02:00
Piotr Drąg
1010f3092f catalog: update Polish translation 2019-07-29 09:30:24 +02:00
Network Silence
07c5bee749 Update Touchpad for g6 2019-07-29 09:28:22 +02:00
Yu Watanabe
04dc6a4cac po: update ja.po 2019-07-28 22:23:22 +09:00
Yu Watanabe
3829273b35 po: include network1.policy in the list for generating .pot file 2019-07-28 22:23:13 +09:00
Zbigniew Jędrzejewski-Szmek
eeba9cc3d7
Merge pull request #13120 from keszybz/journal-min-use
Increase journald min_use value
2019-07-27 21:00:38 +02:00
Thomas Haller
6fd79cca68 errno-util: return const string from strerror_safe()
C's strerror() function does not return a "const char *" pointer
for the string. That has historic reasons and C99 even comments
that "[t]he array pointed to shall not be modified by the program".

Make the strerror_safe() wrapper correct this and be more strict
in this regard.
2019-07-26 18:42:49 +02:00
Lennart Poettering
17f8fd9cf7
Merge pull request #13194 from keszybz/chase-symlinks-testing
Chase symlinks testing
2019-07-26 18:42:31 +02:00
Lennart Poettering
2a2f3e7f3e
Merge pull request #13195 from keszybz/minor-rewordings
Minor rewordings
2019-07-26 18:42:16 +02:00
Zbigniew Jędrzejewski-Szmek
6aae0b1af4 journald: lower keep_free to 5% and raise min_use to 2%
https://bugzilla.redhat.com/show_bug.cgi?id=1715699

> /dev/mapper/live-rw  6.4G  5.7G  648M  91% /
> systemd-journald[905]: Fixed min_use=1.0M max_use=648.7M max_size=81.0M min_size=512.0K keep_free=973.1M n_max_files=100

When journald is started, we pick keep_free as 15% of the disk size. When the
fs is almost filled, we will only keep one journal file around and rotate very
often (because min_size is very small).

Let's set min use to something reasonable, so that we get more useful logs that
will cover at least the full boot.

Some cases considered in the PR:

> /dev/mapper/live-rw 6.4G 5.7G 648M 91% /

keep_free→MIN(327,100)→100 MB.
min_use→16MB.
effective range: 16 MB – 548 MB

> /dev/mapper/fedora_krowka-root 78G 69G 5.7G 93% /

keep_free → MIN(4GB, 100MB)→100MB
min_use→16MB
effective range: 16 MB – 5.6 GB
(but then there's the max_use limit, which cuts the range down)

> 4TB, 4GB free

keep_free → MIN(209715, 100) → 100 MB
min_use→16MB
effective range: 16 MB – 4.9 GB
(also effectively limited by max_use)

Also replace unneeded width suffixes with spaces, I think this is more
readable, and drop DEFAULT_ prefixes in cases where this setting is
simply a bound, and cannot be overridden by user config, hence is not
a default.
2019-07-26 16:45:49 +02:00
Zbigniew Jędrzejewski-Szmek
22f62b1274 fs-util: CHASE_NOFOLLOW is not limited to CHASE_OPEN
$ build/test-chase-symlinks /etc/os-release
/etc/os-release → /usr/lib/os-release

$ build/test-chase-symlinks --nofollow /etc/os-release /etc/../etc/os-release /etc/../etc/./././os-release
/etc/os-release → /etc/os-release
/etc/../etc/os-release → /etc/os-release
/etc/../etc/./././os-release → /etc/os-release
2019-07-26 15:29:11 +02:00
Zbigniew Jędrzejewski-Szmek
4b486ee8b1 test-chase-symlinks: manual test to call chase_symlinks()
v2:
- print --help to stdout, use size_t
2019-07-26 15:28:58 +02:00
Zbigniew Jędrzejewski-Szmek
a4d208018c bootctl: log message tweaks
Follow-up for e44c3229f2.
2019-07-26 15:05:18 +02:00
Zbigniew Jędrzejewski-Szmek
1774d03fb2 man: reword description of "-" for sysctl.d
Follow-up for e08be64937.
2019-07-26 15:01:36 +02:00
Zbigniew Jędrzejewski-Szmek
6304fec37c
Merge pull request #13191 from poettering/sysctl-no-fail
allow sysctl assignments to fail
2019-07-26 14:57:56 +02:00
Zbigniew Jędrzejewski-Szmek
47685d9d4b
Merge pull request #13137 from poettering/efi-random
beef up random seed logic, add boot loader entropy privisioning, improve docs about it
2019-07-26 12:43:32 +02:00
Lennart Poettering
608807c163
Merge pull request #13186 from keszybz/tmpfiles-postponement
Create less stuff when systemd-tmpfiles --create is executed (during installation or otherwise)
2019-07-26 09:41:00 +02:00
Lennart Poettering
8deeef94e7
Merge pull request #13188 from yuwata/news-igmp-version
network: rename `IGMPVersion=` to `MulticastIGMPVersion=`
2019-07-26 09:40:21 +02:00
Yu Watanabe
13cb62af22 NEWS: mention SpeedMeter= 2019-07-26 09:38:20 +02:00
Lennart Poettering
b64c47c038 NEWS: mention the new sysctl.d/ - prefix 2019-07-26 09:28:43 +02:00
Lennart Poettering
000500c9d6 sysctl: prefix ping port range setting with a dash
Fixes: #13177
2019-07-26 09:26:07 +02:00
Lennart Poettering
0338934f4b Revert "Revert "sysctl: Enable ping(8) inside rootless Podman containers""
This reverts commit be74f51605.

Let's add this again. With the new sysctl "-" thing we can make this
work.
2019-07-26 09:25:09 +02:00
Lennart Poettering
e08be64937 man: document the new sysctl.d/ - prefix 2019-07-26 09:24:47 +02:00
Lennart Poettering
dec02d6e19 sysctl: if options are prefixed with "-" ignore write errors 2019-07-26 09:24:47 +02:00
Lennart Poettering
2de30233f7 sysctl: reset 'r' only where needed 2019-07-26 09:24:47 +02:00
Lennart Poettering
8a65188437 sysctl: switch to log_syntax()
With @keszybz' recent work this will give us clickable links in the
journalctl output.
2019-07-26 09:24:47 +02:00
Evgeny Vereshchagin
be74f51605 Revert "sysctl: Enable ping(8) inside rootless Podman containers"
This reverts commit 90ce7627df.

See https://github.com/systemd/systemd/issues/13177#issuecomment-514931461
2019-07-26 06:56:58 +00:00
Yu Watanabe
9f0d45e402 NEWS: mention Bridge.MulticastIGMPVersion= 2019-07-26 11:01:28 +09:00
Yu Watanabe
b738530b04 network: slightly update log message 2019-07-26 11:00:56 +09:00
Yu Watanabe
e8489008cb network: rename IGMPVersion= -> MulticastIGMPVersion= 2019-07-26 11:00:56 +09:00
Zbigniew Jędrzejewski-Szmek
0a71e31c33 sd-boot: silence one warning about pointer cast
It doesn't matter either way. Fixes #13174.
2019-07-26 10:37:56 +09:00
Lennart Poettering
f293fc5147 update TODO 2019-07-25 19:25:50 +02:00
Zbigniew Jędrzejewski-Szmek
9ba77b9949 tmpfiles: copy files to /etc only on boot
We'd copy /etc/nsswitch.conf, /etc/pam.d/, and /etc/issue (*) on every
tmpfiles --create run. I think we should only do this at boot, so if
people install systemd.rpm in a larger transaction and want to create those
files at a later step, we don't interfere with that.

(Stuff like /etc/os-release and /etc/mtab is not really configurable,
we might as was create it uncondtionally.)

(Seemingly, the alternative approach might be to not call
systemd-tmpfiles --create in systemd.rpm %post. But this wouldn't have much
effect, because various packages call it anyway, and our
%tmpfiles_create_package macro does too.  So we need to change the
configuration instead.)

(*) We don't provide /usr/share/factory/issue, so normally this fails, but
somebody else might provide that file, so it seems useful to keep the
C line.
2019-07-25 19:13:41 +02:00
Zbigniew Jędrzejewski-Szmek
09bef967d9 tmpfiles: stop creating /etc/localtime symlink
If the symlink is not present, UTC is the default. There *is* a slight
advantage to it: humans might expect it to be present and look in /etc.
But it might interfere with post-install scripts and it doesn't serve
any technical purpose. Let's not create it. Fixes #13183.
2019-07-25 19:12:02 +02:00
Lennart Poettering
312dc1539e update TODO 2019-07-25 18:31:20 +02:00
Lennart Poettering
341fd87c83 TODO: remove apparently fixed issue from TODO 2019-07-25 18:31:20 +02:00