移动建站价格,建标网,网站的优化是什么,手机网站 触屏文章目录 背景需求安装使用下载安装使用解压缩小结 授人以渔问题解决方案bash: ./7zz: cannot execute binary file: Exec format error现象解决方案 lib.so.6文件 参考 背景需求
整体需求跟文章【在Linux上使用7z的最高压缩比来压缩文件】中介绍的类似。
我们的服务遇到一个… 文章目录 背景需求安装使用下载安装使用解压缩小结 授人以渔问题解决方案bash: ./7zz: cannot execute binary file: Exec format error现象解决方案 lib.so.6文件 参考 背景需求
整体需求跟文章【在Linux上使用7z的最高压缩比来压缩文件】中介绍的类似。
我们的服务遇到一个线上问题最后定位下来是内存问题dump了文件但是有3.4Gtar打包压缩后还有1.4G。但是这个环境网络受限下载速度非常慢而且离谱的是第一次耐着性子用Chrome下载结果文件损坏还得重新下载。直接原地爆炸。
所以这个时候需求就很明确了待下载的文件越小越好这样即使下载出错重新下载一次的代价也不大云端的压缩时间和代价反而不重要了。那么这时就需要一个极致压缩的工具。
然后就来到了7zip了。
安装使用
下载
访问7zip官网从https://www.7-zip.org/download.html选择相应的版本下载即可。
或者命令行下载例如
wget https://www.7-zip.org/a/7z2102-linux-x64.tar.xz安装 1 解压 # mkdir 7zip
# mv 7z2102-linux-x64.tar.xz ./7zip cd 7zip
tar -xf 7z2102-linux-x64.tar.xz因为解压后的文件和目录都是放在了当前目录最好单独创建一个文件夹然后在独立文件夹中解压。 2 安装 将7zz移动到/usr/bin目录下
cp 7zz /usr/bin/7zz之后就可以使用了。
如果不想安装也是可以直接运行使用的。如果不能使用那么还是考虑安装方案吧。
使用
参考文章2这里给出个人使用的命令
./7zz a -m0lzma2 -mx9 heap.7z heapDumpFile.hprof稍作解释。、
这里大多数参数都使用了默认值只指定了压缩算法和压缩等级。
具体含义
a 操作类型添加文件到压缩包。
-m0lzma2 指定压缩算法。算法之间的区别可以查看7zip官方文档例如7-zip.org/7z.html
-mx9 压缩等级最高压缩等级为9对应windows下的极致压缩。
heap.7z 压缩后的文件名
heapDumpFile.hprof 源文件名字解压缩
# 压缩
./7zz a archive1.zip subdir# 解压
./7zz x archive.zip小结
到了这里基本上上面的需求都满足了就是用服务器的压缩时间换取更好的网络传输效率。实际中测试下来3.4G的hprof文件压缩后只有154M提升非常可观。
授人以渔
基本上面的功能已经可以满足我们的需求了。不过如果后续有另外的需求或者你的需求跟我们不一样或者就是想要多学习一些7zip命令等知识那么可以继续看这一部分。
关于什么是7zz、7za它们的区别有哪些命令每个命令有哪些参数都是什么含义最好的文档就是官方文档。
下载的压缩包中除了7zz文件还有readme.txt文档和MANUAL文件夹更多的资料可以查看readme.txt文件或者用浏览器打开MANUAL文件夹下的start.htm文件根据自己的需求查看相关页面。比如命令列表就可以查看MANUAL/cmdline/commands/index.htm。
问题解决方案
bash: ./7zz: cannot execute binary file: Exec format error
现象
第一次的时候直接在解压后的文件夹内直接运行7zz
./7zz然后遇到bash: ./7zz: cannot execute binary file: Exec format error错误。后面在本机的虚拟机也遇到了这个问题。不过在写文章的时候在另一台电脑上尝试复现结果反而没有问题神奇。反正如果真的遇到这个问题可以尝试下面的解决方案。
解决方案
就是一定要放到/usr/bin/目录下才可以。直接运行就是不行。很离谱不过暂时也没复现也没查出为什么文件权限没问题操作系统和7zz都是64位。有知道原因的同学欢迎评论交流。
lib.so.6文件
CentOS下报错网上有类似的解决方案线上环境没有乱搞。有需要可以根据报错Google查找解决方案。
参考
本次主要参考文章如下
参考文章
7-Zip 首度推出官方支援的 Linux 版本在Linux上使用7z的最高压缩比来压缩文件