wget 内容配置 ubuntu 与 alpine

wget 内容配置 ubuntu 与 alpine

在 Ubuntu 中,我可以使用以下 wget 标志来获取 debian,即

wget --content-disposition https://packagecloud.io/xxxxx/download.deb
dpkg -i ...

在 Alpine 中,wget 抱怨--content-disposition无效:

wget: unrecognized option: content-disposition
BusyBox v1.29.3 (2019-01-24 07:45:07 UTC) multi-call binary.

Usage: wget [-c|--continue] [--spider] [-q|--quiet] [-O|--output-document FILE]
        [--header 'header: value'] [-Y|--proxy on/off] [-P DIR]
        [-S|--server-response] [-U|--user-agent AGENT] [-T SEC] URL...

Retrieve files via HTTP or FTP

        --spider        Only check URL existence: $? is 0 if exists
        -c              Continue retrieval of aborted transfer
        -q              Quiet
        -P DIR          Save to DIR (default .)
        -S              Show server response
        -T SEC          Network read timeout is SEC seconds
        -O FILE         Save to FILE ('-' for stdout)
        -U STR          Use STR for User-Agent header
        -Y on/off       Use proxy

在 alpine 中,我需要下载不同的“wget”吗?

答案1

在Alpine Linux中,很多常见的shell工具都被BusyBox替代了。通过检查以下命令的输出,您可以看到 wget 的情况就是如此:

ls -lah $(which wget)

在我面前的 Alpine 安装中,这是一个符号链接/bin/busybox

在 BusyBox 中,wget没有选项--content-disposition

# wget --help
BusyBox v1.29.3 (2019-01-24 07:45:07 UTC) multi-call binary.

Usage: wget [-c|--continue] [--spider] [-q|--quiet] [-O|--output-document FILE]
    [--header 'header: value'] [-Y|--proxy on/off] [-P DIR]
    [-S|--server-response] [-U|--user-agent AGENT] [-T SEC] URL...

Retrieve files via HTTP or FTP

    --spider    Only check URL existence: $? is 0 if exists
    -c      Continue retrieval of aborted transfer
    -q      Quiet
    -P DIR      Save to DIR (default .)
    -S          Show server response
    -T SEC      Network read timeout is SEC seconds
    -O FILE     Save to FILE ('-' for stdout)
    -U STR      Use STR for User-Agent header
    -Y on/off   Use proxy

您还会发现 GNUwget在官方 Alpine 存储库中可用,因此要获取完整版本非常简单:

apk update
apk add wget

然后你就wget安装了 GNU,它的行为应该更像你使用过的其他系统上的行为:

# wget --help | grep -A1 content-disposition
       --content-disposition       honor the Content-Disposition header when
                                     choosing local file names (EXPERIMENTAL)

相关内容