私のwgetに--compressionがないのはなぜですか?

私のwgetに--compressionがないのはなぜですか?

Windows版を使った経験があります。

GNU Wget 1.19.4はmingw32に基づいて構築されました。

しかし今、Ubuntuには次のものがあります。

非対話型WebクローラーであるGNU Wget 1.19.4。

親戚があります。新しいオプション--compression1.19.2に追加された通貨:

  • gzipコンテンツエンコーディング --compressionの新しいオプション

そして1.19.4 リリースノートこれについても議論された。

Ubuntuバージョンで実行するとwget -h見つかりません。--compressionその機能を含むバージョンをどのように入手できますか?または、そのバージョンを使用できるようにするにはどうすればよいですか?実際のコマンドを実行しようとすると、次のように表示されます。

wget: unrecognized option '--compression=auto'

答え1

--compressionwgetzlib(圧縮および解凍用のライブラリ)でビルドした場合にのみ使用できます。wgetDebian のパッケージこのライブラリには明示的なビルド依存関係はありません。、間接的に取得します。渡す別のライブラリである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 -icdリポジトリに含まれるバージョンによっては、上記の手順を調整する必要がありますwgetdeb-srcダウンロードソースコードを使用するには、自分と一致する行を追加する必要があります。/etc/apt/sources.listdebapt source

--compression=autoデフォルトでは、圧縮()を有効にすると驚くべき結果が生じる可能性があります。その理由は次のとおりです。リリースノートこれを言及する

gzipサポートを実装するのは簡単ではないことがわかりました。特に、私たちがサポートしなければならないバグが多いサーバーの場合はさらにそうです。したがって、接続圧縮サポートは現在実験的であり、デフォルトでは無効になっています。

バラよりDebian のバグ 887910例えば。提出しましたDebian エラー 907047そしてUbuntuのバグ 1788608修正が要求されたため、zlibDebianパッケージバージョン1.19.5-2(Debian 10以降)に明示的な依存関係が追加され、Ubuntu(19.04以降)にインポートされました。

関連情報