问题标签 [tar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
565 浏览

perl - 为什么当我使用 Perl 的 Archive::Tar 时 tarball 目录结构会消失?

我正在使用 Perl 脚本修改 .tar 中的一些文件,生成的 .tar 中的目录结构消失了。消除越来越多的代码,我已经达到了重现这一点所需的一切

两个 .tar 文件都包含所有文件,但是文件和子目录所在目录的指示会丢失。

我已经查看了Archive::Tar的文档和 src,但我真的不明白发生了什么。

我在 win32、tar 1.12 和 Archive::Tar 1.54 上使用 perl 5.10.0。我在编辑器中检查了 .tar 文件,data.tar 包含 dir/ 和 dir/file.txt,但在 modified_data.tar 中,它们显示为 dir 和 file.txt,所以我的原始 tar 似乎没问题。

你们中的任何人以前见过这个或有任何想法吗?

0 投票
4 回答
7037 浏览

windows - 将 tar/gzip 添加到 Windows 命令行

正如标题所说 - 任何人都知道将 tar/gzip 添加到 Windows 命令行的方法吗?我已经安装了 Cygwin - 但不知道是否必须在 PATH 环境变量中添加一些内容才能将 tar 作为 cmd 选项

0 投票
5 回答
11949 浏览

c - 如何解压内存中的文件(c 编程)?

让我解释一下我想要实现的:

我有一个加密的 tar 文件。我可以在内存中解密它,但显然我不能将解密后的数据作为真实文件写回硬盘。解密后的数据结构为内存中的 char* 缓冲区;我怎样才能在内存中解压它?

我找不到 libtar 库的答案。我也尝试用execlp("tar", "tar", "-xvO", (void*)0). 但它并没有像我想象的那样工作。

任何人都可以给我一个最佳解决方案的提示吗?谢谢!

0 投票
3 回答
751 浏览

bash - 按文件复制目录树文件

我的顾问经常将一堆软件编译到他的 /usr/local 中,然后将他的 /usr/local 作为 tarball 分发。然后我将压缩包解压到我们的实验室机器上供我们使用。到目前为止,这一切都很好,我们只需将旧的 /usr/local 替换为 tarball 的内容。

但我已经开始在这些机器上安装我自己的软件。如果我删除 /usr/local,显然某些软件和配置也会被删除。

相反,我怎样才能递归地将文件从 tarball 复制到 /usr/local 中的相应目录中?

例如:

等等

或者这对于 ServerFault 来说是一个更好的问题吗?

0 投票
1 回答
1242 浏览

linux - 如何从此脚本中提取存档(使用 tar)

我完全不知道如何解压创建的档案。我给你完整的脚本。一个名为 Univention 的基于 Debian 的 Distibution 使用它来备份 tar 存档中的多个文件。

真正的存档被打包在一个函数中。他们创建实际 tar 文件的主要内容是:

系统上的存档为 54 GB,tar xvf 仅提取存档的第一级。抱歉很难解释。总而言之,我只能从这 54GB 中获得 40MB。应该在存档中的所有目录都不会被提取。

$((tar ... tar ... ) | dd > foo) 的使用

我也完全不知道,这个脚本是做什么的?

我想我自己找到了一个解决方案(我稍微更新了脚本):脚本生成一个标记,标记第一个存档的结束。我使用 grep -A1 -a -b "HEADER_ENDTAG" backup.tar 值为 41247795 dd skip=41247795 if=../../backup of=test

看起来我现在可以提取“真实”档案。有没有另一种方法可以自动跳转到这个字节偏移量,例如不使用 grep 手动?

0 投票
5 回答
1794 浏览

perl - 如何在 Win32 上使用 Perl 归档一组文件,同时保留文件路径?

发现问题。 不过,我将问题留在这里,以防其他人遇到我遇到的同样问题。

看起来我在 WinZip 11 中遇到了错误或奇怪的功能。当我双击 test2.zip 文件查看其内容时,WinZip 告诉我数据文件的路径是小写的“allcapsname”,但是当 WinZip 提取存档(从右键单击“提取到此处”菜单),它实际上正确地创建了“ALLCAPSNAME”目录。我一直在抱怨我认为 Archive::Zip 遇到的问题,而这一直是 WinZip 的问题。感谢所有帮助找出问题所在的人。

事实证明,要在使用 Archive::Tar 时获得在 WinZip 文件中显示的路径,您需要在代码中使用这一行来强制 Archive::Tar 偏离严格的 POSIX 合规性:$Archive::Tar::DO_NOT_USE_PREFIX = 1 ;

原始问题: 到目前为止,我发现了一些似乎能够从我的 Perl 脚本中创建 ZIP 或 GZIP 或 TAR 或 TGZ 存档文件的各种 Perl 模块,但实际上我还没有从其中任何一个中获得完全成功. 为什么这么难?是因为我在 Windows 机器上吗?(到目前为止,我在这个看似简单的任务上浪费了大约 4 个小时,真的很沮丧。)

当我尝试Archive::Tar时,我成功创建了存档文件,但由于某种原因,我无法获得包含在 tarball 中的任何文件的路径。我在我的代码中尝试了一堆不同的东西,我的 tarball 总是在其中显示带有空路径的文件。(我正在使用 WinZip 查看我的压缩包。)

当我尝试Archive::Zip时,我取得了更大的成功,并且我获得了包含在存档文件中的文件的实际目录路径。唯一的问题是我的文件路径从大写变为小写。为什么它改变了我的目录的大小写?我希望实际的目录名称保持原样。

我尝试了其他一些模块但没有成功。我什至无法从Archive::Builder获取示例代码进行编译。

原始问题附录:

我终于能够创建一个最小的可执行脚本,它清楚地展示了我上面描述的关于 Archive::Zip 和 Archive::Tar 的 2 个问题。

此脚本创建 3 个档案。第一个存档包含具有适当路径“MyArchiveFiles\”的数据文件。当我的目录名称全部大写时,就会出现我的问题。第二个存档包含数据文件,但存档文件中的路径不是预期的“ALLCAPSNAME\”......它是“allcapsname\”。这对我来说是个问题。为什么它改变了我的路径,我怎么能强迫它不管它?

第三个存档包含数据文件,但它包含该文件的空路径。这对我来说是个问题。我需要存档中的路径,以便在解压缩存档时将文件提取到适当的目录结构中。

0 投票
2 回答
1196 浏览

netbeans - 如何从 jar 文件、Netbeans、ant 创建 tar 文件

嗨,我有 netbeans 6.7.1。我的 build.xml 文件创建了一个 jar 文件。现在我想要 jar 和 tar 文件。我的 tar 文件必须从我的 jar 文件创建。那么如何通过在 build.xml 中进行一些更改来从我的 jar 文件创建 tar 文件。我认为它使用ant来创建jar文件。

谢谢 Sunil Kumar Sahoo

0 投票
6 回答
20201 浏览

unix - 用于创建指定数量文件的 tar 的 Unix 命令

我正在寻找一个 Unix 命令,它将从一个目录创建一个 10 个文件的 tar。

0 投票
4 回答
10424 浏览

python - 如何确定数据是否是没有文件的有效 tar 文件?

我的上传表单需要一个 tar 文件,我想检查上传的数据是否有效。tarfile模块支持,is_tarfile()但需要一个文件名——我不想浪费资源将文件写入磁盘只是为了检查它是否有效。

有没有办法使用标准 Python 库在不写入磁盘的情况下检查数据是否为有效的 tar 文件?

0 投票
3 回答
6576 浏览

iphone - iPhone 上的“解压缩”文件

我正在编写一个 iPhone 应用程序,该应用程序从 Web 服务器下载一个 tar-gzipped 文件,然后需要解压缩该文件,以便可以将其复制到应用程序的 Documents 文件夹中。

我使用 tar/gzip 是因为我想在一个 HTTP 请求中下载一大堆小文件,以使一切变得又好又快。

我已经研究了http://www.feep.net/libtar/之类的解决方案,但作为一个 C/Objective-C 新手,我无法为 iPhone 平台编译它们中的任何一个。

(我觉得我应该能够对“tar -zxvf myfile.tar.gz”进行系统调用,但看起来并不那么容易!)

那么有没有一种简单的方法来解压缩 iPhone 上的文件?或者我是否将这一切都错了,有没有更好的方法来做到这一点?

提前致谢!

尼克