在Mac上的Docker内部,对具有符号链接的tarball执行`tar -zxvf`失败(tar: Cannot utime: No such file or directory)。

3

我正在Docker-On-Mac上的Alpine Linux容器内进行构建。 在tarball中有一个指向本地文件的符号链接(README -> README.md),解压时失败了:

tar: tarname.tar.gz/README: Cannot utime: No such file or directory

两个有趣的事实:

  1. 在Linux上运行(Docker-on-Ubuntu运行Alpine)时,它可以完美地工作。
  2. 当运行两次时,它成功了,因为README.md已经存在于部分创建的目录中。

不幸的是,在(2)中,它正在作为构建程序(Alpine的abuild)的一部分进行解压缩,因此我不能只运行两次tar命令。

有什么想法吗?


这可能是Docker-On-Mac的一个bug。关于getcwd也有类似的问题:https://github.com/docker/for-mac/issues/1509,但似乎是稍微不同的情况。考虑为Docker-On-Mac提出一个问题。 - valiano
1个回答

0

tar 尝试获取“文件修改时间”,但对于某些文件失败。由于我不知道存档的内容,因此无法说明原因。

但是您可以通过使用 -m 或称为 --touch 标志来规避此问题,该标志使 tar 忽略/不查询修改时间:

tar -m -xzvf tarname.tar.gz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接