简介这是一份适用于64位Linux系统的RAR压缩工具6.1.b1版本面向需要在Linux环境中创建、解压RAR格式文件的开发者与运维人员。当需处理RAR多卷压缩、自解压包或AES加密档案时该命令行工具便必不可少。压缩包共11个文件整体约590KB含rar与unrar可执行文件、makefile编译脚本、default.sfx自解压模块以及多份txt说明文档涵盖版本更新、使用说明、授权声明另有htm参考页与lst文件清单结构简洁易于部署。资源已有197人学习/下载。6.1.b1为测试版新增功能且可能存在未修复问题适合追求新特性并愿意承担风险的用户评估试用。部署简便可作Linux下RAR格式处理与自解压方案的重要补充工具。1. rarlinux-x64-6.1.b1.tar.gz 是什么一个让 Linux 也能开 RAR 的官方工具包从同事手里接过一个 .rar 备份文件放到刚配好的 Linux 服务器上一解tar、gzip、zip 全都认不出来这是不少刚开始接触 Linux 系统安装和 Linux 常用命令的同学遇到的第一道坎。rarlinux-x64-6.1.b1.tar.gz 是 RARLAB 官方发布的 Linux x64 命令行压缩解压工具包名字看着长其实就是一个编译好的二进制包没有源码、不需要编译解压后把 rar 和 unrar 两个文件放到 PATH 里就能用。它解决的是 Linux 环境下处理 RAR 格式的刚需解 Windows 传来的包、把服务器日志压成 rar、给备份加密和分卷。适合运维、嵌入式开发、DBA 以及桌面用户是服务器上最常被忽视的救命工具之一。2. 动手前先确认包内容rarlinux 的 tar.gz 里装的不是源码拿到这类 tar.gz 包很多人下意识以为是源码包想着 configure、make、make install 三步走。rarlinux 恰恰相反RARLAB 把编译好的二进制直接塞进 tar.gz解包即用。所以在安装之前有三件事值得先做核对下载完整性、看清包内结构、确认目标机器是真的 x64 架构。2.1 下载后先别急着解压拿到 tar.gz 先算一次校验和官网下载页通常会给出每个压缩包的 SHA256 校验值这个东西不是摆设。压缩二进制包最怕两件事下载过程中断导致文件截断或者镜像源被人动过手脚。前者会让解压时报“gzip: invalid compressed data”后者更隐蔽可能让你无意中拿到被替换过的程序。常见做法是下载完成后立刻算一次哈希和页面上的官方值比对。wget https://www.rarlab.com/rar/rarlinux-x64-6.1.b1.tar.gz sha256sum rarlinux-x64-6.1.b1.tar.gz逻辑说明第一行用 wget 把包下载到当前目录这是 Linux 下最直接的下载方式不加-O时文件名保持原样。第二行计算文件的 SHA256 摘要终端会打印一串 64 位的十六进制字符串。把这串和 RARLAB 官网贴出的值对比完全一致再往下走。参数说明如果服务器上没装 wget可以用curl -O替代效果一样。对比哈希时不要只比前几位养成比全串的习惯。如果哈希对不上大概率是下载被中断或者镜像源有问题直接换源重下比硬解压安全得多。还有一个容易踩的细节RARLAB 的网页链接经常带上日期或版本号建议直接进官网的“RAR for Linux”目录找当前版本别用搜索引擎里流传的旧链接。旧链接可能指向已经不存在的路径也可能下到过期版本解出来的程序和系统里的 glibc 对不上。2.2 解压后先看目录结构再确认二进制权限tar.gz 是两层封装tar 负责打包gzip 负责压缩。所以解包命令里-x是解包-f指定文件名GNU tar 会自动识别 gzip 压缩不用额外写-z。解压之后先别急着复制看一眼目录结构和文件权限能省掉后面一大半排查时间。tar -xf rarlinux-x64-6.1.b1.tar.gz ls -l rar unrar rarfiles.lst license.txt readme.txt file rar unrar逻辑说明-xf组合是解包最常见写法-x表示 extract-f表示后面跟文件名想看得详细一点可以改成tar -xvf多一个-v会把每个解出来的文件名打出来。解压后ls -l检查权限位重点看 rar 和 unrar 有没有执行权限也就是权限位里有没有x。大部分官方 tar 包制作时保留了执行位但如果包是从 Windows 上传到服务器、或者经过某些在线解压服务中转权限位可能变成 644这时需要手动补上执行权限。file命令是这里最实用的一步。它直接读二进制文件头输出 rar 是 ELF 64-bit 可执行文件还是 32 位链接的是动态库还是静态编译。正常情况下应该看到类似 “ELF 64-bit LSB executable, x86-64” 的输出。参数说明老版本 tar 如果不自动识别 gzip可以写成tar -xzf多一个-z明确指定 gzip 解压对结果没有影响。检查权限后如果发现没有x执行chmod x rar unrar补上这一步在瘦身过的容器镜像里尤其容易漏。2.3 确认目标机器的架构x64 与 arm64 的区别为什么在这里起作用rarlinux-x64-6.1.b1.tar.gz 里的二进制是面向 x86_64 编译的成品不是源码没法拿到 ARM 机器上重新编译。这就是“arm64和x64有什么区别”这个问题在这个场景下的最直接体现架构不匹配二进制就是跑不了报错还不是那种友好的“Exec format error”有时候就是一个让人摸不着头脑的 “No such file or directory”。uname -m ldd rar逻辑说明uname -m打印内核架构。输出x86_64说明可以正常使用 x64 包输出aarch64说明是 ARM64 环境要去 RARLAB 找对应的 ARM 版本输出i686或i386说明是 32 位环境rarlinux-x64 同样装不上。ldd rar用来查看 rar 二进制依赖哪些动态库如果输出里有 “not found” 字样说明当前系统缺少运行库需要先补基础依赖。参数说明部分精简版 Linux 镜像或容器里没有ldd命令这时直接执行./rar看报错常见的 “No such file or directory” 很多就是指动态链接器缺失而不是文件不存在。这种情况下给镜像装上 glibc 相关基础包就能解决。3. 安装到系统路径把 rar 和 unrar 变成 Linux 常用命令rarlinux 包里的两个核心程序各有分工rar 负责创建压缩包unrar 负责解压。安装的目标只有一个让这两个命令在任意目录下都能直接敲出来用。最常见的做法是复制到/usr/local/bin这是 Linux 系统放用户级可执行文件的标准目录优先级在/usr/bin之前一般发行版默认就在 PATH 里。不想要 root 权限、或者公司安全策略不许动系统目录的也有对应的本地安装法。3.1 复制到 /usr/local/bin注意 rarfiles.lst 别落下很多人图省事只把 rar 和 unrar 两个文件复制过去结果一运行就报错。rar 启动时需要读取同目录下的 rarfiles.lst 配置文件文件里记录了 RAR 支持的文件扩展名和格式描述少了它rar 命令会直接拒绝工作。所以复制时三件套要一起走。cp rar unrar rarfiles.lst /usr/local/bin/ which rar ln -s /usr/local/bin/rar /usr/local/bin/rar6逻辑说明第一行把三个文件一并复制到/usr/local/binrar 和 unrar 是主程序rarfiles.lst 是配置。复制完用which rar确认命令是否在 PATH 中如果输出了路径说明安装成功。第三行创建一个名为 rar6 的符号链接方便在同时装了多个版本时快速区分。参数说明ln -s的语法是“先写目标再写链接名”这里目标写/usr/local/bin/rar链接名写/usr/local/bin/rar6执行后敲rar6等效于敲rar。符号链接的好处是升级时只要替换/usr/local/bin/rar本体链接不用动。如果which rar输出为空说明/usr/local/bin不在 PATH 里可以执行export PATH/usr/local/bin:$PATH临时解决写入~/.bashrc永久解决。3.2 验证安装版本输出和一次最小压缩解压装完不是结束得确实跑一次压缩和解压确认二进制在当前系统里能正常工作。这一步别嫌麻烦见过太多人装完不验证等到真用的时候才发现动态库缺了或者权限不对。验证要覆盖三个动作看版本、压缩、测试完整性。rar unrar mkdir -p /tmp/rar-demo cd /tmp/rar-demo echo hello rar demo.txt rar a demo.rar demo.txt unrar t demo.rar逻辑说明直接执行rar不带参数程序会打印版本号、版权信息和基本用法出现这些说明二进制能跑起来。mkdir -p创建演示目录cd进入目录echo重定向生成一个测试文件。rar a demo.rar demo.txt把 demo.txt 压缩成 demo.rar最后unrar t demo.rar测试归档完整性。参数说明rar a里的a是 add 命令表示创建压缩包并添加文件后面先写压缩包名再写源文件。unrar t里的t是 test 命令逐个文件解压到内存并计算校验和不落盘。测试通过后输出里会出现 “All OK” 或类似字样。第一次运行 rar 时终端里可能出现 “Evaluation copy” 提示这是官方评估版的行为不影响功能。3.3 不需要 root 权限的安装方式本地目录跑 rarlinux服务器上经常遇到没有 root 权限的情况比如公共开发机、容器里的普通用户、或者按安全基线收紧过的生产环境。这时不碰系统目录把 rarlinux 放到用户目录下再把目录加进 PATH 就行。这种本地安装方式维护起来也简单升级时删掉旧目录换个新的不影响系统里其他工具。mkdir -p ~/opt/rar cp rar unrar rarfiles.lst ~/opt/rar/ export PATH$HOME/opt/rar:$PATH逻辑说明第一行在用户主目录下建一个专属目录第二行复制三个文件进去第三行把目录临时加进 PATH。注意第三行只对当前终端会话生效重新登录后会失效。要永久生效把export PATH$HOME/opt/rar:$PATH写进~/.bashrc或~/.profile末尾再执行source ~/.bashrc重载。参数说明把 PATH 写在前面是为了让新目录优先级高于系统目录这样即使系统里存在旧版 unrar也会优先用本地版本。如果不希望被人为改动 PATH还可以直接创建软链接到~/bin只要~/bin在 PATH 里就能生效。rarlinux 默认会读取~/.rarrc配置文件想改默认压缩参数的话在用户主目录建一个.rarrc文件写入参数项效果和全局配置一样。4. rar 与 unrar 参数速查Linux 下压缩、加密、分卷一次讲清rarlinux 的命令行参数和 Windows 版 WinRAR 是同一套体系在 Linux 下用起来非常顺手。但正因为参数和习惯的 tar、zip 不一样新手容易在几个关键开关上迷糊。这一章把最常见的压缩、加密、分卷、解压场景拆开讲每一组参数都对应一个具体使用场景。下面这个表可以先存下来实际用的时候对照着敲。4.1 压缩一个目录递归参数与排除规则压缩目录是最常见的需求典型场景是打包日志目录或者打包整个项目目录。rar 对目录的处理和 tar 有个明显区别tar 压缩目录天然递归而 rar 在指定目录名时会进入目录递归但如果你写的是通配符比如*.log不加-r就只处理当前目录下的文件。所以稳妥起见统一加-r基本不会错。cd /var/log rar a -r -m5 -x*.gz -x*.tar nginx-backup.rar nginx/逻辑说明cd /var/log先进入日志目录rar a创建压缩包nginx/是要压缩的目录名。-r开启递归把 nginx 目录下所有层级文件都纳入。-m5是最大压缩比-x*.gz和-x*.tar是排除规则跳过已经压缩过的文件节省压缩时间。参数说明-m后面跟 0 到 5 的数字0 是仅存储不压缩速度快但体积大5 是最高压缩率对 CPU 占用也最高。日常日志备份用-m3或-m5看机器性能而定。-x可以重复写多个每个指定一类排除模式。排除规则还支持从文件读取先准备一个 exclude.txt每行写一个匹配模式命令改成-xexclude.txt适合排除规则特别多的情况。压缩完成后用rar l nginx-backup.rar列出压缩包内容确认文件数量和大小是否符合预期。这里有个经验第一次跑压缩备份时列目录检查一遍能防止后面发现包是坏的。4.2 保护备份密码、文件头加密与分卷压缩备份文件最怕两件事被人打开看内容、文件太大不好传输。rar 在这两个场景下都有专门参数。-p和-hp都是设置密码但区别很大-p只加密文件内容压缩包里的文件名依然可见-hp连文件头一起加密别人拿到包连里面有几个文件都看不到。分卷压缩则是把一个大压缩包拆成若干指定大小的分卷文件默认命名是backup.part1.rar、backup.part2.rar这种。rar a -hpMySecret123 -v100M -rr10 backup-2025.rar /data/mysql_backup/逻辑说明-hp后面紧跟密码注意中间不能有空格这是最容易踩的地方。-v100M指定分卷大小每 100 兆切一个文件。-rr10添加 10% 的恢复记录作用是分卷受损时能自行修复传输可靠率提升不少。目标目录/data/mysql_backup/是源数据backup-2025.rar 是生成的归档。参数说明-hp和-p不能混用一个是一般加密一个是文件头加密。用-hp时解压方也得到处输入密码而且所有分卷都基于同一把密码。-v的大小单位支持 k、m、g比如-v50k切 50 千字节-v1g切 1 吉字节测试小分卷可以用 k 级单位快速验证逻辑。-rr10推荐比例在 5 到 10 之间比例越高恢复能力越强但压缩包体积越大。创建完分卷后ls -lh backup*查看分卷是否完整生成。分卷文件必须放在同一个目录下才能正常解压这是 rar 分卷的硬性要求。4.3 解压操作按需提取单个文件测试归档完整性解压这一侧unrar 的参数简单得多但区分两个命令很关键unrar e把所有文件解压到当前目录不保留目录结构unrar x保留压缩包内的目录层级。多数情况下要的是x用了e可能会有多个同名文件互相覆盖的问题。unrar t backup-2025.part1.rar unrar l backup-2025.part1.rar | grep \.sql unrar x backup-2025.part1.rar /data/restore/逻辑说明第一行unrar t测试分卷包完整性它会顺着part1往下找后续分卷逐个校验。第二行unrar l列出包内文件列表管道加grep只筛选出.sql文件这种按需查看方式在大包里非常高效。第三行unrar x保留目录结构解压到/data/restore/目标目录必须提前存在或结尾带斜杠unrar 不会自动创建多级不存在的目录。参数说明分卷解压时只需要指定第一个分卷文件名unrar 会自动拼接后续分卷。unrar x后指定目标目录时注意目录末尾的/写错了解压出来的文件会散落在当前目录。另外unrar t对加密分卷会提示输入密码自动化脚本里可以用unrar t -p密码 backup.part1.rar预先传参避免卡在交互提示符上。5. 避坑手册rarlinux 使用中常见的 6 个翻车现场rarlinux 本身很稳定大部分问题出在环境匹配和命令写法上。这一章整理了六个高频翻车场景每个都按“现象、原因、解决”的顺序写基本覆盖了从安装到日常使用的坑。排查问题的时候先对照现象再顺着原因去找能省下不少时间。5.1 现象执行 rar 报 “No such file or directory”文件明明就在那里这是最让人崩溃的报错之一。明明ls -l rar能看到文件直接执行却提示不存在。第一次遇到的人往往会怀疑网络下载的包坏了重下一遍还是一样。原因这里说的不是文件不存在而是动态链接器不存在。rarlinux 的二进制依赖/lib64/ld-linux-x86-64.so.2在精简版容器镜像、轻量发行版或者 32 位系统上这个路径可能缺失系统就报了这么个误导性错误。还有一种情况是在 ARM 机器上跑 x64 二进制同样会出这个错。解决先执行file rar确认架构再执行ldd rar看动态库依赖。确认是环境缺库后在 Ubuntu 系执行apt install libc6CentOS/Rocky 系执行yum install glibc。容器里则检查基础镜像是否用了精简版换标准镜像或直接选用静态链接版本。5.2 现象解压 Windows 传来的 RAR中文文件名全是乱码从 Windows 同事那里收到压缩包解压出来文件名显示成乱码内容本身完好就是文件名没法看。在 utf-8 环境下系统 locale 不对劲时更明显。原因老版本 WinRAR 创建压缩包时文件名用的是本地语言编码简体中文环境是 GBK不是 UTF-8。新版本 rar 默认按 Unicode 存储文件名但如果包的创建方用了旧版工具或者创建的包用了“兼容模式”文件名编码就对不上现代 Linux 的 UTF-8 环境。解决解压时临时指定 UTF-8 环境命令写成LANGzh_CN.UTF-8 unrar x admin.rar。如果文件名已经解压成乱码用convmv -f GBK -t UTF-8 --notest 目录名/批量转码。最稳妥的办法还是让发包方在 WinRAR 里把“文件名编码”选成 UTF-8一劳永逸。这是同事之间协作时最值得传达的一条经验。5.3 现象rar 命令报 “Cannot open userfile rarfiles.lst”压缩命令没跑起来直接提示打不开 rarfiles.lst连版本信息都不打印。第一次见到这个报错的人通常很疑惑我的文件列表里根本没有这个文件。原因rar 启动时会读取同目录下的 rarfiles.lst 配置文件只复制了 rar 二进制没把配置文件带过去。这种情况大多发生在手动复制安装、或者只复制单个程序到其他机器的时候。解决把 rarfiles.lst 从解压目录复制到 rar 所在的目录。如果因为某些原因不想放这个文件可以用环境变量指定配置目录执行export RAR/path/to/rar让 rar 去指定目录找配置。但这种情况复制文件永远是最省事的做法。5.4 现象压缩备份时把备份包套进了备份自身执行rar a /var/www/backup.rar /var/www后发现压缩时间越来越长甚至报错、生成的压缩包损坏。打开包列表一看里面竟然有个 backup.rar而这个 backup.rar 里又是 backup.rar。原因把压缩包输出路径写在了源目录内部。rar 处理到源目录里的 backup.rar 时会尝试把它也压进去而这个文件还在被当前进程写入就形成了套娃循环。实际表现可能是当场报错也可能是生成了一个损坏的递归包。解决压缩包输出路径不要放在源目录内部。习惯是把归档写到另一个目录比如rar a /backup/www_$(date %F).rar /var/www。如果输出路径必须在源目录里加上排除规则-xbackup.rar。这条坑在写定时任务时特别容易触发因为定时任务里路径都写得很长稍不注意就套进去了。5.5 现象分卷包提示缺少下一个卷但所有卷都在同一目录下载了完整的分卷包放在同一个文件夹里解压时提示找不到 part2 或 part3手动翻目录发现文件都在。原因分卷文件被改名过或者后缀大小写不对。.part1.rar改成backup1.rar、.part2.rar改成backup2.rarunrar 就断链了。还有一类情况是从网盘下载时文件名被附加了额外后缀比如.rar.1也会导致识别失败。解决检查文件名是否严格保持名字.partN.rar格式不对就批量改名一般用rename命令处理。解压时始终指定.part1.rar而不是中间某个分卷。顺便提醒一句分卷包传输时尽量打成 zip 再传或者直接上传全部.part文件不要单独传某一个。5.6 现象老 RAR 包解不开提示加密算法版本不支持翻出一个早年存档的 RAR 文件运行 unrar 提示算法不支持或者直接拒绝解压。文件本身没坏就是打不开。原因RAR 压缩格式有多个版本最老的一版加密算法用得很原始。新版 rarlinux 的 unrar 已经移除了部分过时算法的支持特别是用早期国产压缩软件创建的包偶尔会撞上这种兼容性问题。解决确认包真实格式用file 老文件.rar看输出。不可解时找一台 Windows 机器用老版本 WinRAR 转成 zip 或者 RAR5 格式再传回 Linux。日常创建新备份时可以用rar a -ma5 archive.rar 目标明确使用 RAR5 格式提高未来兼容性。这条坑的教训是重要归档别永久依赖单一压缩算法定期做一次格式迁移是值得的。6. 进阶技巧把 rar 命令写进自动备份脚本压缩加校验一次完成到了这一步安装和手动使用基本都没问题了。最后分享一个我自己在用的脚本思路把压缩、加密、校验、日志输出全部包进一个 shell 脚本里配合 crontab 定时跑。脚本的目标是“出了问题能自己报出来”而不是闷头压一个包完事。#!/bin/bash BACKUP_SRC/data/mysql_backup BACKUP_DST/backup STAMP$(date %F-%H%M%S) PASSDbBackup2025 rar a -rr10 -hp$PASS $BACKUP_DST/mysql_$STAMP.rar $BACKUP_SRC unrar t -p$PASS $BACKUP_DST/mysql_$STAMP.part1.rar /var/log/rarbak.log 21 echo backup done: $STAMP /var/log/rarbak.log逻辑说明前几行是变量定义备份源、目标目录、时间戳、密码各占一个变量方便后续修改。rar a创建带恢复记录和文件头加密的压缩包unrar t紧接着测试归档完整性。测试结果追加写入日志方便事后确认备份有没有成功。如果压缩或测试失败脚本退出前会把错误留在日志里第二天巡检时一眼就能看到。参数说明-hp后面引号不能省变量取值里如果有特殊字符引号能保证密码原样传给 rar。是追加写日志不会覆盖历史记录。测试命令里指定part1就够unrar 会自动拼接后续分卷。如果备份中用到了分卷注意-v参数不要写在第一条命令里否则测试时要确认所有分卷都在位。配套的定时任务一般长这样0 2 * * * /usr/local/bin/rarbak.sh意思是每天凌晨两点执行一次。跑一段时间后会得到一个经验日志里的 “All OK” 不稀有真正要紧的是记录“哪一天没有输出”。所以我在脚本末尾还会加一条清理逻辑删除 7 天前的旧日志文件避免日志占满磁盘。第一次写这个脚本时我也没加校验结果跑了一周才发现归档早就因为磁盘空间不足失败了。后来养成一个习惯每次压缩完立刻测试、测试结果写日志、日志定期轮转这三步缺一不可。希望帮到你。本文还有配套的精品资源点击获取