解压存档时如何解决此错误“tar:无法将所有权更改为 uid 1000,gid 1000:不允许操作”

Jac*_*ern 9 linux root tar ownership docker

尝试使用以下命令解压 docker 容器中的文件时:

tar -zvxf training.tar.gz -C data/multi30k
Run Code Online (Sandbox Code Playgroud)

我收到以下错误(train.de是 .tar 文件中的一个文件):

tar: train.de Cannot change ownership to uid 1000, gid 1000: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

但是文件在本地解压就好了。什么可能导致此错误?

Jac*_*ern 14

问题描述为here。当试图在 tar 认为它是 root 的上下文中解压缩时会出现这个问题。解决方案是添加标志--no-same-owner

tar -zvxf training.tar.gz -C data/multi30k --no-same-owner
Run Code Online (Sandbox Code Playgroud)