Linux 命令行安装 rarlinux-x64-6.1.b1 与 RAR 分卷加密实战
简介rarlinux-x64-6.1.b1.tar.gz 是面向 64 位 Linux 用户的 RAR 命令行压缩工具测试版适用于 Ubuntu、Fedora、Debian 等 x86_64 平台解决在 Linux 环境下创建、解压 RAR 档案及处理多卷压缩、自解压文件、加密与损坏修复等需求。压缩包共 11 个文件约 590KB以 txt 说明文档、rar 与 unrar 可执行文件、makefile 编译脚本、lst 文件列表、htm 帮助页面及 sfx 自解压模块为主覆盖安装、授权、版本更新与命令参考等配套内容。已有 198 人浏览学习。读者可借助其中的二进制工具与文档在命令行中完成压缩、解压、分卷与加密操作并参考说明文件了解授权条款、版本变更与常见用法适合需要 RAR 特性而非仅依赖 gzip 或 tar.gz 的 Linux 运维与开发人员。1. 从 rarlinux-x64-6.1.b1.tar.gz 说起为什么命令行解压工具还值得单独装很多人第一次在 Linux 服务器上拿到一个.rar包时下意识敲unrar x或者rar x结果终端回一句command not found。这不是系统坏了而是绝大多数发行版默认只带tar、gzip、xz、zipRAR 因为授权原因不会预装。rarlinux-x64-6.1.b1.tar.gz就是官方给出的 Linux x64 命令行版本压缩包解压后能得到rar、unrar两个可执行文件以及配套的rar静态库和文档。它解决的核心问题很具体在纯命令行环境里创建、解压、校验 RAR 归档尤其是分卷包和带恢复记录的包。适合谁运维、后端、数据交付岗以及经常要处理别人发来的.part1.rar这类分卷资源的从业者。图形界面工具在服务器上根本跑不起来这个包就是那类场景下的刚需。2. 解包与安装把 tar.gz 变成可用的 rar/unrar 命令2.1 先看清包里到底有什么拿到rarlinux-x64-6.1.b1.tar.gz后别急着解压到系统目录。先在一个临时目录里展开确认目录结构和文件权限这一步能避免后面把不该覆盖的文件写进/usr/local/bin。# 建一个临时工作目录避免污染当前路径 mkdir -p /tmp/rarlinux-setup cd /tmp/rarlinux-setup # 解压 tar.gz-x 解包 -z 走 gzip -v 显示过程 -f 指定文件 tar -xzvf /path/to/rarlinux-x64-6.1.b1.tar.gz # 查看解压出来的顶层目录 ls -la执行完通常会看到一个名为rar的目录。进去之后重点看三类文件rar创建归档、unrar解压归档、rarfiles.lst默认文件列表、technote.txt版本说明。rar和unrar是 ELF 可执行文件file命令确认一下架构必须是 x86-64否则在 ARM 机器上跑不起来。cd rar file rar unrar # 期望输出包含 ELF 64-bit LSB executable, x86-64参数说明tar -xzvf里-z只针对 gzip 压缩如果包是.tar.bz2要换成-j这里是.tar.gz所以用-z。-v不是必须但排查解压中断时很有用能看到卡在哪个文件。2.2 安装到系统路径的两种做法常见做法有两种直接复制到/usr/local/bin或者复制到/usr/local/lib再软链。前者简单后者便于以后升级时只替换 lib 目录。我一般用第一种因为rar和unrar是独立可执行文件不依赖同目录的库文件。# 进入解压后的 rar 目录 cd /tmp/rarlinux-setup/rar # 复制可执行文件到系统 PATH 覆盖的目录 sudo cp rar unrar /usr/local/bin/ # 给执行权限有些解压方式会丢权限位 sudo chmod 755 /usr/local/bin/rar /usr/local/bin/unrar # 验证版本确认命令可用 rar --version unrar --version逻辑说明/usr/local/bin默认在大多数发行版的PATH里优先级高于/usr/bin所以不会和系统包管理器冲突。chmod 755保证所有用户可执行、仅所有者可写。验证时rar --version会输出版本号和授权提示unrar --version输出解压器版本两者版本号一致说明复制完整。提示如果rar --version报GLIBC版本错误说明系统 glibc 太旧这个 x64 构建依赖较新的运行库需要换更老的构建或升级系统不要强行覆盖系统库。2.3 用一条命令验证安装是否真的可用装完别只看版本号实际压一个目录再解出来才算闭环验证。# 造一个测试目录和文件 mkdir -p /tmp/rar-test/src echo hello rar /tmp/rar-test/src/a.txt # 创建归档-r 递归子目录 rar a /tmp/rar-test/demo.rar /tmp/rar-test/src # 列出归档内容确认文件在包里 unrar l /tmp/rar-test/demo.rar # 解压到指定目录-o 表示覆盖已存在文件 unrar x -o /tmp/rar-test/demo.rar /tmp/rar-test/out/参数说明rar a的a是 add后面第一个参数是归档名其余是要加入的文件或目录。unrar l是 list只列不写盘。unrar x是 extract with full paths会保留归档内的目录结构如果只想平铺解压用unrar e。-o控制覆盖策略-o-是不覆盖-o是全部覆盖脚本里建议显式指定避免交互式提问卡住自动化流程。3. 分卷、恢复记录与密码RAR 真正区别于 zip 的三个能力3.1 分卷压缩的参数怎么设RAR 最常被用到的场景是大文件分卷比如把几十 GB 的数据集切成固定大小便于传输。-v参数控制分卷大小单位可以是k、m、g。# 把 bigdata 目录切成每卷 500MB 的分卷包 rar a -v500m -r /data/backup/bigdata.rar /data/bigdata # 生成的文件形如 bigdata.part1.rar、bigdata.part2.rar ... ls -lh /data/backup/逻辑说明-v500m表示每卷 500MBRAR 会自动命名part1、part2。解压时只需要对第一卷操作unrar会自动找后续卷。# 解压分卷包只需指定第一卷 unrar x /data/backup/bigdata.part1.rar /data/restore/参数说明分卷大小不要设成刚好等于目标存储介质的容量要留出文件系统元数据和日志空间常见做法是留 5% 余量。如果分卷包在传输中丢了一卷unrar会明确报出缺失的卷号不会静默解出半截数据这点比某些自制切分脚本可靠。3.2 恢复记录给归档买一份后悔药RAR 的恢复记录recovery record是它和 zip 拉开差距的地方。归档在存储或传输中发生局部损坏时只要损坏比例不超过恢复记录百分比就能修复。# 创建归档时加入 5% 恢复记录 rar a -rr5p -r /data/archive/project.rar /data/project # 归档损坏后尝试修复 rar r /data/archive/project.rar参数说明-rr5p中rr是 recovery record5是百分比p表示按百分比计算。百分比越高归档体积越大5% 是常见折中值重要数据可以到 10%。修复命令rar r会生成一个rebuilt.project.rar原文件保留修复结果写进新文件确认无误后再替换。注意恢复记录只能对抗局部损坏不能对抗整卷丢失。分卷场景下如果某一卷整个没了恢复记录也救不回来所以分卷包要额外做校验和备份。3.3 密码与加密头别只加密码不加头加密给 RAR 加密码时默认只加密文件内容文件名仍然可见。要连文件名一起藏起来需要加-hp而不是-p。# 加密文件内容文件名可见 rar a -pMyPass123 -r /data/secret/doc.rar /data/secret # 加密文件内容 加密文件头文件名不可见 rar a -hpMyPass123 -r /data/secret/doc_secure.rar /data/secret参数说明-p是普通密码-hp是加密文件头。-hp的代价是解压时必须先输密码才能列出内容自动化脚本里要配合-p传参。密码直接写在命令行会进 shell 历史生产环境建议用-p不带值让程序交互式读取或者从受限权限的文件里读。4. 避坑与排查rarlinux 用起来最容易翻车的五个点4.1 现象rar: command not found但文件明明复制了原因复制目标目录不在当前用户的PATH里或者复制时用了sudo cp但目标目录权限不对导致文件不可执行。解决echo $PATH确认/usr/local/bin在列ls -l /usr/local/bin/rar看权限位是否有x没有就chmod 755。如果PATH里确实没有改用绝对路径/usr/local/bin/rar调用或者把目录加进PATH。4.2 现象解压时报Cannot open file或No such file or directory原因分卷包只下载了第一卷后续卷缺失或者文件名里的part1被浏览器重命名成了(1)之类。解决ls确认所有分卷都在同一目录且命名连续unrar对分卷命名敏感part1、part2必须严格对应。如果文件名被改过手动改回标准命名再解压。4.3 现象unrar x解压后中文文件名变成乱码原因归档创建时用的字符编码和当前系统locale不一致常见于 Windows 下打的包在 Linux 解压。解决先unrar l看列表里的文件名是否正常如果列表就乱说明归档头里编码信息缺失可以尝试unrar x -sc或设置LANGzh_CN.UTF-8后再解。根治办法是让打包方用 UTF-8 环境创建归档。4.4 现象rar a创建归档时提示Permission denied原因目标归档路径所在目录当前用户没有写权限或者要打包的源目录里有文件不可读。解决确认输出目录可写touch一个测试文件验证源目录用sudo打包时注意打包出来的文件属主是 root后续普通用户可能改不了。常见做法是切到有权限的用户再打包而不是一路sudo。4.5 现象恢复记录修复后文件仍打不开原因损坏比例超过了恢复记录百分比或者损坏发生在归档头而非数据区。解决rar r修复前先备份原文件修复后unrar t做完整性测试t是 test只校验不解压。如果测试仍失败说明损坏超出恢复能力只能从原始数据重新打包。血泪经验是恢复记录百分比别抠重要归档直接上 10%。5. 进阶把 rar/unrar 接进自动化流水线与校验习惯5.1 用脚本做「打包—校验—清理」闭环单次手动敲命令容易漏掉校验步骤我一般写一个小脚本把打包、测试、生成校验和串起来。下面这个脚本处理一个目录产出分卷包和 SHA256 清单。#!/usr/bin/env bash set -euo pipefail SRC_DIR$1 # 要打包的源目录 OUT_DIR$2 # 输出目录 VOL_SIZE500m # 分卷大小 RR_PERCENT5p # 恢复记录百分比 mkdir -p $OUT_DIR BASE_NAME$(basename $SRC_DIR) ARCHIVE$OUT_DIR/${BASE_NAME}.rar # 打包递归 分卷 恢复记录 rar a -r -v$VOL_SIZE -rr$RR_PERCENT $ARCHIVE $SRC_DIR # 完整性测试-t 只校验不解压 unrar t $ARCHIVE # 对第一卷生成校验和分卷包校验第一卷即可覆盖全部 sha256sum $OUT_DIR/${BASE_NAME}.part1.rar $OUT_DIR/${BASE_NAME}.sha256 echo done: $ARCHIVE逻辑说明set -euo pipefail让脚本在任何一步失败时立即退出避免带着错误继续跑。unrar t是关键它在写盘前验证归档结构能在数据交付前拦住损坏包。sha256sum只对第一卷做因为分卷包是一个逻辑整体第一卷的校验和能代表整包一致性。参数上VOL_SIZE和RR_PERCENT抽成变量方便不同项目复用。5.2 校验和与恢复记录的分工很多人把恢复记录和校验和混为一谈其实两者职责不同。恢复记录负责「坏了能修」校验和负责「判断有没有坏」。只做校验和发现坏了只能重传只做恢复记录没有校验和就不知道什么时候该修。常见做法是两者都做交付前生成 SHA256 清单归档内嵌 5% 到 10% 恢复记录。机制作用触发时机代价恢复记录-rr修复局部损坏归档已损坏后体积增加对应百分比SHA256 校验和判断是否损坏传输/存储后校验可忽略unrar t解压前结构校验使用前耗时等于读一遍归档5.3 版本选择与升级注意rarlinux-x64-6.1.b1里的b1是 beta 标记意味着它是 6.1 分支的测试构建。生产环境如果追求稳定常见做法是等正式版但如果需要 6.1 引入的新特性beta 也可以用前提是做好归档兼容性测试。升级时不要直接覆盖/usr/local/bin里的旧文件先把旧版本备份成rar.bak新版本验证通过后再删。我自己的习惯是每次升级后拿一个已知归档跑一遍unrar t和unrar x确认解压结果和旧版本一致再切生产。从那以后我每次装完新版本都强制走一遍这个回归省得某天批量解压时才发现兼容性问题。希望帮到你。本文还有配套的精品资源点击获取