我有 Windows 版本的经验:
GNU Wget 1.19.4 构建于 mingw32 之上。
但现在在 Ubuntu 上,我有:
GNU Wget 1.19.4,非交互式网络检索器。
有一个相对新的选择--compression
1.19.2 中添加的调用:
- gzip 内容编码的新选项 --compression
并且在1.19.4 发行说明这也是有谈及的。
在 Ubuntu 版本上运行时wget -h
缺少。--compression
我怎样才能获得包含它的版本,或者如何启用使用它的可能性?当我尝试运行实际命令时,它只是说:
wget: unrecognized option '--compression=auto'
答案1
--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 及更高版本)中。