
简介面向64位Linux系统的RAR命令行工具包对应RAR 6.1测试版适合运维人员、开发者和经常处理RAR压缩文件的用户使用。压缩包共11个文件整体约590KB以命令行可执行程序为核心附带makefile、txt说明文档、文件列表、默认自解压模块及htm帮助页面等既可直接调用命令也可用于查阅参数和编译参考。已有194人学习下载。工具虽为b1测试版本但功能完整支持创建和解压RAR格式、多卷分割、AES-128/256加密、自解压包生成及损坏档案修复在文件备份、大文件传输和跨平台资料交换中非常实用。解压后即可在终端运行相应命令适合已有一定Linux基础、需要处理专有压缩格式或自动化打包脚本的读者。 做Linux运维和开发的朋友十有八九都遇到过这种场景刚从同事或客户那边拿过来一个.rar压缩包双击没反应tar命令又解不了最后只能翻文档、装一堆依赖才勉强把文件弄出来。今天要聊的这个包rarlinux-x64-6.1.b1.tar.gz就是RAR官方针对64位Linux系统发布的命令行工具包解决了上面这个问题。我用它处理过的压缩包没有上千也有几百个无论是解压别人发来的RAR还是在服务器上直接创建分卷加密压缩包这套工具都能扛得住。这篇文章就把我从下载、安装到日常使用的完整经验整理出来希望能帮你少踩几个坑。1. 认识这个包版本、适用环境与选型逻辑1.1 版本线里的“6.1.b1”到底是什么先把这个文件名拆开看rarlinux表示是RAR软件在Linux平台下的发行包x64明确告诉你这是给64位系统用的二进制版本6.1.b1表示主版本号6.1、beta 1测试版。RAR的版本命名有个特点b后缀代表beta测试版本通常包含一些新功能和改进但稳定性上可能不如正式版。如果是生产环境的服务器我建议优先选择最新的稳定版如果是个人使用或者只用来解压文件beta版完全没问题。这里有一个容易被忽略的细节RAR 6.0以上版本对RAR5格式的支持已经很完善而早期5.x版本在处理某些大文件和特殊编码文件名时会有兼容性问题。6.1.b1比最初的6.0又做了一些性能优化特别是在高压缩比模式下压缩和解压速度都有明显提升。实测下来在普通配置的服务器上压缩一个2GB左右的日志目录耗时基本能控制在两分钟内。1.2 为什么不用系统自带的压缩工具很多Linux发行版默认只装了zip和tar它们处理.zip、.tar.gz文件确实方便但遇到.rar就抓瞎了。有人会用第三方工具比如p7zip或者unrar-free但说实话这两个在处理RAR5格式时的兼容性并不理想。unrar-free是一个开源实现功能有限不支持创建RAR压缩包遇到某些压缩参数生成的RAR5文件甚至会直接报错。而p7zip对RAR文件的支持也只是“能解压”级别创建RAR文件同样无能为力。RAR官方工具的优势在于一是版本跟进最快RAR5格式的每个改动都能第一时间兼容二是功能全面解压、创建、加密、分卷、修复、测试一应俱全三是在Linux服务器上安装极其简单本质就是几个可执行文件的复制。如果你需要和Windows环境下的WinRAR频繁交互官方工具几乎是唯一不会出问题的选择。1.3 适合哪些场景使用这个工具最适合三种人第一是Linux服务器管理员经常需要在服务器上处理从Windows平台上传过来的RAR包第二是开发人员需要在测试环境或生产服务器上自行打包、解压文件第三是长期和外部接口打交道的运维比如对方交付的补丁包、数据包固定用RAR格式。在装好这个包之后日常的压缩解压工作基本就全面覆盖了不再需要额外去找其他方案。之前我在一次数据迁移中客户给的是分卷加密的RAR包一共30多个分卷每卷500MB。当时用p7zip解压到一半直接报“unsupported method”换成官方unrar才顺利搞定。这个经历让我后来很坚定RAR格式的兼容性还得是官方工具最靠谱。2. 安装前的环境检查与准备2.1 先确认你的系统是不是x64架构虽然文件名里明确标了x64但实际使用前还是要确认一下系统架构特别是现在ARM架构的服务器越来越多了。执行下面这个命令uname -m如果输出x86_64那就没问题对应的是x64架构可以安全使用这个包。如果输出aarch64或者arm64就要去官网找ARM版本了。为什么需要这一步因为软件包里的二进制文件是针对x64指令集编译的在ARM上根本无法执行强行运行会提示“Exec format error”。我见过不少同事一上来直接解压安装结果跑了半天才发现架构不对浪费时间。2.2 检查glibc版本与依赖环境RAR官方工具依赖系统的glibc库版本太低会直接导致无法运行。建议先看一下ldd --version一般CentOS 7以上、Ubuntu 18.04以上、Debian 9以上的系统glibc版本都在2.17以上运行RAR 6.1.b1都没有问题。如果你还在用特别老的系统比如CentOS 6可能就需要考虑旧版RAR或者升级系统了。还有一个容易被忽略的依赖是libstdc一般发行版默认都有如果安装后运行时报缺少库那就需要额外安装yum install libstdc -y # CentOS/RHEL系 apt install libstdc6 -y # Debian/Ubuntu系2.3 准备好构建工具这个包解压后里面带有makefile需要通过make命令来安装。所以系统里需要提前装好make和gcc。多数Linux服务器默认不会装这些编译工具你可以这样快速装上yum install make gcc glibc-devel -y # CentOS/RHEL系 apt install make gcc libc6-dev -y # Debian/Ubuntu系为什么安装RAR还需要编译工具因为make命令的作用是把解压出来的源码目录里的可执行文件复制到系统路径中不是真的要现场编译代码但是make和install这个流程依赖/bin/sh、文件权限操作等基础环境。我在虚机上测试过其实也可以不装make直接手动把rar和unrar文件用cp命令复制到/usr/local/bin/效果一样。但为了安装过程规范、以及后续卸载方便我还是建议老老实实走make流程。3. 解压与安装实操从tar.gz到全局命令3.1 tar.gz解压命令怎么用先进入你存放安装包的目录然后执行标准解压命令cd /usr/local/src tar xvzf rarlinux-x64-6.1.b1.tar.gz这里简单拆解一下这个命令的参数x表示解压v表示显示解压过程明细z表示通过gzip解压f表示后面的参数是文件名。tar.gz本质是先经过tar打包再用gzip压缩所以解压时要带z参数。如果你记不住这一串参数写成tar xzf也行效果完全一样。解压之后目录里会出现一个名为rar的文件夹里面包含rar、unrar两个可执行文件、一个makefile以及rar.txt、license.txt等说明文档。建议先花两分钟看一下rar.txt里面有不少官方的使用说明和参数列表比网上很多二手教程都准确。3.2 执行make命令完成安装进入rar目录执行cd rar make看到如下输出就说明成功了mkdir -p /usr/local/bin mkdir -p /usr/local/lib cp rar unrar /usr/local/bin cp rarfiles.lst /usr/local/lib这个安装过程本质上就是把可执行文件复制到/usr/local/bin把rarfiles.lst配置文件复制到/usr/local/lib。如果你没有root权限可以改成make install PREFIX$HOME/local或者干脆手动复制把rar、unrar两个文件复制到你的~/bin目录然后在~/.bashrc里加上export PATH$HOME/bin:$PATH重新加载配置即可。这种方式适合那些只有普通用户权限的共享服务器。3.3 验证安装是否成功安装完成后建议执行版本验证命令确认可执行文件能正常运行rar --version unrar --version如果能看到版本号信息比如RAR 6.10 beta 1 Copyright (c) 1993-2021 Alexander Roshal说明安装成功。我一般还会顺手跑一个简单的功能测试创建一个测试压缩包再解压回来确保完整链路没问题echo test test.txt rar a test.rar test.txt unrar x test.rar看到文件能正常压缩和解压安装就算彻底完成了。一个小习惯我会把rar和unrar的版本信息记录下来因为后续排查问题、确认服务器配置时经常要对版本。4. 命令行核心用法与实战案例4.1 最常用的rar和unrar命令速查装好了工具接下来最关键的就是熟练使用命令行。我平时最常用的是这几条操作命令说明创建压缩包rar a archive.rar file1 file2a代表add把文件加入压缩包递归压缩目录rar a -r archive.rar dir/-r参数递归处理子目录解压到当前目录unrar x archive.rar保留压缩包内的目录结构解压到指定目录unrar x archive.rar /path/to/dir需要目标目录已存在不解压直接看列表unrar l archive.rar只列出内容不实际解压测试压缩包完整性unrar t archive.rar用于验证压缩包是否损坏追加文件到已有压缩包rar a archive.rar newfile直接在原包上追加删除压缩包内文件rar d archive.rar file从压缩包中删除指定文件4.2 创建加密分卷压缩包在服务器上做备份时加密和分卷是我最常用的两个功能。加密命令rar a -p -hp -m5 backup.rar /data/logs/这里-p表示设置密码执行后会交互式提示输入密码-hp表示加密文件头也就是连文件名一起加密这样做的好处是别人查看压缩包列表时完全看不出里面有什么文件-m5表示最高压缩比模式适合文本和日志这类高可压缩数据。如果你希望密码写在命令行里可以用-p你的密码但这样会在shell历史记录中留下痕迹我建议非必要不用这种写法用交互式输入更安全。分卷压缩用于大文件备份比如每卷100MBrar a -v100M -m3 -idq data_backup.rar /data/database/-idq用来关闭提示信息输出适合在脚本中使用。分卷压缩完成后会生成data_backup.part1.rar、data_backup.part2.rar这样的系列文件传输时可以逐个上传接收方只需要把全部文件放在同一目录下执行unrar x data_backup.part1.rar即可自动合并解压。4.3 实际脚本中的自动化用法在crontab脚本里我经常这样写一个备份并压缩的流程#!/bin/bash BACKUP_DIR/data/app_backup STAMP$(date %Y%m%d_%H%M%S) tar czf /tmp/app_$STAMP.tar.gz -C /data app/ rar a -p$(cat /etc/.backup_key) -m3 -idq /backup/app_$STAMP.rar /tmp/app_$STAMP.tar.gz rm -f /tmp/app_$STAMP.tar.gz这个流程先把应用目录打成tar.gz包再用rar加上密码压缩最后删除中间文件既保留了tar.gz格式的通用性又获得了RAR的加密能力。密码不是硬编码在脚本里而是从一个权限受限的密钥文件读取这样即使脚本泄露密码也不会直接被看到。4.4 解压时如何保留权限和时间戳unrar在解压时会默认保留压缩包内文件的权限和时间戳这在Linux下很重要。我遇到过一种情况用Windows端的WinRAR压缩再传到Linux服务器解压文件里的shell脚本权限位全部丢了变成不可执行。解决办法是解压后重新设置unrar x -o archive.rar chmod x script.sh-o参数表示强制覆盖已有文件适合重复解压同一包时使用。如果你希望解压时不保留任何权限信息可以用unrar e命令它会把所有文件直接解压到当前目录不带目录结构也不保留原文件的路径信息。5. 常见问题与排查技巧实录5.1 提示“cannot execute binary file”怎么办这个问题我在帮别人排查时遇到过好几次典型特征是一执行rar命令就报cannot execute binary file。原因基本是两个一是架构不匹配比如在32位系统或ARM系统上运行x64的包二是文件不完整下载过程中网络中断导致二进制文件缺失。排查方法是先确认架构再对比文件大小用file rar命令查看文件类型file rar正常输出是ELF 64-bit LSB executable, x86-64如果显示data或者格式异常说明文件确实下载坏了重新下载即可。5.2 解压中文文件名乱码RAR在Windows上压缩时中文文件名一般使用GBK编码而Linux默认使用UTF-8编码直接解压会产生乱码。这个问题在官方unrar里没有直接的编码转换参数我的解决方案是解压后用convmv工具批量转换文件名编码convmv -f GBK -t UTF-8 --notest -r /path/to/解压目录/需要注意如果文件名里中文很少也可以直接用ls检查是否乱码严重再做处理。实际上RAR 6.x版本对中文编码的兼容性已经好了很多实测下来大部分Windows打包的文件都能正常显示只有很老的工具或特殊编码设置才会出现问题。5.3 分卷包解压时提示缺少分卷分卷包解压时报“Cannot find volume”多半是某个分卷文件没有传输过去或者文件名被改了。分卷包的文件名是有规则的xxx.part01.rar、xxx.part02.rar中间不能缺卷命名不能随意改。建议解压前先把所有分卷放在同一个空目录下然后执行unrar x xxx.part01.rar不要直接去解压中间的某个分卷那样一定会报错。如果分卷是从不同渠道获取的建议先检查所有文件大小是否一致不一致基本说明有破损。5.4 压缩包损坏后的修复方法RAR格式自带恢复记录机制创建压缩包时加-rr10%参数可以预留10%的空间存放恢复数据。一旦压缩包损坏可以用rar r命令尝试修复rar r damaged.rar修复后会在同目录下生成damaged_fixed.rar再对它进行解压。这里有个经验之谈如果对方发给你的压缩包不带恢复记录损坏后基本无法修复所以重要数据发送前建议在压缩时明确加上恢复记录特别是通过不稳定网络传输的场景。实测下来-rr10%的额外开销很小但在关键时刻能救命。5.5 在sudo环境下使用rarlinux的注意事项有些服务器启用了secure_path用sudo执行RAR命令时可能找不到命令。这时有两个选择一是用绝对路径执行/usr/local/bin/rar这样二是在/etc/sudoers中把/usr/local/bin加到secure_path。更推荐的是在脚本中直接使用绝对路径因为这样不依赖环境变量执行结果更可控。6. 关于版本选择与后续维护的建议6.1 为什么我建议服务器上优先用稳定版而不是beta版前面说RAR 6.1.b1是测试版如果你是在生产服务器上长期使用我建议去官网看看有没有更新的稳定版。测试版可能包含尚未充分验证的代码路径比如某些极端压缩场景下内存处理可能有隐患这在长期运行的服务上风险会被放大。我自己在备用机上测试beta版没问题但生产环境的服务器一直用的是稳定版。6.2 定期检查更新与卸载方法RAR工具更新频率不算高但每次更新都可能有安全修复和格式兼容改进特别是新的RAR版本如果推出了新压缩算法旧版本就可能无法正确解压。建议每半年检查一次官网版本号必要时替换二进制文件。替换方法很简单重新下载新的tar.gz包解压后用新版文件覆盖/usr/local/bin/rar和/usr/local/bin/unrar即可。如果想彻底卸载删除这两个文件以及/usr/local/lib/rarfiles.lst就可以了。6.3 一个小习惯压缩前先自查在日常使用中我养成了一个习惯任何重要文件在打包后都会先跑一次unrar t测试完整性确认没问题再传输。这个习惯帮我避免了很多尴尬时刻——比如发出去的压缩包是坏的对方解压时直接报错。测试命令很快但价值很高强烈推荐你也养成这个习惯。本文还有配套的精品资源点击获取