---
title: "Gzip 1.15 修好一批自問世以來就存在的 bug"
url: https://sammy.hk/gzip-1-15-%e4%bf%ae%e5%a5%bd%e4%b8%80%e6%89%b9%e8%87%aa%e5%95%8f%e4%b8%96%e4%bb%a5%e4%be%86%e5%b0%b1%e5%ad%98%e5%9c%a8%e7%9a%84-bug/
author: Ethan
published: 2026-09-22T13:14:00+08:00
modified: 2026-09-21T11:02:28+08:00
description: "Gzip 1.15 修好一批自問世以來就存在的 bug GNU gzip 於 2026 年 9 月 20 日發表 1.15 穩定版。維護者 Jim Meyering 在公告中指出，今次距 1.14 版已有 75 週，期間共有 119 個提交，來自 5 位貢獻者，其中 Paul Eggert 貢獻 88 個提交。[1][…"
categories: ["開放源碼"]
tags: [GNU, gzip, linux, "壓縮工具", "安全性", "開源"]
source: https://sammy.hk
---
![Gzip 1.15 修好一批自問世以來就存在的 bug](https://sammy.hk/wp-content/uploads/2026/09/openrouter_google_gemini-3_1-flash-lite-image_20260921_105903_f0e96782.jpg)# Gzip 1.15 修好一批自問世以來就存在的 bug

GNU gzip 於 2026 年 9 月 20 日發表 1.15 穩定版。維護者 Jim Meyering 在公告中指出，今次距 1.14 版已有 75 週，期間共有 119 個提交，來自 5 位貢獻者，其中 Paul Eggert 貢獻 88 個提交。\[1\]\[2\]

## 由問世以來就存在的老問題

官方 NEWS 列出多項自 gzip 面世以來一直存在的缺陷，今次終於修好，包括：當另一個程序同時重新命名 gzip 目的檔案的祖先目錄時，gzip 可能誤刪錯誤檔案；`gzip -d` 過去會拒絕 PKZIP 簽章、本地檔頭與資料描述符，而這些其實可以出現在格式正確的串流 zip 檔案之中；處理含有異常字元的檔名時，診斷訊息如今會加上引號；某些畸形輸入曾觸發使用未初始化記憶體，現已修正。\[1\]

解壓 `.lzh` 檔案亦有兩項長年問題獲得修正：在解壓 `.Z` 檔案之後再解壓 `.lzh` 檔案曾出現緩衝區溢位；解壓 `.lzh` 檔案時，若內部位元緩衝區未被正確清除，輸出會被損毀；連續解壓兩個 `.lzh` 檔案時，前一個檔案的解碼表亦曾污染後者的輸出。\[1\]

另有一項源自 gzip-1.7 的缺陷：`gzip --synchronous` 在具備 O\_PATH 的平台（例如 GNU/Linux）未能同步不可讀的父目錄，而在具備 O\_SEARCH 但沒有 O\_PATH 的平台（例如 FreeBSD）更完全無法同步任何父目錄。此外，在缺少 `mktemp` 的舊式或精簡平台上，`gzexe`、`zdiff` 與 `znew` 建立臨時檔案時曾存在競態情況，現已修正。\[1\]

## 行為改變

1.15 版亦調整了幾項行為：gzip 不再堅持使用 C locale，改為依環境變數指定的 locale 運作；此改動與檔名引號相關，並可能影響 `-l` 與 `-v` 選項輸出浮點數的格式（診斷訊息仍為英文）。`gzip -l` 對空檔案在計算無限壓縮比時，現會顯示 `-Inf%` 而非 `0.0%`。`znew` 的 `-P` 選項現已被忽略並發出警告，官方解釋該選項原意只在改善效能，但其實作問題太多，不值得繼續支援。\[1\]

## 不再支援的平台

官方同時公布終止支援的平台：FreeBSD 4.11（2005 年）、HP-UX 11.00（1997 年）、Minix 3.1.8（2010 年），以及透過不含 UCRT 的 MinGW 使用 MS-Windows 8.1（2013 年）。原因是這些平台的多位元組函式庫已不合用。\[1\]

## 對用家的意義

gzip 是幾乎所有 Unix 系統都內建的壓縮工具，長年未被觸碰的程式路徑一旦修正，值得納入日常更新。今次修正同時觸及安全相關項目（未初始化記憶體、緩衝區溢位），發行版與系統管理員宜按各自節奏把 gzip 升上 1.15；自行編譯的用戶可由 GNU FTP 取得 tar.gz、tar.xz 與 zip 三種壓縮格式的原始碼及 GPG 簽章，公告中亦附有 SHA256 與 SHA3-256 校驗值。\[1\]\[2\]

## 參考資料

\[1\] [GNU gzip NEWS（官方變更紀錄）](https://git.savannah.gnu.org/cgit/gzip.git/plain/NEWS)

\[2\] [info-gnu 郵件列表 — gzip-1.15 released（stable）](https://lists.gnu.org/archive/html/info-gnu/2026-09/msg00006.html)

### 相關文章：

1. [難以預先安裝 Linux 在套裝電腦上嗎？](https://sammy.hk/difficult-preinstallation-brandmade-computer/ "難以預先安裝 Linux 在套裝電腦上嗎？")
2. [換硬碟的好幫手 – SystemRescueCd](https://sammy.hk/harddisk-replacement-with-systemrescuecd/ "換硬碟的好幫手 – SystemRescueCd")
3. [香港Linux軟件庫嚴重短缺](https://sammy.hk/shortage-of-linux-mirrors-in-hong-kong/ "香港Linux軟件庫嚴重短缺")
4. [OpenSSL Heartbleed (CVE-2014-0160) 解決方法](https://sammy.hk/openssl-heartbleed-cve-2014-0160-solution/ "OpenSSL Heartbleed (CVE-2014-0160) 解決方法")
