Como o --compression poderia estar faltando no meu wget?

0

Tenho experiência com a versão do Windows:

GNU Wget 1.19.4 built on mingw32.

Mas agora no Ubuntu, eu tenho:

GNU Wget 1.19.4, a non-interactive network retriever.

Existe uma relativamente nova opção chamada --compression que foi adicionado em 1.19.2:

  • New option --compression for gzip Content-Encoding

E em 1.19.4 notas da versão também é falado sobre.

Ao executar wget -h , o --compression está faltando na versão do Ubuntu. Como posso obter uma versão que o tenha, ou como habilito a possibilidade de usá-lo? Quando tento executar um comando real, diz apenas:

wget: unrecognized option '--compression=auto'
    
por Firsh - LetsWP.io 23.08.2018 / 13:37

1 resposta

3

--compression só estará disponível se wget for criado com zlib (uma biblioteca usada para compactação e descompactação). O pacote wget no Debian não depende da biblioteca, explicitamente, via outra biblioteca, a biblioteca GNU TLS; o build do Ubuntu derruba o último, e acaba perdendo suporte para compressão como resultado.

Você pode ver este nos registros de compilação :

checking for ZLIB... no
checking for compress in -lz... no

A reconstrução do pacote para ativar --compression pode ser feita da seguinte forma:

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

Isso produzirá um pacote em /tmp , que você poderá instalar com dpkg -i . Talvez seja necessário ajustar a cd acima, dependendo da versão de wget dos seus repositórios. Talvez você também precise adicionar deb-src linhas em /etc/apt/sources.list , correspondendo às suas deb linhas, para poder fazer o download do código-fonte usando apt source .

Note que ativar a compactação por padrão ( --compression=auto ) pode ter consequências surpreendentes, e é por isso que as notas de lançamento mencionam que

As it turns out, implementing gzip support is not trivial; especially in the face of many buggy servers that we have to support. Hence, for the time being, connection compression support has been marked as experimental and disabled by default.

Veja o erro do Debian 887910 para um exemplo (graças a steeldriver para mencioná-lo). Eu arquivei o erro do Debian 907047 e bug do Ubuntu 1788608 pedindo uma correção, se o mantenedor concordar, você verá o pacote Ubuntu adquirir suporte para --compression uma vez que a correção é implementado (e migra para o Ubuntu, se o pacote Debian for corrigido primeiro).

    
por 23.08.2018 / 13:59

Tags