找回密码
 加入我们
搜索
      
查看: 14170|回复: 91

[软件] 16亿个二进制文件如何打包成一个文件?

[复制链接]
发表于 2023-7-17 14:02 来自手机 | 显示全部楼层 |阅读模式
有16亿个二进制文件,每个文件1-64KB大小不等,总大小1.98TB。为了便于传输和使用,现需要压缩或打包成一个文件,然后在其他机器上解压使用,目前使用winrar,7zip,bandizip等压缩软件,均以资源耗尽,压缩失败告终。特此请教大家,有没有比较好的办法?
电脑配置:AMD 5950X    内存:128GB    硬盘:4T+8T SSD    操作系统:Windows10
发表于 2023-7-17 14:05 | 显示全部楼层
存储时候设置成“仅存储”是否可行?就是不压缩,只打包?嫌文件大的,可以设置分卷。
发表于 2023-7-17 14:06 | 显示全部楼层
本帖最后由 linjun942 于 2023-7-17 14:10 编辑

微信图片_20230717140729.png 试一下winrar ,勾选固实,对零碎小文件可能有高压缩比,winrar也有分卷功能(就是分成多个小文件),1.98TB过大(如果是造成系统资源耗尽的原因)你可以分成几个部分分别打包压缩 2.png
发表于 2023-7-17 14:07 | 显示全部楼层
试过tar打包吗
发表于 2023-7-17 14:08 | 显示全部楼层
建一个分区用windows的文件压缩功能,然后整个分区转储过去
发表于 2023-7-17 14:09 | 显示全部楼层
tar  试试
 楼主| 发表于 2023-7-17 14:11 来自手机 | 显示全部楼层
伦风凝星 发表于 2023-7-17 14:05
存储时候设置成“仅存储”是否可行?就是不压缩,只打包?嫌文件大的,可以设置分卷。 ...

设置仅存储模式了,还是提示压缩失败
发表于 2023-7-17 14:11 来自手机 | 显示全部楼层
多半是缓存(内存)不够了
试试 7z a target.zip dir1\
每次往一个target里面塞100g,循环18次
发表于 2023-7-17 14:18 | 显示全部楼层
用备份软件试试呢,傲梅轻松备份这种的
发表于 2023-7-17 14:26 | 显示全部楼层
分卷压缩呢
发表于 2023-7-17 14:33 来自手机 | 显示全部楼层
估计得分卷压缩
 楼主| 发表于 2023-7-17 14:34 来自手机 | 显示全部楼层
mqwxp 发表于 2023-7-17 14:08
建一个分区用windows的文件压缩功能,然后整个分区转储过去

需要在linux服务器上使用
 楼主| 发表于 2023-7-17 14:35 来自手机 | 显示全部楼层
RyanLR 发表于 2023-7-17 14:11
多半是缓存(内存)不够了
试试 7z a target.zip dir1\
每次往一个target里面塞100g,循环18次 ...

我试试,之前压缩的时候内存占用100%
 楼主| 发表于 2023-7-17 14:37 来自手机 | 显示全部楼层
大头吃小头 发表于 2023-7-17 14:33
估计得分卷压缩

压缩文件太大了,可能不是分卷的问题
 楼主| 发表于 2023-7-17 14:37 来自手机 | 显示全部楼层
PPXG 发表于 2023-7-17 14:26
分卷压缩呢

之前试过了,还是失败
发表于 2023-7-17 14:40 | 显示全部楼层
做成iso镜像文件
liuxs认不认iso镜像,我就不清楚了
发表于 2023-7-17 14:42 | 显示全部楼层
或者买块硬盘,复制好,邮寄过去

毕竟这么大的文件,你通过什么方式去上传
发表于 2023-7-17 14:44 | 显示全部楼层
做一个vhd,格式化成ntfs然后挂载,启用压缩。小文件都考到这个里面,因为vhd可以是动态增长的,而且启用了压缩,所以最终大小视文件内容而定应该会小于1.98t。linux挂载vhd网上教程很多。
发表于 2023-7-17 14:45 | 显示全部楼层
pheyx 发表于 2023-7-17 14:44
做一个vhd,格式化成ntfs然后挂载,启用压缩。小文件都考到这个里面,因为vhd可以是动态增长的,而且启用了 ...

确实虚拟机文件也可以
发表于 2023-7-17 14:46 | 显示全部楼层
这种情况还是建议直接买个3T或者更大的移动硬盘了,毕竟就算是你这里压缩了,到用的时候解压也是一件麻烦事儿
发表于 2023-7-17 14:48 | 显示全部楼层
每个分卷2GB,我就不信会失败。。
发表于 2023-7-17 14:48 | 显示全部楼层
xc11748 发表于 2023-7-17 14:34
需要在linux服务器上使用

这个就简单了,在linux上挂载windows分区,然后dd保存分区到文件,然后xz压缩
发表于 2023-7-17 15:28 来自手机 | 显示全部楼层
这么多的文件为啥非要打包成一个文件?方便传输这理由可不太对,文件太大了传输哪出点错那可不完蛋?还有文件太大解压也是个问题.我觉得正确做法是打包成适量大小,然后多个...
发表于 2023-7-17 15:36 来自手机 | 显示全部楼层
会写代码直接弄个列存存储就可以了,这点数据小意思
发表于 2023-7-17 15:36 | 显示全部楼层
新建一个分区,全部复制过去,然后用ghost镜像压缩。
这属于老方法了,可能现在有更新的镜像压缩工具,但个人还是更习惯ghost。
发表于 2023-7-17 15:38 | 显示全部楼层
xc11748 发表于 2023-7-17 14:37
之前试过了,还是失败

要不你直接克隆硬盘镜像吧。。。。
发表于 2023-7-17 15:43 来自手机 | 显示全部楼层
本帖最后由 ysc3839 于 2023-7-17 15:44 编辑

先说清楚怎么个耗尽?怎么个失败?

试过Win10自带的命令行tar了吗?
 楼主| 发表于 2023-7-17 15:58 来自手机 | 显示全部楼层
ysc3839 发表于 2023-7-17 15:43
先说清楚怎么个耗尽?怎么个失败?

试过Win10自带的命令行tar了吗?

用bandizip最后提示资源耗尽,把内存和系统盘设置的缓存压榨尽了,一滴不剩。用7zip压缩了一天多,最后提示压缩失败。
 楼主| 发表于 2023-7-17 16:00 来自手机 | 显示全部楼层
wxlg1117 发表于 2023-7-17 15:28
这么多的文件为啥非要打包成一个文件?方便传输这理由可不太对,文件太大了传输哪出点错那可不完蛋?还有文件 ...

16亿个文件如果不压缩,传输太慢了,瓶颈在磁盘I/O
发表于 2023-7-17 16:01 | 显示全部楼层
楼主的需求应该是将这1.98T的诸多文件,拷贝到另一台linux服务器上使用,

一个一个文件的拷贝数量巨大的小文件,速度很慢所以才想打包的,

但打包的时候,一个一个文件进行读取时的操作,不管拷贝也好,压缩也好,是必须都省不了的,

打包后再传输的效率也提高不了太多。而且打包成一个文件后,到对方那儿解压缩也是个问题,

不需要太多技术含量的方法,可以弄个新硬盘挂到机器上,将所有的文件拷贝过去,再挂载到Linux服务器上,省下再拷贝一次了。
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-2-5 04:56 , Processed in 0.013878 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表