nixos-container: use systemd-run instead of nsenter
This is the first step for unprivileged nixos containers support. Fixes #30019. See also #18825, #57083, and #67130.
This commit is contained in:
parent
f096e5a46d
commit
7cb100b683
@ -9,7 +9,6 @@ use Getopt::Long qw(:config gnu_getopt);
|
||||
use Cwd 'abs_path';
|
||||
use Time::HiRes;
|
||||
|
||||
my $nsenter = "@utillinux@/bin/nsenter";
|
||||
my $su = "@su@";
|
||||
|
||||
# Ensure a consistent umask.
|
||||
@ -270,9 +269,10 @@ sub restartContainer {
|
||||
# Run a command in the container.
|
||||
sub runInContainer {
|
||||
my @args = @_;
|
||||
my $leader = getLeader;
|
||||
exec($nsenter, "-t", $leader, "-m", "-u", "-i", "-n", "-p", "--", @args);
|
||||
die "cannot run ‘nsenter’: $!\n";
|
||||
|
||||
exec("systemd-run", "--machine", $containerName, "--pty", "--quiet", "--", @args);
|
||||
|
||||
die "cannot run ‘systemd-run’: $!\n";
|
||||
}
|
||||
|
||||
# Remove a directory while recursively unmounting all mounted filesystems within
|
||||
|
Loading…
Reference in New Issue
Block a user