我正在使用Perl的Archive :: Tar模块.它的问题在于它将所有内容都拉到内存并进行归档,然后写入文件系统,因此可以归档的最大文件大小有限制.大多数时候,它说内存不足.在GNU tar的情况下,它需要文件块,将其存档并将其写入内存,以便它可以处理任何大小的文件.我怎么能用Perl的Archive :: Tar模块做到这一点.
cjm*_*cjm 12
看起来像Archive :: Tar :: Wrapper是你最好的选择.我自己没有尝试过,但它使用了系统的tar可执行文件,并没有将文件保存在内存中.
与Chas相反.Owen的回答,Archive :: Tar :: Streamed 确实将文件保存在内存中,并且不使用您的系统tar.它实际上在内部使用Archive :: Tar,但它一次处理一个文件(利用tar档案可以连接的事实).这意味着Archive :: Tar :: Streamed可以处理大于内存的归档,只要归档中的每个单独文件都适合内存.但这不是你要求的.
| 归档时间: |
|
| 查看次数: |
1717 次 |
| 最近记录: |