| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
"set up" and "look up" are the verbs, "setup" and "lookup" are the nouns.
|
|
|
|
| |
Fixes CID#1415122.
|
|
|
|
|
| |
Also, start logging about mount errors, things are hard to debug
otherwise.
|
|\
| |
| | |
introduce GPT partition types for /var and /var/tmp and support them for auto-discovery
|
| |
| |
| |
| |
| |
| |
| |
| | |
This was previously available here:
https://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/
Let's pull it into our repository.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This has been requested many times before. Let's add it finally.
GPT auto-discovery for /var is a bit more complex than for other
partition types: the other partitions can to some degree be shared
between multiple OS installations on the same disk (think: swap, /home,
/srv). However, /var is inherently something bound to an installation,
i.e. specific to its identity, or actually *is* its identity, and hence
something that cannot be shared.
To deal with this this new code is particularly careful when it comes to
/var: it will not mount things blindly, but insist that the UUID of the
partition matches a hashed version of the machine-id of the
installation, so that each installation has a very specific /var
associated with it, and would never use any other. (We actually use
HMAC-SHA256 on the GPT partition type for /var, keyed by the machine-id,
since machine-id is something we want to keep somewhat private).
Setting the right UUID for installations takes extra care. To make
things a bit simpler to set up, we avoid this safety check for nspawn
and RootImage= in unit files, under the assumption that such container
and service images unlikely will have multiple installations on them.
The check is hence only required when booting full machines, i.e. in
in systemd-gpt-auto-generator.
To help with putting together images for full machines, PR #14368
introduces a repartition tool that can automatically fill in correctly
calculated UUIDs on first boot if images have the var partition UUID
initialized to all zeroes. With that in place systems can be put
together in a way that on first boot the machine ID is determined and
the partition table automatically adjusted to have the /var partition
with the right UUID.
|
|\ \
| | |
| | | |
Resolve alternative names
|
| | |
| | |
| | |
| | | |
To keep the names manageable, "ifname_or_ifindex" is replaced by "interface".
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We don't need a seperate output parameter that is of type int. glibc() says
that the type is "unsigned", but the kernel thinks it's "int". And the
"alternative names" interface also uses ints. So let's standarize on ints,
since it's clearly not realisitic to have interface numbers in the upper half
of unsigned int range.
|
|/ / |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
nspawn: move virtual interfaces added with --network-interface back to the host
|
| | | |
|
| |/ |
|
|/
|
|
|
|
|
|
| |
This commit lowers the chance of having veth name conflicts for machines
created with similar names.
Replaces: #12865
Fixes: #13417
|
|
|
|
|
|
| |
To support ProtectHome=y in a user namespace (which mounts the inaccessible
nodes), the nodes need to be accessible by the user. Create these paths and
devices in the user runtime directory so they can be used later if needed.
|
|\
| |
| | |
json bits from homed PR
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
This will call json_variant_sensitive() internally while parsing for
each allocated sub-variant. This is better than calling it a posteriori
at the end, because partially parsed variants will always be properly
erased from memory this way.
|
| |
| |
| |
| |
| |
| |
| | |
This makes --overlay=+/foobar::/foobar work again, i.e. where the middle
parameter is left out. According to the documentation this is supposed
to generate a temporary writable work place in the midle. But it
apparently never did. Weird.
|
|\ \
| | |
| | | |
nspawn: Enable specifying root as the mount target directory.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Fixes #3847.
|
| | |
| | |
| | |
| | | |
Fixes: #14289
|
| | | |
|
|/ / |
|
|\ \
| | |
| | | |
nspawn: do not fail if udev is not running
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
If /sys is read only filesystem, e.g., nspawn is running in container,
then usually udev is not running. In such a case, let's assume that
the interface is already initialized. Also, this makes nspawn refuse
to use the network interface which is under renaming.
Fixes #14223.
|
|/
|
|
| |
This way callers can choose if they want partition scanning or not.
|
|
|
|
|
| |
Just like --capability=all is allowed in the systemd-nspawn
command line.
|
|
|
|
| |
We do so in most tools now, do so here, too.
|
|
|
|
|
|
|
| |
Without out at least a debug log line it is hard to figure out when something
goes wrong.
Reduce scope of a variable while at it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The commit:
a3fc6b55ac nspawn: mask out CAP_NET_ADMIN again if settings file turns off private networking
turned off the CAP_NET_ADMIN capability whenever no private networking
feature was enabled. This broke configurations where the CAP_NET_ADMIN
capability was explicitly requested in the configuration.
Changing the order of evalution here to allow the Capability= setting
to overrule this implicit setting:
Order of evaluation:
1. if no private network setting is enabled, CAP_NET_ADMIN is removed
2. if a private network setting is enabled, CAP_NET_ADMIN is added
3. the settings of Capability= are added
4. the settings of DropCapability= are removed
This allows the fix for #11755 to be retained and to still allow the
admin to specify CAP_NET_ADMIN as additional capability.
Fixes: a3fc6b55acd3f37e50915304d87bed100efa9d9d
Fixes: #13995
|
|
|
|
|
|
|
|
|
|
|
|
| |
Initially I thought this is a good idea, but when reviewing a different PR
(https://github.com/systemd/systemd/pull/13862#discussion_r340604313) I changed
my mind about this. At some point we probably should start warning about the
old option name, and yet later remove it. But it'll make it easier for people
to transition to the new option name if there's a period of support for both
names without any fuss. There's nothing particularly wrong about the old name,
and there is no support cost.
Fixes #13919 (by avoiding the issue completely).
|
|
|
|
|
|
| |
Inspired by https://bugzilla.redhat.com/show_bug.cgi?id=1769299.
This change doesn't solve the issue, but makes it easier to whitelist the
syscall group.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|