问题标签 [libarchive]
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.
c++ - libarchive 在某些条目上返回错误,而 7z 可以正常提取
我在使用libarchive
3.3.2 版时遇到问题。我编写了一个程序来读取 7z 档案中的选定条目,如下所示:
但是,该程序无法读取file_1.fog
我的大部分档案,并且无法读取file.fog
某些文件。我试着用archive_error_string()
看看会发生什么,错误是corrupted archive
ortruncated RAR archive
或Decompressing internal error
.
这是故障代码:
c - 使用未声明的标识符“ENOMEM”
我为我的 xcode 项目使用“libarchive”,但得到以下错误
使用未声明的标识符“errno”
使用未声明的标识符“ENOMEM”
使用未声明的标识符“ERANGE”
“struct archive_write”中没有名为“compressor”的成员
我该如何解决这个错误?
https://github.com/Tarsnap/tarsnap/blob/master/libarchive/archive_write_set_format_ustar.c
c++ - 缺少'#include'; 必须先从模块“Darwin.POSIX.grp”导入“getgrgid”声明
我为我的 xcode 项目使用“libarchive”:
而且我收到以下错误:
'getgrgid' 的冲突类型
函数“getgrgid”的隐式声明在 C99 中无效
缺少“#include”;必须先从模块“Darwin.POSIX.grp”导入“getgrgid”声明
缺少“#include”;必须先从模块“Darwin.POSIX.grp”导入“组”的定义
我该如何解决这个错误?
extractor - libarchive 完整提取器
我下载了 libarchive-3.3.2.zip 并根据 https://github.com/libarchive/libarchive/wiki/BuildInstructions使用 mingw32 构建它
我还设置
LIBS += -L$$PWD/libarchive/ -larchive_static
了静态构建。
构建后,我尝试使用 https://github.com/libarchive/libarchive/wiki/Examples#A_Complete_Extractor中的示例提取我的 .zip 文件
当我运行上面的代码时,它在 A1 处退出。当我调试 r = copy_data(a, ext); 我发现 r = -25 和 #define ARCHIVE_WARN (-20)
我的构建似乎有问题,但我无法弄清楚。
c++ - 如何将空文件夹和符号链接添加到存档 - libarchive
我正在尝试使用以下代码将文件夹压缩到 cpio.gz 存档中。但它不压缩空文件夹和符号链接。
我正在使用此代码重新打包提取的 Android ramdisk。使用 libarchive 提取文件工作正常。它提取了所有文件、文件夹和符号链接......
此处压缩的完整代码
python-3.x - 如何从 .7z 存档中读取包含大量数据的 csv 文件?
我有一个包含 162 GB 数据的 csv 文件,我必须使用 7-zip 对其进行压缩以节省空间。我一直在使用 libarchive 从 .7z 文件中读取并附加读取的块以在最后获得最终结果。但这个文件的问题是,它太大了,我无法将它附加到创建单个字符串或数据帧,因为我的主内存限制为 8 GB。此外,我无法对每个块执行任何操作,因为每次最后一行剪掉一些列时,读取的块都是不一致的。
以下是我用来读取 csv 文件的片段:
以下是单个输出块的 pastebin:
注意最后一行的剪裁。
我将不胜感激从存档的巨大 csv 文件中读取完整行和大块行的任何帮助。
c++ - 使用 libarchive 将 gzip 文件解压缩到内存
我正在尝试以编程方式将 gzip 文件解压缩到内存中并gzip -d file.gz
使用libarchive project模拟命令。该文件实际上取自具有以下标头的http响应Accept-Encoding: gzip, deflate
这是我尝试读取文件的尝试。我预计不会工作,因为 gzip 压缩文件没有条目(它被压缩为流)并archive_read_next_header
尝试从存档中读取下一个文件。
是否有任何替代此功能的方法可以从压缩文件中提取整个数据。
也许有人可以发布解决此问题的最小代码示例?另外,是否有一个选项可以找出 gzip 存档文件是否有条目?
python - Linux 上的 Libarchive 未正确安装(对于 Python)
我在我的 Ubuntu 机器上安装了 libarchive apt install libarchive-dev
,然后使用 pip 为 Python 安装了 libarchive pip3 install libarchive
。
我现在的问题是安装似乎不正确,因为 libarchive 根本不提供任何功能,如下面的输出所示:
和图书馆本身
我在 Ubuntu 19.04 和 18.04 上都试过了,每次都得到相同的结果。我想我一定错过了一些明显的东西,但我一辈子都找不到它。
在此先感谢您的帮助。
libarchive - C++ 使用 libarchive 和 archive_write_open_memory ...如何清除缓冲区?
我正在编写一个服务器,它将压缩文件并通过 http 套接字发送它们。
不幸的是,它们并不是真正的文件,它们更像是来自远程源的数据库条目。
我想压缩内存中的每个条目,然后通过我的 http 服务器将它们发送出去,每个条目都可能很大,比如每个 1GB。
我以块的形式从源接收数据,例如 16mb(但可以是任何有意义的块大小)。
从概念上讲,这就是正在发生的事情,尽管这是一些伪代码:
问题是,我如何知道数据何时被压缩到 _archiveBuffer,何时压缩,如何读取缓冲区然后清除它,重置 _used 计数器。我假设如果_used>0
发生了压缩/刷新。
另外,_archiveBuffer 是否需要大于我的块大小?
似乎我可能需要使用回调,但不清楚如何将 archive_write_open 与回调和内存缓冲区一起使用。
我似乎无法在网上找到示例。
任何帮助,将不胜感激!
python - 在 Windows 中加载 libarchive 时出错 - 无法加载库:[WinError 126] 找不到指定的模块
我是python的初学者,试图在windows 10 64位笔记本电脑上安装“Libarchive”,正在使用python 3.7得到以下错误