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,相容性最省心;把版本記在建置腳本裡,舊分支只在關鍵修復時跟一次,避免頻繁升級帶來的回歸成本。