diff --git a/hack/preload-images/generate.go b/hack/preload-images/generate.go index 3d734b740f5b..14c3e182a94f 100644 --- a/hack/preload-images/generate.go +++ b/hack/preload-images/generate.go @@ -188,7 +188,7 @@ func createImageTarball(tarballFilename, containerRuntime string) error { dirs = append(dirs, "./lib/containers") } - args := []string{"exec", profile, "sudo", "tar", "-I", "lz4", "-C", "/var", "-cf", tarballFilename} + args := []string{"exec", profile, "sudo", "tar", "--xattrs", "--xattrs-include", "security.capability", "-I", "lz4", "-C", "/var", "-cf", tarballFilename} args = append(args, dirs...) cmd := exec.Command("docker", args...) cmd.Stdout = os.Stdout diff --git a/pkg/minikube/cruntime/containerd.go b/pkg/minikube/cruntime/containerd.go index fdbb28ae4336..7fcc7aa54d9b 100644 --- a/pkg/minikube/cruntime/containerd.go +++ b/pkg/minikube/cruntime/containerd.go @@ -548,7 +548,7 @@ func (r *Containerd) Preload(cc config.ClusterConfig) error { t = time.Now() // extract the tarball to /var in the VM - if rr, err := r.Runner.RunCmd(exec.Command("sudo", "tar", "-I", "lz4", "-C", "/var", "-xf", dest)); err != nil { + if rr, err := r.Runner.RunCmd(exec.Command("sudo", "tar", "--xattrs", "--xattrs-include", "security.capability", "-I", "lz4", "-C", "/var", "-xf", dest)); err != nil { return errors.Wrapf(err, "extracting tarball: %s", rr.Output()) } klog.Infof("Took %f seconds to extract the tarball", time.Since(t).Seconds()) diff --git a/pkg/minikube/cruntime/crio.go b/pkg/minikube/cruntime/crio.go index d23a14afe78b..1cbf119dcd36 100644 --- a/pkg/minikube/cruntime/crio.go +++ b/pkg/minikube/cruntime/crio.go @@ -445,7 +445,7 @@ func (r *CRIO) Preload(cc config.ClusterConfig) error { t = time.Now() // extract the tarball to /var in the VM - if rr, err := r.Runner.RunCmd(exec.Command("sudo", "tar", "-I", "lz4", "-C", "/var", "-xf", dest)); err != nil { + if rr, err := r.Runner.RunCmd(exec.Command("sudo", "tar", "--xattrs", "--xattrs-include", "security.capability", "-I", "lz4", "-C", "/var", "-xf", dest)); err != nil { return errors.Wrapf(err, "extracting tarball: %s", rr.Output()) } klog.Infof("Took %f seconds to extract the tarball", time.Since(t).Seconds()) diff --git a/pkg/minikube/cruntime/docker.go b/pkg/minikube/cruntime/docker.go index c4cbead6265d..befccb464b9c 100644 --- a/pkg/minikube/cruntime/docker.go +++ b/pkg/minikube/cruntime/docker.go @@ -635,7 +635,7 @@ func (r *Docker) Preload(cc config.ClusterConfig) error { klog.Infof("Took %f seconds to copy over tarball", time.Since(t).Seconds()) // extract the tarball to /var in the VM - if rr, err := r.Runner.RunCmd(exec.Command("sudo", "tar", "-I", "lz4", "-C", "/var", "-xf", dest)); err != nil { + if rr, err := r.Runner.RunCmd(exec.Command("sudo", "tar", "--xattrs", "--xattrs-include", "security.capability", "-I", "lz4", "-C", "/var", "-xf", dest)); err != nil { return errors.Wrapf(err, "extracting tarball: %s", rr.Output()) }