Tar 将我的用户名编码到 tarball 中。我可以强迫它制作一个完全匿名的 tarball 吗?
--owner root
仅替换我的用户名的某些实例。添加USER=root
:USER=root tar c --owner root data
无效。
简而言之,我希望:
echo hello world > data; tar c --owner root data | grep "$USER"
Run Code Online (Sandbox Code Playgroud)
对不匹配。
我有一个 git 仓库: rsh
:
\xe2\x9d\xaf cat rsh/.gitignore\n*.o\nshell\nbuild/\nrsh_history\n
Run Code Online (Sandbox Code Playgroud)\n\n我正在尝试使用 tar (GNU tar) 1.32 来压缩它。
\n\n我正在使用的命令是:
\n\n\xe2\x9d\xaf gtar cvaf rsh.tar.gz --exclude-vcs-ignores --exclude-vcs rsh\n
Run Code Online (Sandbox Code Playgroud)\n\n不幸的是,该build/
目录包含在 tarfile 中,尽管build/
在 .gitignore 中指定了该目录,但该目录仍包含在 tar 文件中。
\xe2\x9d\xaf gtar cvaf rsh.tar.gz --exclude-vcs-ignores --exclude-vcs rsh\n...\nrsh/build/\nrsh/build/meson-private/\nrsh/build/meson-private/install.dat\nrsh/build/meson-private/meson.lock\nrsh/build/meson-private/sanitycheckc.exe\nrsh/build/meson-private/build.dat\nrsh/build/meson-private/sanitycheckc.c\nrsh/build/meson-private/cmd_line.txt\nrsh/build/meson-private/meson_benchmark_setup.dat\nrsh/build/meson-private/meson_test_setup.dat\nrsh/build/meson-private/coredata.dat\nrsh/build/compile_commands.json\nrsh/build/rsh\nrsh/build/rsh@exe/\nrsh/build/.ninja_deps\nrsh/build/build.ninja\nrsh/build/meson-logs/\nrsh/build/meson-logs/meson-log.txt\nrsh/build/meson-info/\nrsh/build/meson-info/intro-buildsystem_files.json\nrsh/build/meson-info/intro-benchmarks.json\nrsh/build/meson-info/intro-buildoptions.json\nrsh/build/meson-info/intro-dependencies.json\nrsh/build/meson-info/intro-installed.json\nrsh/build/meson-info/meson-info.json\nrsh/build/meson-info/intro-tests.json\nrsh/build/meson-info/intro-projectinfo.json\nrsh/build/meson-info/intro-targets.json\nrsh/build/.ninja_log\n...\n
Run Code Online (Sandbox Code Playgroud)\n\n奇怪的是,.gitignore 本身确实被忽略了(--exclude-vcs);以及 .gitignore (rsh_history) 中的其他文件。
\n在查看一些文件系统以了解哪些文件系统消耗了磁盘空间时,我发现了一个名为GNUSparseFile.0
. 我无法轻易查明其内容是否被使用。它可能是解压后暂时剩下的东西吗?操作系统是 FreeBSD,因此可能已使用 BSD 解压tar
。