RAR 格式以壓縮率高、支援分卷、修復記錄著稱,但在 Linux 原生僅支援解壓(unrar),壓縮需官方專屬工具。本文涵蓋官方 rarlinux 安裝流程、常見缺庫錯誤解決、rar/unrar 核心參數與實戰範例。
rarlinux-x.x.x.tar.gz(建議 6.x 以上版本)。tar -zxvf rarlinux-6.24.tar.gz -C /opt
PATH):
ln -sf /opt/rar/rar /usr/local/bin/rar
ln -sf /opt/rar/unrar /usr/local/bin/unrar
rar -v
unrar -v
| 錯誤現象 | 原因 | 解決辦法 |
|---|---|---|
error while loading shared libraries: libstdc++.so.6 | 缺少 32 位元 C++ 執行庫 | yum install glibc.i686 libstdc++.i686(CentOS/RHEL)apt install lib32stdc++6(Debian/Ubuntu) |
FATAL: kernel too old | 舊版靜態編譯二進位需較舊 kernel ABI | 改用動態連結版或升級 kernel;或改用 p7zip(7z)支援 RAR5 解壓 |
make: *** No targets specified | 官方套件無 Makefile,無需編譯 | 直接複製二進位檔至 /usr/local/bin |
# 基本語法
rar a [-r] [-ep1] [-m<0-5>] [-v] [-p] 壓縮檔.rar 檔案/目錄...
# 常用參數
a 加入檔案到壓縮包(若不存在則建立)
-r 遞迴子目錄
-ep1 排除基礎路徑(只存相對路徑)
-m0~5 壓縮等級 0(存儲)~5(最佳),預設 3
-v 分卷大小(如 -v100m, -v1g)
-p 設定密碼(不安全,建議配合 -hp 加密檔頭)
-hp[pwd] 加密檔頭與資料(不輸入密碼則提示)
-k 鎖定壓縮包(禁止修改)
-rr[N] 加入修復記錄(N% 或預設)
-s 建立自解壓檔 (.sfx/.exe)
-t 完成後測試完整性
# unrar 語法(較簡潔)
unrar x [-o+|-o-] [-p] 壓縮檔.rar [解壓目標路徑/]
# rar 解壓語法
rar x [-o+|-o-] [-p] 壓縮檔.rar [解壓目標路徑/]
# 關鍵參數
x 保留完整路徑解壓(推薦)
e 忽略路徑,全部解壓到當前目錄
-o+ 覆蓋既有檔案
-o- 跳過既有檔案
-p 指定密碼
# 1. 將專案目錄壓縮為分卷 500MB、最高壓縮、加密檔頭
rar a -r -ep1 -m5 -v500m -hpsecret project.rar /var/www/project
# 2. 解壓分卷檔(只需指定 .part1.rar 或 .rar)
unrar x project.part1.rar /restore/
# 3. 僅列出壓縮包內容不解壓
unrar l project.rar
rar v project.rar
# 4. 測試壓縮包完整性
rar t project.rar
# 5. 修復損壞的壓縮包
rar r broken.rar
# 6. 將壓縮包轉為自解壓(傳給無 RAR 環境的使用者)
rar s project.rar # 產生 project.sfx
若不想處理專屬二進位相依性,p7zip(7z、7za、7zr)支援 RAR5 解壓(不支援壓縮為 RAR),安裝簡單:
yum install p7zip p7zip-plugins # CentOS/RHEL
apt install p7zip-full # Debian/Ubuntu
7z x archive.rar # 解壓
7z l archive.rar # 列表
7z t archive.rar # 測試
官方 rar/unrar 是 Linux 下處理 RAR 格式最完整的工具,掌握 -ep1、-v、-hp、x/e 等核心參數即可應對 90% 場景。遇到舊版二進位相容性問題,優先嘗試安裝 32 位元庫或改用 7z 解壓。