我的wget怎麼會缺少–compression?
我有使用 Windows 版本的經驗:
GNU Wget 1.19.4 建立在 mingw32 之上。
但現在在 Ubuntu 上,我有:
GNU Wget 1.19.4,一個非互動式網路檢索器。
在 1.19.2 中添加了一個相對較新的選項:
--compression
- gzip 內容編碼的新選項 –compression
在1.19.4 發行說明中也談到了這一點。
在 Ubuntu 版本上執行時
wget -h
缺少--compression
。我怎樣才能得到一個有它的版本,或者我怎樣才能使用它?當我嘗試執行實際命令時,它只是說:wget: unrecognized option '--compression=auto'
--compression
僅在wget
使用zlib
(用於壓縮和解壓縮的庫)建構時可用。wget
Debian中的包沒有顯式地建構依賴於該庫,它通過另一個庫 GNU TLS 庫間接獲取它;Ubuntu 建構放棄了後者,因此最終失去了對壓縮的支持。您可以在建構日誌中看到這一點:
checking for ZLIB... no checking for compress in -lz... no
重建包以啟用
--compression
可以如下完成:cd /tmp apt source wget cd wget-1.19.4 apt build-dep wget apt install zlib1g-dev dch -n "Rebuild with compression support." dpkg-buildpackage -us -uc
這將在 中生成一個包
/tmp
,然後您可以使用它進行安裝dpkg -i
。您可能需要調整上述cd
步驟,具體取決於wget
您的儲存庫包含的版本。您可能還需要在 中添加與您的deb-src
行/etc/apt/sources.list
匹配的deb
行,以便能夠使用apt source
.請注意,預設啟用壓縮 (
--compression=auto
) 可能會產生令人驚訝的後果,這就是發行說明提到事實證明,實現 gzip 支持並非易事。尤其是面對我們必須支持的許多有缺陷的伺服器。因此,目前,連接壓縮支持已被標記為實驗性並預設禁用。
有關範例,請參閱Debian 錯誤 887910。我送出了Debian 錯誤 907047和Ubuntu 錯誤 1788608請求修復;
zlib
因此,在 Debian 軟體包的 1.19.5-2 版本(存在於 Debian 10 及更高版本中)中添加了顯式依賴,並導入到 Ubuntu(19.04 及更高版本)中。