| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
machinectl: add verb edit and cat to operate on .nspawn files
|
| | |
|
| |
| |
| |
| |
| |
| | |
This allows operating on .nspawn files using machinectl.
Closes #26246
|
| |
| |
| |
| | |
fixes regression introduced by 4870133bfa
|
| |
| |
| |
| |
| |
| | |
Make sure /etc/udev/hwdb.d/ exists before creating a file inside it.
Fixes: 95cf8cae77f7 ("test: add coverage test for udevadm")
|
|\ \
| | |
| | | |
edit-util: follow-ups
|
| | | |
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Log an error when a rule line contains conflicting match expressions, e.g.
NAME=="value", NAME!="value"
Log a warning when a rule line contains duplicate expressions, e.g.
NAME=="value", NAME=="value"
|
| | |
|
|\ \
| | |
| | | |
Allow creating files and directories with chase_symlinks_open() and further improvements
|
| | |
| | |
| | |
| | |
| | | |
Let's turn some runtime errors into assertions and add a few new
assertions.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently, when CHASE_PARENT is specified, we chase the parent directory
of the symlink itself. Let's change this and chase the parent directory
of the symlink target so that trying to open the actual file later with
O_NOFOLLOW doesn't fail with ELOOP.
To get the current behavior, callers can add CHASE_NOFOLLOW to chase
the parent directory of the symlink itself.
Currently, when CHASE_MKDIR_0755 is specified, we create all components
of the path as directories. Instead, let's change the flag to only create
parent directories and leave the final component of the PATH untouched.
Also, allow CHASE_NONEXISTENT with CHASE_MKDIR_0755 now that it doesn't
create all components anymore.
Finally, rework chase_symlinks_and_open() and chase_symlinkat_at_and_open()
to always chase the parent directory and use xopenat() to open the final
component of the path. This allows us to pass O_CREAT to create the file or
directory (O_DIRECTORY) if it is missing. If CHASE_PARENT is configured, we
just reopen the parent directory that we chased.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
xopenat() will create directories if O_DIRECTORY and O_CREAT are
specified. Note that this is not an atomic operation.
|
| | | |
|
|\ \ \
| |_|/
|/| | |
fd-util: Add dir_fd_is_root()
|
| | | |
|
| |/ |
|
| | |
|
|\ \
| | |
| | | |
Fixes for test 58 repart
|
| | |
| | |
| | |
| | |
| | |
| | | |
Let image_install figures the binary paths out itself as not all distributions
ship the mkfs.* tools in the same location. For example openSUSE ships
mksquashfs in /usr/bin/.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Log message fix
|
| | | |
| | | |
| | | |
| | | |
| | | | |
We want an empty string, not NULL. I made some brainfart here.
Fixup for 1980a25dc03aa500d4ee2725d696f68d265cd4ca.
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
memfd: add support for exec flags
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Use the flags MEMFD_EXEC or MEMFD_NOEXEC_SEAL as applicable.
These warnings instruct the kernel wether the memfd is executable or
not.
Without specifying those flags the kernel will emit the following
warning since version 6.3,
commit 105ff5339f49 ("mm/memfd: add MFD_NOEXEC_SEAL and MFD_EXEC"):
kernel: memfd_create() without MFD_EXEC nor MFD_NOEXEC_SEAL, pid=1 'systemd'
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The wrapper removes the flags MFD_EXEC and MFD_NOEXEC_SEAL when running
on kernels not understanding those flags.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
core: append LogExtraFields= values to log_unit* messages
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This ensure messages from PID1 regarding a unit also contain those
fields. For example, portable services have PORTABLE=<image> as
extra fields, which is useful to identify which version of a portable
image produced a log message like an error or an oomd kill.
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
ProtectControlGroups=yes
The interface requires services to write to the cgroup file to activate notifications,
but with ProtectControlGroups=yes we make it read-only. Add a writable bind mount.
Follow-up for 6bb0084204bd93122c9f04391b80aea5a8a0ff08
|
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
directory
This avoids hard coding the path of the directory where the unit tests are
installed.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Now that we always create PE images with a non-zero image base we cannot
run into this issue anymore. Any tool that still uses the old hard-coded
section offsets will end up creating bad images with sections below the
image base. objcopy will warn about this and any PE loader will simply
refuse to load such an image. Meanwhile updated tools do not use
hard-coded offsets anymore.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Do not show xattrs and cgroup ids in cgls by default
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
-x is short for --xattrs=yes and
-c is short for --cgroup-id=yes.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Those are rather specialized bits of information, useful mostly for debugging.
I use cgls quite often but never had the need to use either of those…
But they take up a significant amount of screen real estate, esp. when
executed as root:
-.slice
├─user.slice (#1683)
│ → user.invocation_id: 74b0bd1258c5485eb969016384e0d06a
│ → trusted.invocation_id: 74b0bd1258c5485eb969016384e0d06a
│ └─user-1000.slice (#6488)
│ → user.invocation_id: b0261a14fe74490d9a9d5266c52cceb6
│ → trusted.invocation_id: b0261a14fe74490d9a9d5266c52cceb6
│ ├─user@1000.service … (#6590)
│ │ → user.invocation_id: 9e1fb54ad07940d8b92c33c81d169f11
│ │ → user.delegate: 1
│ │ → trusted.invocation_id: 9e1fb54ad07940d8b92c33c81d169f11
│ │ → trusted.delegate: 1
│ │ ├─session.slice (#6874)
...
Let's not show them by default, so we can show more cgroups.
(Also, on a terminal, we already highlight delegate units via underlining and
an ellipsis, so 'user.delegate:1' is redundant.)
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The variable after the bitfields has 8 byte alignment, so we weren't saving any
memory, but the code to serve the bitfields was more complicated.
|
| | |/ / /
| |/| | |
| | | | |
| | | | | |
This way the initial setup is nicely separated from the main loop logic.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Docs and dump output follow-up for the case of delegation with no controllers
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
https://github.com/systemd/systemd/commit/7b3693e4e4c9cae50fca65136278a62fae11327e#r103711181
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This case is a bit surprising, even if logical if one understands how the
parser works. Let's be more explicit.
Follow-up for 7b3693e4e4c9cae50fca65136278a62fae11327e.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The -quiet option for mksquashfs was added somewhat recently so to
support older versions, let's redirect stdout of mksquashfs to
/dev/null instead.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
systemctl: add --when for scheduled poweroff/halt/reboot/kexec support
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Ensure that systemctl reboot --when=show and --when=cancel will not result in ambiguities
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Pass an empty string or "cancel" will cancel the action.
Pass "show" will show the scheduled actions.
Replaces #17258
|