在 Linux 上安装、更新和卸载 AWS CLI 版本 2 - AWS Command Line Interface
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

在 Linux 上安装、更新和卸载 AWS CLI 版本 2

本节介绍如何在 Linux 上安装、更新和删除 AWS CLI 版本 2。AWS CLI 版本 2 没有对于其他 Python 程序包的依赖项。它具有随安装程序包含的 Python 的独立、嵌入式副本。

重要

AWS CLI 版本 1 和 2 使用相同的 aws 命令名称。如果您安装了两个版本,计算机将使用在搜索路径中找到的第一个版本。如果您之前安装过 AWS CLI 版本 1,建议您执行以下操作之一来使用 AWS CLI 版本 2:

  • 建议 – 卸载 AWS CLI 版本 1 并仅使用 AWS CLI 版本 2。有关卸载说明,请确定用于安装 AWS CLI 版本 1 的方法,然后按照 安装、更新和卸载 AWS CLI 版本 1 中适用于您的操作系统的相应卸载说明操作

  • 使用操作系统的功能为两个 aws 命令之一创建具有不同名称的符号链接或别名。例如,您可以在 Linux 和 macOS 上使用符号链接别名,或在 Windows 上使用DOSKEY

有关版本 1 和版本 2 之间的突破性更改的信息,请参阅 重大更改 – 从 AWS CLI 版本 1 迁移到版本 2

Linux 的先决条件

  • 您必须能够提取或“解压缩”下载的程序包。如果您的操作系统没有内置的 unzip 命令,请使用等效命令。

  • AWS CLI 版本 2 使用 glibcgroffless。默认情况下,它们都包含在 Linux 的大多数主要发行版中。

  • 我们在 CentOS、Fedora、Ubuntu、Amazon Linux 1 和 Amazon Linux 2 的 64 位最新发行版上支持 AWS CLI 版本 2。

  • 我们在 Linux ARM 上支持 AWS CLI 版本 2。

  • 由于 AWS 不维护第三方存储库,因此我们不能保证它们包含最新版本的 AWS CLI。

在 Linux 上安装 AWS CLI 版本 2

请在 Linux 上从命令行执行以下步骤来安装 AWS CLI。

我们根据您是使用 64 位 Linux 还是 Linux ARM,在一个易于复制和粘贴的组中提供步骤。有关每一行的具体作用,请参阅下文中各个步骤中的相关描述。

Linux x86 (64-bit)

对于最新版本的 AWS CLI,请使用以下命令块:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install

对于特定版本的 AWS CLI,在文件名中附加一个连字符和版本号。在本示例中,版本 2.0.30 的文件名为 awscli-exe-linux-x86_64-2.0.30.zip,这会生成以下命令:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install

有关版本列表,请参阅 GitHub 上的 AWS CLI 版本 2 更改日志

Linux ARM

对于最新版本的 AWS CLI,请使用以下命令块:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install

对于特定版本的 AWS CLI,在文件名中附加一个连字符和版本号。在本示例中,版本 2.0.30 的文件名为 awscli-exe-linux-aarch64-2.0.30.zip,这会生成以下命令:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install

有关版本列表,请参阅 GitHub 上的 AWS CLI 版本 2 更改日志

  1. 通过以下方式之一下载安装文件:

    • 使用 curl 命令-o 选项指定下载的程序包应写入的文件名。以下示例命令中使用的选项将下载的文件以本地名称 awscliv2.zip 写入到当前目录中。

      Linux x86 (64-bit)

      对于最新版本的 AWS CLI,请使用以下命令:

      $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

      对于特定版本的 AWS CLI,在文件名中附加一个连字符和版本号。在本示例中,版本 2.0.30 的文件名为 awscli-exe-linux-x86_64-2.0.30.zip,这会生成以下命令:

      $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"

      有关版本列表,请参阅 GitHub 上的 AWS CLI 版本 2 更改日志

      Linux ARM

      对于最新版本的 AWS CLI,请使用以下命令:

      $ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"

      对于特定版本的 AWS CLI,在文件名中附加一个连字符和版本号。在本示例中,版本 2.0.30 的文件名为 awscli-exe-linux-aarch64-2.0.30.zip,这会生成以下命令:

      $ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip"curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"

      有关版本列表,请参阅 GitHub 上的 AWS CLI 版本 2 更改日志

    • 从 URL 下载 – 要使用浏览器下载安装程序,请使用以下 URL 之一。您可以在提取(解压缩)程序包之前验证已下载的安装文件的完整性和真实性。参阅 验证已下载的安装程序文件的完整性和真实性 了解更多信息。

      Linux x86 (64-bit)

      对于最新版本的 AWS CLI:https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip

      对于特定版本的 AWS CLI,在文件名中附加一个连字符和版本号。在本示例中,版本 2.0.30 的文件名为 awscli-exe-linux-x86_64-2.0.30.zip,这会生成以下 URL:https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip

      有关版本列表,请参阅 GitHub 上的 AWS CLI 版本 2 更改日志

      Linux ARM

      对于最新版本的 AWS CLI:https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip

      对于特定版本的 AWS CLI,在文件名中附加一个连字符和版本号。在本示例中,版本 2.0.30 的文件名为 awscli-exe-linux-aarch64-2.0.30.zip,这会生成以下 URL:https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip

      有关版本列表,请参阅 GitHub 上的 AWS CLI 版本 2 更改日志

  2. 解压缩安装程序。如果您的 Linux 发行版没有的内置 unzip 命令,请使用等效的命令对其解压缩。以下示例命令解压缩程序包并在当前目录下创建一个名为 aws 的目录。

    $ unzip awscliv2.zip
  3. 运行安装程序。安装命令在新解压缩的 aws 目录中使用一个名为 install 的文件。默认情况下,文件全部安装到 /usr/local/aws-cli 并在 /usr/local/bin 中创建符号链接。该命令包括 sudo 以授予对这些目录的写入权限。

    $ sudo ./aws/install

    如果您指定您已经具有写入权限的目录,则可以不带 sudo 进行安装。对于 install 命令,请按以下说明指定安装位置:

    • 确保您提供给 -i-b 参数的路径不包含任何含空格字符或其他空白字符的卷名称或目录名称。如果有空格,安装将失败。

    • --install-dir-i – 此选项指定要将所有文件复制到的目录。

      默认值为 /usr/local/aws-cli

    • --bin-dir-b – 此选项指定安装目录中的主 aws 程序通过符号链接指向指定路径中的 aws 文件。您必须具有对指定目录的写入权限。创建指向路径中已经存在的目录的符号链接后,无需再将安装目录添加到用户的 $PATH 变量中。

      默认值为 /usr/local/bin

    $ sudo ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
  4. 确认安装。

    $ aws --version aws-cli/2.0.47 Python/3.7.4 Linux/4.14.133-113.105.amzn2.x86_64 botocore/2.0.0

在 Linux 上更新 AWS CLI 版本 2

要从 Linux 命令行更新 AWS CLI 版本 2 的副本,请按照下列步骤操作。

  1. 通过以下方式之一下载安装文件:

    使用 curl 命令 – 以下示例命令中使用的选项将下载的文件以本地名称 awscliv2.zip 写入到当前目录中。

    -o 选项指定下载的程序包应写入的文件名。在此示例中,文件写入到当前目录中的 awscliv2.zip

    Linux x86 (64-bit)

    对于最新版本的 AWS CLI,请使用以下命令块:

    $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

    对于特定版本的 AWS CLI,在文件名中附加一个连字符和版本号。在本示例中,版本 2.0.30 的文件名为 awscli-exe-linux-x86_64-2.0.30.zip,这会生成以下命令:

    $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"

    有关版本列表,请参阅 GitHub 上的 AWS CLI 版本 2 更改日志

    Linux ARM

    对于最新版本的 AWS CLI,请使用以下命令块:

    $ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"

    对于特定版本的 AWS CLI,在文件名中附加一个连字符和版本号。在本示例中,版本 2.0.30 的文件名为 awscli-exe-linux-aarch64-2.0.30.zip,这会生成以下命令:

    $ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip"

    有关版本列表,请参阅 GitHub 上的 AWS CLI 版本 2 更改日志

    从 URL 下载 – 要使用浏览器下载安装程序,请使用以下 URL 之一。您可以在下载安装文件后验证安装文件的完整性和真实性。有关更多信息,请在解压缩程序包之前参阅 验证已下载的安装程序文件的完整性和真实性

    Linux x86 (64-bit)

    对于最新版本的 AWS CLI:https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip

    对于特定版本的 AWS CLI:在文件名中附加一个连字符和版本号。在本示例中,版本 2.0.30 的文件名为 awscli-exe-linux-x86_64-2.0.30.zip,这会生成以下链接:https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip。有关版本列表,请参阅 GitHub 上的 AWS CLI 版本 2 更改日志

    Linux ARM

    对于最新版本的 AWS CLI:https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip

    对于特定版本的 AWS CLI:在文件名中附加一个连字符和版本号。在本示例中,版本 2.0.30 的文件名为 awscli-exe-linux-aarch64-2.0.30.zip,这会生成以下链接:https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip。有关版本列表,请参阅 GitHub 上的 AWS CLI 版本 2 更改日志

  2. 解压缩安装程序。如果您的 Linux 发行版没有的内置 unzip 命令,请使用等效的命令来安装它。以下示例命令解压缩程序包并在当前目录下创建一个名为 aws 的目录。

    $ unzip awscliv2.zip
  3. 要确保更新安装在与当前 AWS CLI 版本 2 相同的位置,请找到现有的符号链接和安装目录。

    • 使用 which 命令查找符号链接。这为您提供了与 --bin-dir 参数一起使用的路径。

      $ which aws /usr/local/bin/aws
    • 使用 ls 命令查找符号链接指向的目录。这为您提供了与 --install-dir 参数一起使用的路径。

      $ ls -l /usr/local/bin/aws lrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/aws -> /usr/local/aws-cli/v2/current/bin/aws
  4. 使用符号链接和安装程序信息构造带有 --update 参数的 install 命令。

    $ sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
  5. 确认安装。

    $ aws --version aws-cli/2.0.47 Python/3.7.4 Linux/4.14.133-113.105.amzn2.x86_64 botocore/2.0.0

在 Linux 上卸载 AWS CLI 版本 2

要卸载 AWS CLI 版本 2,请运行以下命令。

  1. 找到符号链接和安装路径。

    • 使用 which 命令查找符号链接。这显示与 --bin-dir 参数一起使用的路径。

      $ which aws /usr/local/bin/aws
    • 使用 ls 命令查找符号链接指向的目录。这为您提供与 --install-dir 参数一起使用的路径。

      $ ls -l /usr/local/bin/aws lrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/aws -> /usr/local/aws-cli/v2/current/bin/aws
  2. 删除 --bin-dir 目录中的两个符号链接。如果您的用户账户对这些目录具有写入权限,则无需使用 sudo

    $ sudo rm /usr/local/bin/aws $ sudo rm /usr/local/bin/aws_completer
  3. 删除 --install-dir 目录。如果您的用户账户对此目录具有写入权限,则无需使用 sudo

    $ sudo rm -rf /usr/local/aws-cli

验证已下载的安装程序文件的完整性和真实性

AWS CLI 版本 2 安装程序包 .zip 文件是使用 PGP 签名进行加密签名的。您可以通过以下步骤使用 GnuPG 工具验证签名。如果文件有任何损坏或更改,则此验证失败,您不应继续安装。

以下示例假定您下载了安装程序包并将其在本地保存为 awscliv2.zip。如果您将其命名为其他名称,请在以下步骤中替换该名称。

使用 PGP 签名验证文件

  1. 使用您的程序包管理器下载并安装 gpg 命令。有关 GnuPG 的更多信息,请参阅 GnuPG 网站

  2. 要创建公有密钥文件,请创建一个文本文件并粘贴到以下文本中。

    -----BEGIN PGP PUBLIC KEY BLOCK----- mQINBF2Cr7UBEADJZHcgusOJl7ENSyumXh85z0TRV0xJorM2B/JL0kHOyigQluUG ZMLhENaG0bYatdrKP+3H91lvK050pXwnO/R7fB/FSTouki4ciIx5OuLlnJZIxSzx PqGl0mkxImLNbGWoi6Lto0LYxqHN2iQtzlwTVmq9733zd3XfcXrZ3+LblHAgEt5G TfNxEKJ8soPLyWmwDH6HWCnjZ/aIQRBTIQ05uVeEoYxSh6wOai7ss/KveoSNBbYz gbdzoqI2Y8cgH2nbfgp3DSasaLZEdCSsIsK1u05CinE7k2qZ7KgKAUIcT/cR/grk C6VwsnDU0OUCideXcQ8WeHutqvgZH1JgKDbznoIzeQHJD238GEu+eKhRHcz8/jeG 94zkcgJOz3KbZGYMiTh277Fvj9zzvZsbMBCedV1BTg3TqgvdX4bdkhf5cH+7NtWO lrFj6UwAsGukBTAOxC0l/dnSmZhJ7Z1KmEWilro/gOrjtOxqRQutlIqG22TaqoPG fYVN+en3Zwbt97kcgZDwqbuykNt64oZWc4XKCa3mprEGC3IbJTBFqglXmZ7l9ywG EEUJYOlb2XrSuPWml39beWdKM8kzr1OjnlOm6+lpTRCBfo0wa9F8YZRhHPAkwKkX XDeOGpWRj4ohOx0d2GWkyV5xyN14p2tQOCdOODmz80yUTgRpPVQUtOEhXQARAQAB tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4WIQT7 Xbd/1cEYuAURraimMQrMRnJHXAUCXYKvtQIbAwUJB4TOAAULCQgHAgYVCgkICwIE FgIDAQIeAQIXgAAKCRCmMQrMRnJHXJIXEAChLUIkg80uPUkGjE3jejvQSA1aWuAM yzy6fdpdlRUz6M6nmsUhOExjVIvibEJpzK5mhuSZ4lb0vJ2ZUPgCv4zs2nBd7BGJ MxKiWgBReGvTdqZ0SzyYH4PYCJSE732x/Fw9hfnh1dMTXNcrQXzwOmmFNNegG0Ox au+VnpcR5Kz3smiTrIwZbRudo1ijhCYPQ7t5CMp9kjC6bObvy1hSIg2xNbMAN/Do ikebAl36uA6Y/Uczjj3GxZW4ZWeFirMidKbtqvUz2y0UFszobjiBSqZZHCreC34B hw9bFNpuWC/0SrXgohdsc6vK50pDGdV5kM2qo9tMQ/izsAwTh/d/GzZv8H4lV9eO tEis+EpR497PaxKKh9tJf0N6Q1YLRHof5xePZtOIlS3gfvsH5hXA3HJ9yIxb8T0H QYmVr3aIUes20i6meI3fuV36VFupwfrTKaL7VXnsrK2fq5cRvyJLNzXucg0WAjPF RrAGLzY7nP1xeg1a0aeP+pdsqjqlPJom8OCWc1+6DWbg0jsC74WoesAqgBItODMB rsal1y/q+bPzpsnWjzHV8+1/EtZmSc8ZUGSJOPkfC7hObnfkl18h+1QtKTjZme4d H17gsBJr+opwJw/Zio2LMjQBOqlm3K1A4zFTh7wBC7He6KPQea1p2XAMgtvATtNe YLZATHZKTJyiqA== =vYOk -----END PGP PUBLIC KEY BLOCK-----

    以下是公有密钥的详细信息以供参考。

    Key ID: A6310ACC4672 Type: RSA Size: 4096/4096 Created: 2019-09-18 Expires: 2023-09-17 User ID: AWS CLI Team <aws-cli@amazon.com> Key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
  3. 使用以下命令导入 AWS CLI 公有密钥,用您创建的公有密钥的文件名替换 public-key-file-name

    $ gpg --import public-key-file-name gpg: /home/username/.gnupg/trustdb.gpg: trustdb created gpg: key A6310ACC4672475C: public key "AWS CLI Team <aws-cli@amazon.com>" imported gpg: Total number processed: 1 gpg: imported: 1
  4. 下载您下载的程序包的 AWS CLI 签名文件。它具有与其对应的 .zip 文件相同的路径和名称,但扩展名为 .sig。在以下示例中,我们将其作为名为 awscliv2.sig 的文件保存到当前目录中。

    Linux x86 (64-bit)

    对于最新版本的 AWS CLI,请使用以下命令块:

    $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip.sig

    对于特定版本的 AWS CLI,在文件名中附加一个连字符和版本号。在本示例中,版本 2.0.30 的文件名为 awscli-exe-linux-x86_64-2.0.30.zip.sig,这会生成以下命令:

    $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip.sig

    有关版本列表,请参阅 GitHub 上的 AWS CLI 版本 2 更改日志

    Linux ARM

    对于最新版本的 AWS CLI,请使用以下命令块:

    $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip.sig

    对于特定版本的 AWS CLI,在文件名中附加一个连字符和版本号。在本示例中,版本 2.0.30 的文件名为 awscli-exe-linux-aarch64-2.0.30.zip.sig,这会生成以下命令:

    $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip.sig

    有关版本列表,请参阅 GitHub 上的 AWS CLI 版本 2 更改日志

  5. 验证签名,并将下载的 .sig.zip 文件名作为参数传递给 gpg 命令。

    $ gpg --verify awscliv2.sig awscliv2.zip

    该输出值应该类似于以下内容。

    gpg: Signature made Mon Nov 4 19:00:01 2019 PST gpg: using RSA key FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C gpg: Good signature from "AWS CLI Team <aws-cli@amazon.com>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
    重要

    输出中的警告是预料中的,并不表示出现了问题。之所以出现此警告,是因为您的个人 PGP 密钥(如果您有)和 AWS CLI PGP 密钥之间没有信任链。有关更多信息,请参阅信任 Web