XZ Utils:先花時間把檔案縮到最小,再靠 liblzma 讓別的程式接手

摘要

免費通用的資料壓縮軟體,以 LZMA2 換來很高的壓縮比,產出的 .xz 是原始碼包與韌體映像的常見格式;配套的 liblzma 函式庫還能被其他程式直接呼叫。

推薦
軟體名稱
XZ Utils
版本
5.8.4
收費
免費
開源
開源
作業系統
WindowsmacOSLinux
更新時間
2026-10-11 20:29

原始碼包、韌體映像、備份封存,壓縮工具是這些環節裡最不起眼、又最繞不開的一層。

把壓縮比放在第一位

XZ Utils 是免費、通用的資料壓縮軟體。官方在頁面開篇就把賣點說清楚了:高壓縮比。它主要面向類 POSIX 系統撰寫,同時也能用在部分並不完全遵循 POSIX 的系統上,所以在 Linux 發行版的原始碼包、嵌入式韌體與長期封存裡出現的頻率很高。

演算法層面,這套工具圍繞 LZMA2 展開。官方把 .xz 容器格式、LZMA2 演算法與 liblzma 函式庫當成一條完整鏈路來描述:格式定規矩,演算法負責壓得小,函式庫則把讀寫能力開放出去。官方頁面上架的三套發行包中,以 tar.xz 排在最前,這本身也說明了哪種封裝更受青睞。

命令列之外的那一半

很多人只記得 xz 這個指令,其實 liblzma 才是被引用得更多的部分。官方說明這個函式庫負責讀寫 .xz 檔案,並為其他語言準備了綁定,頁面上列出了 Python、Perl、Haskell 以及 Object Pascal 等對應專案。也就是說,其他程式可以不必自己實作格式,直接呼叫這個函式庫就能取得同樣的壓縮能力。

在系統層面,這類函式庫的介面穩定比功能花俏更重要。發行版的套件管理器、映像建置腳本、備份程式往往會長期依賴同一個函式庫的同一個介面,升級節奏也因此比命令列工具更保守,這正是官方對舊分支長期只保留關鍵修復、很少追加新功能的原因。

實際動手時,這套工具最常被抱怨的是記憶體。壓縮等級往上加,佔用的記憶體也跟著放大,在只有幾百 MB 記憶體的小型裝置上,預設等級往往就已經是上限。官方的說明把等級與記憶體需求寫在一起,正是提醒使用者先確認機器撐不撐得住,再決定要不要追那幾個百分點的體積。

項目

官方說明

定位

免費、通用的資料壓縮軟體,以高壓縮比著稱

演算法

LZMA2

容器格式

.xz,發行包以 tar.xz 排在最前

配套函式庫

liblzma,供其他程式讀寫 .xz

現行穩定版

5.8.4,2026 年 9 月 9 日發佈

版本與發佈節奏

官方公佈的現行穩定版是 5.8.4,發佈日期為 2026 年 9 月 9 日。這一版修復了一個影響所有穩定版本的安全性問題,因此官方在頁面上給出了醒目的提示,建議使用者儘快跟進。同一頁還能看到 5.8.3、5.8.2 等歷史條目,方便對照自己手上的版本。

分支維護狀態在官方文件裡寫得很清楚:5.8 處於維護狀態,5.6、5.4、5.2 等舊分支只接受關鍵修復,更早的分支已經停止維護。Windows 使用者同樣有官方建置的二進位套件,官方註明這批 5.8.4 套件面向 UCRT 執行期建置,可在 Windows 10 及更新版本上使用,並附有簽章檔供校驗。

一個壓縮工具能長期待在系統底層,靠的從來不是功能多,而是每一次都能按同樣的規矩把檔案還原出來。

還有一個常被忽略的細節是校驗。.xz 容器在設計時就把完整性檢查放進去,工具預設會在解壓時驗證,一旦檔案在傳輸過程中被截斷或改動,解壓階段就會直接報錯,而不是安靜地吐出一個壞掉的檔案。對長期封存與韌體派送來說,這種早失敗比事後追查省事得多。

使用建議:日常封存用預設等級就夠,追求極限體積再調高壓縮等級,代價是時間;給發行版或韌體打包時優先選 tar.xz,相容性最省心;把版本記在建置腳本裡,舊分支只在關鍵修復時跟一次,避免頻繁升級帶來的回歸成本。

XZ Utils下載地址
支援的作業系統: Windows macOS Linux