![使用 tar 保留元数据或编辑元数据](https://linux22.com/image/113577/%E4%BD%BF%E7%94%A8%20tar%20%E4%BF%9D%E7%95%99%E5%85%83%E6%95%B0%E6%8D%AE%E6%88%96%E7%BC%96%E8%BE%91%E5%85%83%E6%95%B0%E6%8D%AE.png)
我有一个压缩包。当然,这个 tarball 包含各种文件和目录。当我提取 tar 时,其中一些文件已经存在,而另一些则不存在。
我想知道的是:如何提取 tarball 以保持现有文件的元数据完整(所有权、组、读取、写入、执行等),无论谁执行命令以及原始目录布局是什么在焦油创建时?
到目前为止我发现的有这些:
--mode='555' --owner=owner --group=group
当我在创建 tarball 时使用这些标志时,它实际上确实相应地更改了 tar 中所有文件的元数据。但是我不知道如何为一小部分应该具有其他权限的文件更改它。
--no-overwrite-dir
据我了解,此标志在提取 tarball 时使用,并且应保留现有文件的元数据,但我没有得到预期的结果。