尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

为什么越来越多人改用 7-Zip-zstd?这份实操指南帮你用好六个新压缩算法

为什么越来越多人改用 7-Zip-zstd?这份实操指南帮你用好六个新压缩算法 为什么越来越多人改用 7-Zip-zstd这份实操指南帮你用好六个新压缩算法【免费下载链接】7-Zip-zstd7-Zip with support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard项目地址: https://gitcode.com/gh_mirrors/7z/7-Zip-zstd去年秋天我给一台旧服务器做全量备份把 12GB 的网站数据交给了熟悉的 7-Zip并选了最高压缩比。结果一杯咖啡、一顿午饭、一个下午过去进度条还在 60% 徘徊。那一刻我才意识到问题不在数据太多而在我的压缩工具太老了。7-Zip-zstd 正是为这类场景而生的增强版 7-Zip——它在保留原版全部习惯的基础上额外集成了 Zstandard、Brotli、LZ4、LZ5、Lizard 和 Fast-LZMA2 六个现代编解码器。本文会带你从零上手先破除几个常见误解再完成 Windows 与 Linux 两种安装最后学会按场景把参数调到最顺手并绕开那些前人踩过的坑。一个下午我都在等同一个备份那次备份用的还是 7-Zip 默认的 LZMA2 高压缩档。平心而论LZMA2 的压缩率一直很出色但它把省空间这件事做到了极致代价是速度。对于每天都要跑的增量备份这种慢而省的策略并不划算——传输带宽和存储成本早就变了机器性能也远非当年可比。7-Zip-zstd 的思路很简单给一个你早已熟悉的工具换上一批更符合当代硬件特性的算法。它基于 7-Zip 26.02 版本扩展命令行、右键菜单、归档格式这些操作习惯一概不变你只是在压缩方法下拉框里多了一串新名字。选择变多了问题也来了到底该用哪个别急先把几个拦路的旧观念清掉。动手之前先放下三个想当然很多朋友第一次听说这类增强版 7-Zip 时脑子里会立刻冒出三个疑问它们大多来自过时的经验。想当然一压得越快体积一定越大。这在十年前基本成立但现代算法用更好的匹配策略和更聪明的编码方式打破了这条铁律。LZ4 在单核上能以约 400MB/s 的速度压缩解压更是能跑到每核心数 GB/s同时体积并没有离谱到哪里去。速度与压缩率不再是简单的零和游戏而是可以按档位自由兑换的筹码。想当然二新算法 新格式 没人能解。其实 Zstandard、Brotli 这些格式早已是 Linux 发行版、CDN 和开发工具的常客生态非常成熟。更重要的是7-Zip-zstd 让这些算法可以装进传统的 7z 容器里使用文件后缀依然是.7z。当然要诚实提醒一句用新算法打包的 7z接收方也得有对应解码能力这点后面会专门讲。想当然三7-Zip 是 Windows 专属软件。这是最深的误会。项目一直维护着 Linux/macOS 上可直接运行的独立二进制官方也把 Linux 版7zz作为基准测试的主力工具。跨平台这件事它早就替你安排好了。六个新编解码器六个不同的性格如果把编解码器比作人这六位各有各的脾气选对人才是省时间的关键。Zstandard1–22 级全能型选手。由 Facebook 团队打造主打实时压缩。它的级别跨度极大从接近 LZ4 的高速档一路延伸到逼近 LZMA2 的高压缩档而且解码器速度一直很快。日常拿不准选谁时选它基本不会错。Brotli0–11 级密度至上主义者。它在 LZ77 之外叠加了 Huffman 编码和二阶上下文建模压缩密度对标当前最好的通用算法速度与 Deflate 相当但体积更小。静态资源、长期归档这类压一次、解很多次的场景是它的主场。LZ41–12 级速度狂魔。单核压缩约 400MB/s解压每秒数 GB内存占用低得惊人。适合实时备份、游戏资源、临时传输——凡是等不起的活都归它。LZ51–15 级过渡期的改良者。它是 LZ4 的改进尝试用更慢的压缩和解压换取更好的压缩率。如今它已被 Lizard 接棒如果你不是对特定版本有依赖优先考虑 Lizard 更明智。Lizard10–49 级身兼四职的多面手。它把级别切成四段每 10 级换一种工作模式10–19 级是快速 LZ4 模式解压速度比原生 LZ4 还快约 10%20–29 级在保住七成半解压速度的前提下提升压缩率30–39 级给快速模式加上 Huffman 编码40–49 级则是压缩率优先的完全体密度接近 zlib 和低档 zstd/brotli解压依然很快。Fast-LZMA21–9 级老将的现代化升级。它给经典 LZMA2 换了并行缓冲的 radix 匹配器并吸收了 Zstandard 的部分优化。在 5 级以上比原版 LZMA2 快 20% 到 100%压缩率只略降一点而且每个线程占用的额外内存大幅减少——内存紧张的老机器也能跑多线程。下面这张表把它们放在一起看更直观编解码器级别范围一句话定位最容易联想到的用途Zstandard1–22全场景平衡解码快日常压缩、网络传输Brotli0–11密度优先网页资源、长期归档LZ41–12极速实时备份、游戏资源LZ51–15LZ4 的改良过渡版兼容旧流程时使用Lizard10–49四档模式覆盖快与密需要解压速度的通用压缩Fast-LZMA21–9LZMA2 提速降内存版高压缩比但预算有限的环境在 Windows 上装好它完整安装与只加插件两条路装法有两种取决于你是想全面替换还是只想给现有环境补个能力。路径一完整安装推荐给大多数用户。下载安装包后像装普通 7-Zip 一样走完向导即可。装完的资源管理器右键菜单里会出现增强后的添加到压缩文件选项会记住你上一次设置的方法、级别、字典、线程等参数。验证是否成功打开命令提示符输入7z.exe i正常输出里应该能看到ZSTD、BROTLI、LZ4、LZ5、LIZARD、FLZMA2这些编解码器条目以及 BLAKE3、SHA3、XXH64 等一串新增哈希算法。完整版还能直接处理.zst、.br、.lz4、.lz5、.liz裸文件支持含 Zstandard 压缩的 ZIP连 squashfs 镜像里的 LZ4/Zstandard 压缩数据也能读。路径二只装编解码器插件。如果你已经装了官方 7-Zip、不想动界面就下载 Codecs.7z 压缩包按系统位数把里面的 DLL 放进 Codecs 目录64 位系统放到C:\Program Files\7-Zip\Codecs\32 位放到C:\Program Files (x86)\7-Zip\Codecs\之后重启 7-Zip 再用7z.exe i复查即可。另一种等价做法是直接用增强版7z.dll替换官方安装目录里的同名文件。这里有两个插件模式的限制要提前知道一是插件只覆盖 7z 容器内的压缩.zst、.lz4这类裸文件格式不在服务范围内二是压缩可执行文件时BCJ 预处理不会自动生效需要手动写成-m0bcj -m1zstd这种链式写法否则对 exe/dll 的压缩率会打折扣。在 Linux/macOS 上二十分钟从源码拿到 7zzLinux 和 macOS 用户更推荐直接编译独立二进制过程很短还能顺便验证你拿到的代码确实来自公开仓库git clone https://gitcode.com/gh_mirrors/7z/7-Zip-zstd cd 7-Zip-zstd/CPP/7zip/Bundles/Alone2 make -j$(nproc) -f ../../cmpl_gcc.mak编译产物就是当前目录下的7zz。把它放进系统 PATH 即可全局使用例如复制到/usr/local/bin/。之后输入7zz i或7zz -h确认功能齐全。顺手解释一下官方同时维护的四个命令行变体避免选错7z完整版命令行通过7z.so动态加载模块与插件7zz独立二进制不依赖外部插件Linux/macOS 包里的标准形态编译指南里拿到的就是它7za精简版支持的归档格式较少但内置 LZ4 与常见哈希7zr最轻量的版本专注 7z 格式本身内置 FLZMA2 与 Zstandard。日常使用优先7zz只有当你需要靠插件体系扩展能力时才回头选7z。给参数排兵布阵按场景选算法和档位同样的算法参数不同结果天差地别。与其背参数表不如先明确自己的目标再反推配置。下面是一份可直接套用的对照表使用场景推荐组合一句话理由每天跑的日常备份-m0zstd -mx5速度与体积均衡跑得动才坚持得下去实时同步、日志轮转-m0lz4 -mx1要的就是快压缩率是次要的月度全量归档-m0brotli -mx11压一次放很久密度优先网络传输大文件-m0zstd -mx3级别适中兼顾压缩与传输时间内存有限的旧机器-m0flzma2 -mx5 -md16m压缩率高同时把字典和线程内存压下来举例来说一条日常备份命令可以长这样7z a backup_$(date %Y%m%d).7z -m0zstd -mx5 -md32m -mmt4 /path/to/data-mmt控制线程数写-mmton让工具自动探测核心数写具体数字则手动限定-md是字典大小直接决定内存占用的大头-ms可以指定固态/分卷时的块大小。内存吃紧时优先砍字典而不是砍线程因为多线程带来的收益通常更直观。另外记住 BCJ 预处理器这件事完整安装版在-mx1及以上会自动对可执行文件启用 BCJ对 exe、dll 这类代码文件有明显增益插件模式下则需要像前面说的那样显式书写。最后老生常谈一句换算法前先拿小样本目录试压一次用7z t验证可解压再全量执行。进阶玩法与避坑清单工具上手后真正拉开差距的是把它织进工作流。以下几条按投入产出比排序。脚本化。命令行接口与原版完全一致老脚本可以直接换二进制继续用。加上时间戳和校验输出就能拼出一条可放 crontab 的备份流水线#!/bin/bash 7z a /backup/www_$(date %Y%m%d).7z -m0zstd -mx7 -mmt4 /var/www 7z t /backup/www_$(date %Y%m%d).7z与文件管理器集成。Total Commander 用户把增强版tc7z.dll、tc7z64.dll覆盖进插件目录即可直接打开含新算法的 7zFar Manager 用户则把增强版7z.dll复制到其 ArcLite 插件目录重启后生效。把哈希能力用起来。这个版本顺手带来了 BLAKE3、BLAKE2sp、SHA3 系列、XXH32/64 等一长串校验算法分发文件时多算一个哈希比单纯依赖文件名可靠得多。接下来是几个高频踩坑点建议收藏对方解不开你打包的文件。用 Zstandard 等新算法压出的 7z接收方若还是原版 7-Zip 会报错。对策是事先沟通或给对方也装上对应插件。7z.exe i看不到新算法。优先检查 Codecs 目录路径是否与系统位数匹配DLL 是否完整然后重启程序再验证。杀毒软件误报。开源二进制被误判是常见现象。别慌先核对官方发布物的 SHA256再看是否与 CI 构建产物一致确认无误后向杀软厂商提交误报申诉即可不必为此放弃项目。压缩中途内存暴涨。多半是字典或线程数设得过高按上文表格把-md调小一档通常立刻缓解。收尾照着这份清单现在就动手回到开头那个等了一下午的备份换成 Zstandard 中档后同样的数据量在几分钟内完成体积只比原方案大了一点点——这就是升级的直观回报。7-Zip-zstd 没有改变你的操作习惯只是把选择权还给了你要速度、要密度、要省内存各取所需。如果看完文章准备行动照着下面五步走确定你的主力场景是快还是省据此圈定 1–2 个算法Windows 用户直接完整安装Linux/macOS 用户按第五节编译7zz跑一遍7z i或7zz i确认新编解码器都已就位拿一个真实目录做小样本测试记录压缩耗时、体积与内存峰值把验证过的命令写进脚本或右键菜单模板并定期做一次7z t完整性检查。想深入了解格式细节与参数语义仓库内的 README.md 是最新的说明DOC 目录下的格式文档如7zC.txt、7zFormat.txt、Methods.txt可以作为参数与格式的权威参考tests/目录里的回归测试脚本也能帮你快速验证自己的用法。数据不会等你把工具升级成趁手的样子就从今天这次备份开始。【免费下载链接】7-Zip-zstd7-Zip with support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard项目地址: https://gitcode.com/gh_mirrors/7z/7-Zip-zstd创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表