资讯动态

rarlinux命令行工具:Linux解压分卷加密与避坑实战

发布时间:2026/10/13 2:13:05 来源:尧图企业网站定制
简介资源是针对64位Linux平台的RAR压缩与解压工具版本为6.1.b1测试版适用于Ubuntu、Fedora、Debian等常见发行版面向需要处理RAR格式、追求高压缩率或利用多卷压缩、自解压、文件修复及AES加密等特性的开发者与运维人员。资源体积仅590KB共11个文件主要包含rar与unrar可执行程序、Makefile编译配置、txt格式的说明与许可文档、htm帮助页面等结构简洁可快速部署至命令行环境使用。目前已有197人学习下载属于较为轻量但功能完整的工具包。通过该资源用户可以获取Linux 64位环境下的RAR命令行工具完成压缩、解压、分卷及加密等操作同时了解测试版的更新内容适合需要在服务器或本地Linux系统中处理RAR档案的用户使用。1. rarlinux-x64-6.1.b1.tar.gz把 WinRAR 的能力搬进 Linux 命令行运维群里丢过来一个压缩包后缀是 .rar你手头只有 tar、gzip 和 zip全都不认识这个格式。Windows 同事用 WinRAR 打的包30GB还分了三卷Linux 上连看都看不了。最省事的解法就是把 rarlinux 这个官方命令行工具拉下来。rarlinux-x64-6.1.b1.tar.gz 是 RAR 官方为 64 位 x86 架构 Linux 发布的命令行程序包解开后是 rar 和 rar_static 两个可执行文件能解压、能创建、能加密、能分卷和 Windows 上的 WinRAR 共用同一套归档格式。这个工具适合运维、网管和所有需要和 Windows 生态交换压缩包的人装好之后它能进脚本、进 crontab以后见到 .rar 不用再四处求人。2. Linux 上为什么还要装 rar选型、架构与版本判断2.1 现实场景Windows 传过来的 .rarLinux 上解不开有多痛很多跨组织协作的默认压缩格式就是 rar。银行对账单、设计院图纸、老 ERP 的导出文件对方 IT 随口一句“我打成压缩包发你了”你用 Linux 一收tar 不认识gzip 报错zip 工具也说不支持。这时候你才意识到linux 常用命令清单里根本没有处理 rar 的选项。痛点有三层。第一层是分卷对方发来 backup.part01.rar 到 part10.rar少了哪一卷都解不了tar 没有这种习惯。第二层是加密带密码的 rar 在 Windows 上是双击输密码在 Linux 上要用命令行工具处理密码输入和文件名加密两种情况。第三层是恢复记录rar 分卷可以带恢复记录坏了能用 -rr 重建这对跨网络传输来说几乎是刚需。所以至少在需要和这类外部系统打交道的机器上rar 不是一个“可选工具”而是和 curl、jq 一样的基础设施。下面我把选型、装法、常用参数、翻车点一次讲完照着敲就行。2.2 四个常见方案对比rar、unrar、7z、tar工具创建 rar解 rar5加密/文件名加密分卷与恢复记录授权rar官方 CLI支持支持支持支持专有个人免费商用购买unrar官方免费版不支持支持支持分卷可解免费7z / p7zip不支持只读、部分部分支持不支持恢复记录LGPLtar gzip不支持不支持不支持不支持GPL选型结论分三种情况。只是偶尔解开别人发的包装 unrar 就够包小、无依赖、免费但 unrar 只能解不能压对方让你“处理完再打包发回来”时你就傻眼。需要双向交换的直接装官方 rar这也是 RAR 官方对 Linux 平台的标准答案。7z 在理论上是开源合规的选择但面对 rar5 加密分卷经常翻车p7zip 对 rar 的解压只是“能读”而不是“可靠”极端情况解到一半报 unsupported method这是我的血泪经验。2.3 先确认架构x64 与 arm64 的区别别下错包下载之前先弄清楚机器是什么架构这就是网上经常搜到的“arm64和x64有什么区别”。x64也叫 x86_64是 Intel/AMD 的 64 位arm64aarch64是 ARM 的 64 位。两者指令集不同二进制不通用。rarlinux-x64 里的 x64 明确告诉你这是给 x86_64 的构建。# 查看当前系统架构常见输出x86_64 / aarch64 uname -m # 进一步确认能跑的二进制格式 file /bin/ls输出 x86_64 就用 rarlinux-x64输出 aarch64 说明是 arm64要去官网找带 arm 标识的 rar 构建。国内现在的国产服务器很常见鲲鹏、飞腾都是 arm64下错包的结果是执行时报 cannot execute binary file: Exec format error这条报错本身就是最明确的信号。还有一类坑在容器有些精简镜像里 uname 返回 host 架构但 glibc 版本很老这个问题留到 5.1 节讲。2.4 6.1.b1 是 beta能不能直接用6.1.b1 是 RAR 6.1 周期的第一个 beta。beta 的意思是功能基本定型但可能存在边角 bugRARLab 的习惯是 beta 与正式版相差不大个人机器上练手完全没问题。生产环境我的建议是拉正式版不要用 beta 当备份脚本的长期底座。这里还有一个绕不开的历史问题。6.1.b1 所属的版本周期在解压时对符号链接的校验不够严格公开编号 CVE-2022-30333 就是这类路径穿越问题后续在 6.12 版本做了修复。所以如果你手里的包停在 6.1.b1请记住两点不要用 root 去解压来历不明的 rar有条件就升级到 6.12 之后的正式版。这个问题在 5.5 节还会具体说。3. 安装 rarlinux-x64-6.1.b1.tar.gz最小命令到系统级安装3.1 临时救急解压直接跑拿到这个 tar.gz 包最简单的用法是解压后直接在当前目录跑不需要 root适合跳板机、别人机器、临时容器这类没有安装权限的环境。包解开后会得到一个 rar 目录里面是 rar动态链接版和 rar_static静态链接版两个可执行文件还有许可和说明文本。# 解压GNU tar 会自动识别 gzip-z 参数可写可不写 tar -xf rarlinux-x64-6.1.b1.tar.gz # 查看目录内容确认文件齐全 cd rar ls -la # 不安装直接在当前目录执行 ./rar --version这段命令的逻辑是先解压再看再执行。tar -xf 里没有 -z因为 GNU tar 会根据文件内容自动识别 gzip 压缩写 -zxvf 也没错但 -xf 更省事ls -la 是确认 rar 和 rar_static 都在且权限位里有 x./rar --version 只输出版本和版权不会做任何写操作适合作为第一次运行的冒烟测试。如果 ls 发现权限位丢了比如下载工具改过先 chmod x rar 再跑。3.2 系统级安装install 到 /usr/local/bin需要长期使用就把它装进系统 PATH。常见做法是把 rar 和 rar_static 都复制到 /usr/local/bin而不是 /usr/bin。/usr/local/bin 是给管理员手工安装的软件准备的发行版的包管理器不会去动它避免某次系统更新把工具覆盖成别的版本。# 复制到 /usr/local/bin权限 755 保证可执行 sudo install -m 755 rar rar_static /usr/local/bin/ # 确认系统能找到命令 which rar # 如果 PATH 里没有 /usr/local/bin再加个软链 sudo ln -s /usr/local/bin/rar /usr/bin/rarinstall 命令同时做了复制和设置权限两件事-m 755 表示所有者可读可写可执行组和其他用户可读可执行这是常见系统命令的权限位which rar 验证命令是否进入 PATH。关于软链那条大部分发行版的 PATH 都包含 /usr/local/bin不用软链只有个别精简系统或者你自定义过 PATH 才需要加。注意不要同时往 /usr/bin 和 /usr/local/bin 各放一份否则会出现你改了 A 结果系统跑的是 B 的玄学问题。3.3 验证版本输出和小压测装完不要直接拿生产数据试先用最小样本验证“创建”和“测试”两条链路。下面这段命令会创建一个临时目录、压成 rar、再用 rar t 验一遍完整性整个过程不影响现有数据。# 准备一个临时测试目录 mkdir -p /tmp/rar_test echo hello rar /tmp/rar_test/a.txt # 创建压缩包-r 递归-m3 标准压缩 rar a -m3 /tmp/demo.rar /tmp/rar_test/ # 测试压缩包完整性输出 OK 即通过 rar t /tmp/demo.rarrar a 的 a 是 add把文件加入压缩包-m3 是压缩级别里偏平衡的档位取值范围从 -m0仅存储不压缩到 -m5极限压缩验证时用 -m3 最合适。rar t 的 t 是 test它会把包内文件解压到内存做校验不改动磁盘文件这也是后面所有备份脚本里必须有的“后悔药”步骤——先测再删永远不要让没测过的压缩包成为唯一副本。看到 All OK 之类的输出安装就算通过了。4. rar 核心命令解压、创建、分卷与加密的参数怎么设4.1 解压三兄弟x、e、t用完一个工具先学解压。rar 的解压命令主要有三个x 保留压缩包内目录结构e 把所有文件平铺到当前目录t 只测试不实际解压。日常 90% 的场景用 x因为 Windows 那边压的包普遍带目录层级用 e 会摊出一大堆同名文件互相覆盖。# 保留路径解压 rar x backup.rar # 全部文件解压到当前目录不带目录 rar e backup.rar # 只测试完整性 rar t backup.rar # 解压包里的某个文件 rar x backup.rar doc/notes.txtx 和 e 的选择是很多新手翻车的点收到一个包用 e 解出来几百个文件全堆在当前目录同名文件一个覆盖一个事后找不到原始目录结构。rar x 按包内路径还原出来的目录和打包方一致。解压部分文件时rar x backup.rar doc/notes.txt 后面直接跟包内路径即可这个能力在做日志提取时很常用。还有两个参数务必记住-o 表示遇到已存在文件直接覆盖-o- 表示跳过不覆盖。不写这两个参数时rar 会停下来问你 y/n脚本里就会卡死。所以脚本里用 rar x -o 或者 rar x -o- 二选一显式指定。另外 -idq 可以把横幅和进度都压掉适合把输出喂给日志系统。4.2 创建压缩包a 与压缩参数创建 rar 用 a加到已存在的包也是同一命令。压缩级别、是否递归、是否保留绝对路径、要不要固实压缩都是在 a 后面挂参数控制。下面是最常用的组合。# 递归压缩整个目录极限压缩不保留命令行里多余的路径前缀 rar a -r -m5 -ep1 project.rar ./project/ # 文件名自动带日期时间适合定时备份 rar a -ag backup.rar ./data/ # 固实压缩压缩率更高但包内任意一处损坏会影响后续文件 rar a -s -r -m5 archive.rar /data/参数拆开说。-r 是递归子目录不加它压缩目录时只会收到目录名-m5 是极限压缩耗时最长但体积最小-m0 是仅存储适合压缩率无所谓、要速度的场景-ep1 表示不保存命令行里给出的基路径比如 ./project 里的那层前缀会被去掉解压出来直接是 project/ 目录下的内容不会多套一层路径。用 tar 的人经常被 tar 的 -C 绕晕rar 的 -ep1 就是干这个的。-ag 让 rar 自动在归档名后面拼上日期时间你不需要自己在命令行里算当前日期生成的会是 backup20250813.rar 这类名字配合 crontab 做每日归档非常方便。-s 固实压缩会把所有文件当作一个连续数据块处理压缩率通常比普通模式高几个百分点代价是包内任意一处损坏后面的文件都受影响分卷加固实时要格外小心这就是 4.3 节要讲恢复记录的原因。4.3 分卷与加密-v、-p、-hp、-rr跨网络传大包rar 最值钱的功能是分卷和加密。分卷用 -v 加体积单位加密用 -p 或 -hp。下面这段覆盖了分卷压缩、加密和带恢复记录三种能力。# 每卷 100MB分卷压缩 rar a -v100M -r backup.rar /data/ # 交互式输入密码创建加密包推荐密码不出现在命令行 rar a -p -r secret.rar /data/ # 加密文件名连包内目录名都看不到 rar a -hp -r secret.rar /data/-v100M 表示每卷 100MB也可以写 -v1G、-v2G生成的文件名是 backup.part01.rar、backup.part02.rar 这样。解压分卷时一定要指定第一部分rar x backup.part01.rarrar 会按顺序找后面的卷指定成 backup.rar 经常会提示找不到这个坑在 5.3 节细说。分卷配合恢复记录使用在 a 后面加 -rr10% 或 -rr10P意思是创建占压缩包体积 10% 的恢复记录某一卷损坏时可以用它重建数据跨网络场景基本是救命的。加密要特别注意 -p 和 -hp 的区别。-p 只加密文件内容文件名和目录结构仍然可见-hp 连文件名一起加密别人看到的就是一堆随机串隐私性更强当然没有密码时连列表都看不到。命令行里直接写 -p密码 最方便但最不安全因为进程参数会被 ps aux 看到任何能登进这台机器的人都能瞄到密码。我一般只写 -p 或 -hp 然后交互输入脚本里没法交互时再用 -hp密码并且保证这台机器只有自己能用。5. rarlinux 安装与使用避坑5 个常见翻车现场5.1 动态链接库报错error while loading shared libraries现象解压后运行 ./rarshell 直接报 error while loading shared libraries: libstdc.so.6连版本号都不显示。原因rar 是动态链接版本依赖系统的 C 运行库精简容器Alpine、distroless或很老的发行版缺这个库。rar_static 就是为这种情况准备的。解决# 查看动态依赖确认缺哪些库 ldd rar # 用静态版绕过系统库问题 ./rar_static --version把 rar_static 也复制到 /usr/local/bin 下面遇到动态库缺失时它就是现成的备用sudo install -m 755 rar_static /usr/local/bin/ rar_static t archive.rar提示如果 ldd 输出里缺的不只是 libstdc还缺 libgcc_s 之类说明基础库太精简静态版是唯一靠得住的方案。5.2 中文文件名乱码解压出来一堆锟斤拷现象Windows 那边压的 rarLinux 解压后中文文件名全乱码文件内容正常。原因老式 RAR4 包的文件名用的是 Windows 本地编码GBK/CP936Linux 默认按 UTF-8 解码于是一堆替换字符。RAR5 格式统一用 UTF-8新包一般没有这个问题。解决先试试直接解乱码了再换 unar它对常见中文编码的识别比 rar 命令强# 用 unar 自动识别常见中文编码 unar backup.rar如果包里文件名是 GBKunar 会按 GBK 解出来并转成 UTF-8。新打包时注意用 RAR5 格式6.x 的 rar 默认就是 RAR5不要再用 -ma4 去造老包。5.3 分卷解压提示找不到下一卷现象rar x backup.part01.rar 解到一半提示 Cannot open backup.part03.rar但卷 3 明明就在同一目录里。原因常见三种。第一你误把命令写成了 rar x backup.rarrar 去找 backup.r00 之类找不到很正常第二有人手动改过中间卷的文件名比如加了个“-副本”第三下载工具把卷下载成了 .part 后缀的临时文件。分卷文件名严格的命名序列是 part01、part02……中间断了就接不上。解决# 确认所有卷在同一目录命名连续 ls -la backup.part*.rar # 从第一部分开始解rar 自动找后续卷 rar x -o backup.part01.rar上传下载大文件时建议先比较每卷的 sha256 再拼接使用谁也别信下载工具的“完成提示”。5.4 解压出来的脚本没有执行权限现象解压完一个部署包里面的 install.sh 或二进制没有 x 权限直接 ./install.sh 报 Permission denied。原因压缩包在创建时没有保留 Unix 权限位或创建方是 Windows 侧工具打包后脚本权限被存成了 0644。解决解压后统一设置执行权限# 给整个目录下的 .sh 都加执行位 find . -name *.sh -exec chmod x {} \; # 单个文件直接加 chmod x install.sh创建端反过来要保住权限位rar a 时用 -ol 保存符号链接为链接-or 把符号链接内容当普通文件保存这两者行为不同按预期选。5.5 安全永远别在 root 下解压来历不明的 rar现象测试环境里用 root 解了一个外部发来的 rar事后发现 /root/.bashrc 内容被改了多了一段反弹 shell。原因这是老版本 RAR 的路径穿越与符号链接校验问题公开编号 CVE-2022-30333恶意包可以在解压时把文件写到预期目录之外6.12 版本修复了这一类问题。6.1.b1 明显处于受影响区间。解决第一解包前先 rar t损坏的包直接拒收第二用非特权账户解压目录放在 /tmp 或普通用户家目录绝不 root第三生产环境的 rar 升级到 6.12 之后的版本。这个点在 linux 面试题里也经常被拿来问本质是“永远不要信任一个需要解压的输入文件”。6. 进阶用 rar 写自动归档脚本和 tar 互补6.1 带日期、加密、恢复记录的分卷备份脚本装完 rar 之后我一般不会让它只当解压工具用而是把“给外部系统发包”这件事固化成脚本。下面这个脚本把 /data 打成带日期、加密、带恢复记录、每卷 2GB 的 rar输出到挂载好的 NAS 目录并在完成后自动测试完整性。#!/bin/bash # 每日 rar 分卷备份/data - /mnt/nas/backup set -euo pipefail DAY$(date %Y%m%d) BACKUP_DIR/mnt/nas/backup RAR_PASS$(cat /etc/rar_backup.key) # 创建-m3 平衡速度与体积-rr10% 恢复记录-v2G 分卷 rar a -r -m3 -rr10% -v2G -hp${RAR_PASS} \ ${BACKUP_DIR}/data_${DAY}.rar /data/ | tee /tmp/rar_backup.log # 验证测第一卷就能触发全卷校验失败即退出并告警 rar t ${BACKUP_DIR}/data_${DAY}.part01.rar脚本里的 -rr10% 表示恢复记录占 10%NAS 这类网络存储偶尔会有扇区级损坏恢复记录能挽回一部分-v2G 把大包切成 2GB 一卷方便后续刻盘或上传密码写在 /etc/rar_backup.key 这个 600 权限的文件里脚本与密码分离避免密钥混在脚本里被误读。需要说明的是-hp 带密码时进程参数仍可见所以这台机器的用户权限要管好。tee 把输出同时写日志和终端rar t 放在脚本末尾失败时 set -e 会直接让脚本退出并触发外部告警。6.2 验证习惯与 tar/rar 分工tar 和 rar 不是替代关系我自己的分工是本机快照、权限敏感的源码包用 tar gzip保留 unix 权限和符号链接最省事要发给外部单位、要加密、要分卷、要恢复记录的用 rar。验证习惯上所有备份脚本必须把 rar t 或 tar -tf 放在最后一步不通过就当备份失败这个习惯帮我拦下过好几次“压缩包其实已经损坏”的事故。最后提醒一句6.1.b1 的使命是让你低门槛上手真正跑生产前还是去官网拿新版本替换它。我自己当年就是拿 beta 包在跳板机上救过一次急后来把所有服务器的 rar 都换成了正式版从那以后没有再为符号链接漏洞提心吊胆过。希望这个方向对你有用也希望帮到你少踩一次坑。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑