tar 不保留用户

Jon*_*röm 23 users tar

我想压缩一些用于 http 分发的文件,但发现.tar.gz保留用户名和用户 ID 并且似乎没有任何方法可以不这样做?(--numeric-ownertar有一个选项,它似乎忽略用户名,但仍保留用户 ID。)

这是否意味着.tar.gz对于文件分发来说这是一个糟糕的选择,因为我的系统可能是唯一一个拥有我的用户 ID 和用户名的系统?是否.7z有更好的文件分发格式,或者您有其他建议吗?

小智 24

通常 .tar.gz 是一种可用的文件分发格式。GNU tar 允许您在将文件添加到存档时用其他值替换所有者、组和权限。

$ tar -c -f archive.tar --owner=0 --group=0 .
Run Code Online (Sandbox Code Playgroud)

https://www.gnu.org/software/tar/manual/html_section/tar_33.html#SEC69

如果您的 tar 版本不支持 GNU 选项,您可以在创建用于分发的 tar.gz 文件之前,将源文件复制到另一个目录树并更新那里的组和所有权。

  • 那么设置root用户ID是人们通常做的事情吗? (5认同)

Oth*_*eus 6

使用 GNU,您可以使用--numeric-ownertar 来防止存储您的用户名。或者,您可以使用--owner=ID. 提取时,这些用户 ID 将被删除,除非提取者是 root 用户。

用于捆绑文件的常用方法cpio是通常与--no-preserve-owner选项一起使用。这就是rpm文件的构建方式。

但是带有用户 ID 的 tar 很少成为问题。如果您想成为偏执狂,您可以使用专用帐户进行最终捆绑。


der*_*ert 6

您正在寻找类似tar --owner=0 --group=0设置root/拥有的所有内容的东西root