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

本文档仅适用于 Amazon CLI 版本 1。有关 Amazon CLI 版本 2 的相关文档,请参阅版本 2 用户指南

在 Linux 上安装、更新和卸载 Amazon CLI 版本 1

您可以使用 Amazon Command Line Interface 程序包管理器或捆绑安装程序安装 Amazon CLI (pip) 版本 1 及其对大多数 Linux 发行版的依赖项。

尽管其他程序包管理器(如 awscliapt)的存储库中提供了 yum 程序包,但它们不是由 Amazon 生产、管理和支持的。我们建议您仅从本指南中记载的官方 Amazon CLI 发行点安装 Amazon。

先决条件

您必须已安装 Python 3.7 或更高版本。有关安装说明,请参阅 Python 的初学者指南 中的下载 Python 页面。

警告

Python 2.7 已于 2020 年 1 月 1 日被 Python Software Foundation 弃用。从 Amazon CLI 版本 1.20.0 开始,至少需要 Python 3.6 版本。

为了将 Amazon CLI 版本 1 与较旧版本的 Python 配合使用,您需要安装较早版本的 Amazon CLI 版本 1。要查看 Amazon CLI 版本 1 Python 版本支持表,请参阅 Python 版本要求

在 Linux 上使用捆绑安装程序安装和卸载 Amazon CLI 版本 1

在 Linux 或 macOS 上,可以使用捆绑安装程序来安装 Amazon CLI 的版本 1。捆绑安装程序包含所有依赖项,并可以离线使用。

注意

捆绑安装程序不支持安装到包含空格的路径。

使用捆绑安装程序(带有 sudo)安装 Amazon CLI 版本 1

以下步骤使您能够从任何版本的 Linux 或 macOS 上的命令行安装 Amazon CLI 版本 1。

以下是可剪切和粘贴以作为一组命令运行的安装命令的摘要,各个命令的具体解释见下文。

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

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" unzip awscli-bundle.zip sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

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

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip" unzip awscli-bundle.zip sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

使用捆绑安装程序,在命令行中执行以下步骤来安装 Amazon CLI 版本 1。

要使用捆绑安装程序安装 Amazon CLI 版本 1
  1. 使用以下方法之一下载 Amazon CLI 版本 1 捆绑安装程序。

    • 使用 curl 命令下载。

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

      $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

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

      $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"
    • 使用直接链接下载。

      对于最新版本的 Amazon CLI:https://s3.amazonaws.com/aws-cli/awscli-bundle.zip

      对于特定版本的 Amazon CLI,在文件名后附加一个连字符和版本号。在本示例中,版本 1.16.312 的文件名为 awscli-bundle-1.16.312.zip,这会生成以下 URL:https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip

  2. 从程序包中提取文件。如果没有 unzip 来提取文件,请使用 Linux 发行版的内置程序包管理器进行安装。

    $ unzip awscli-bundle.zip
  3. 运行安装程序。安装程序在 Amazon CLI 中安装 /usr/local/aws,并在 aws 目录中创建符号链接 /usr/local/bin。使用 -b 选项创建符号链接将免除在用户的 $PATH 变量中指定安装目录的需要。这应该能让所有用户通过在任何目录下输入 Amazon CLI 来调用 aws

    $ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

    默认情况下,安装脚本在系统默认版本的 Python 下运行。如果已安装 Python 的备选版本并希望使用该版本安装 Amazon CLI,请使用该版本按 Python 可执行文件的绝对路径运行安装脚本,如下所示。

    $ sudo /usr/local/bin/python3.7 awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
  4. 验证 Amazon CLI 是否已正确安装。

    $ aws --version aws-cli/1.27.69 Python/3.11.2 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

    如果出现错误,请参阅排查 Amazon CLI 错误

使用捆绑安装程序(不带有 sudo)安装 Amazon CLI 版本 1

如果您没有 sudo 权限,或打算仅为当前用户安装 Amazon CLI,则可使用先前命令的修改版本。前两个命令是相同的。

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

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" unzip awscli-bundle.zip ./awscli-bundle/install -b ~/bin/aws

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

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip" unzip awscli-bundle.zip ./awscli-bundle/install -b ~/bin/aws
要为当前用户安装 Amazon CLI 版本 1
  1. 使用以下方式之一下载 Amazon CLI 版本 1 捆绑安装程序。

    • 使用 curl 命令下载。

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

      $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

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

      $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"
    • 使用直接链接下载。

      对于最新版本的 Amazon CLI:https://s3.amazonaws.com/aws-cli/awscli-bundle.zip

      对于特定版本的 Amazon CLI,在文件名后附加一个连字符和版本号。在本示例中,版本 1.16.312 的文件名为 awscli-bundle-1.16.312.zip,这会生成以下 URL:https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip

  2. 使用 unzip 从程序包中提取文件。如果没有 unzip,请使用 Linux 发行版的内置程序包管理器进行安装。

    $ unzip awscli-bundle.zip
  3. 运行安装程序。安装程序在 Amazon CLI 中安装 /usr/local/aws,并在 aws 目录中创建符号链接 /usr/local/bin。此命令使用 -b 参数以指定安装程序放置 aws 符号链接文件的目录。您必须具有对指定文件夹的写入权限。

    $ ./awscli-bundle/install -b ~/bin/aws

    这会将 Amazon CLI 安装到默认位置 (~/.local/lib/aws) 并在 ~/bin/aws 中创建符号链接 (symlink)。确保您的 ~/bin 环境变量中包含 PATH,以使该符号链接生效。

    $ echo $PATH | grep ~/bin // See if $PATH contains ~/bin (output will be empty if it doesn't) $ export PATH=~/bin:$PATH // Add ~/bin to $PATH if necessary
  4. 确保包含 Amazon CLI 版本 1 的目录是您的 PATH 变量的一部分。

    1. 在您的用户文件夹中查找 Shell 的配置文件脚本。如果您不能确定所使用的 Shell,请运行 echo $SHELL

      $ ls -a ~ . .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads
      • Bash.bash_profile.profile.bash_login

      • Zsh.zshrc

      • Tcsh.tcshrc.cshrc.login

    2. 在配置文件脚本末尾添加与以下示例类似的导出命令。

      export PATH=~/.local/bin:$PATH

      此命令将路径(在本示例中为 ~/.local/bin)插入到现有 PATH 变量的前面。

    3. 将配置文件重新加载到当前会话中,以使更改生效。

      $ source ~/.bash_profile
  5. 验证 Amazon CLI 是否已正确安装。

    $ aws --version aws-cli/1.27.69 Python/3.11.2 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

    如果出现错误,请参阅排查 Amazon CLI 错误

卸载 Amazon CLI 版本 1 捆绑安装程序

  1. 如果使用捆绑安装程序安装了 Amazon CLI,请按照以下说明进行操作。除了可选的符号链接之外,捆绑安装程序不会将任何内容放在安装目录之外,所以卸载十分简单,就是直接删除这两个项目。

    $ sudo rm -rf /usr/local/aws $ sudo rm /usr/local/bin/aws
  2. (可选)删除 .aws 文件夹中的共享 Amazon SDK 和 Amazon CLI 设置信息。

    警告

    这些配置和凭证设置跨所有 Amazon SDK 和 Amazon CLI 进行共享。如果删除此文件夹,则您系统上的任何 Amazon SDK 都无法访问它们。

    .aws 文件夹的默认位置因平台而异,默认情况下,该文件夹位于 ~/.aws/。如果您的用户对此目录具有写入权限,则无需使用 sudo

    $ sudo rm -r ~/.aws/

使用 pip 安装和卸载 Amazon CLI 版本 1

安装 pip

如果尚未安装 pip,可以使用 Python 打包权威机构 提供的脚本进行安装。运行 pip --version 可查看您的 Linux 版本是否已包含 Python 和 pip。如果您安装了 Python 3 或更高版本,我们建议您使用 pip3 命令。

  1. 使用 curl 命令下载安装脚本。以下命令使用 -O(大写字母“O”)参数指定下载的文件将使用与远程主机上相同的名称存储在当前的目录中。

    $ curl -O https://bootstrap.pypa.io/get-pip.py
  2. 使用 pythonpython3 命令运行脚本以下载并安装最新版本的 pip 和其他必需的支持包。当您包含 --user 开关时,脚本将 pip 安装到路径 ~/.local/bin

    $ python3 get-pip.py --user
  3. 确保包含 pip 的目录是您的 PATH 变量的一部分。

    1. 在您的用户文件夹中查找 Shell 的配置文件脚本。如果您不能确定所使用的 Shell,请运行 echo $SHELL

      $ ls -a ~ . .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads
      • Bash.bash_profile.profile.bash_login

      • Zsh.zshrc

      • Tcsh.tcshrc.cshrc.login

    2. 在配置文件脚本末尾添加与以下示例类似的导出命令。

      export PATH=~/.local/bin:$PATH

      此命令将路径(在本示例中为 ~/.local/bin)插入到现有 PATH 变量的前面。

    3. 将配置文件重新加载到当前会话中,以使更改生效。

      $ source ~/.bash_profile
  4. 要验证 pippip3 否已正确安装,请运行以下命令。

    $ pip3 --version pip 19.2.3 from ~/.local/lib/python3.7/site-packages (python 3.7)

使用 pip 安装和更新 Amazon CLI 版本 1

  1. 使用 pippip3 命令安装或更新 Amazon CLI。如果您使用的是 Python 3 或更高版本,我们建议您使用 pip3 命令。使用 --user 开关时,pip 将 Amazon CLI 安装到 ~/.local/bin

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

    $ pip3 install awscli --upgrade --user

    对于特定版本的 Amazon CLI,在文件名后附加两个等号 = 和版本号。在本示例中,版本 1.16.312 的文件名为 ==1.16.312,这会生成以下命令:

    $ pip3 install awscli==1.16.312 --upgrade --user
    注意

    为您的终端使用适当的引用规则。要使用 = 字符,您可能需要使用单引号或双引号适当地进行转义。以下示例使用单引号进行转义:

    $ pip3 install 'awscli==1.16.312' --upgrade --user
  2. 验证 Amazon CLI 是否已正确安装。

    $ aws --version aws-cli/1.27.69 Python/3.11.2 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

    如果出现错误,请参阅排查 Amazon CLI 错误

将 Amazon CLI 版本 1 可执行文件添加到命令行路径

在使用 pip 进行安装后,可能需要将 aws 可执行文件添加到操作系统的 PATH 环境变量中。

您可以运行以下命令验证 pip 已将 Amazon CLI 安装到哪个文件夹中。

$ which aws /home/username/.local/bin/aws

您可以将此路径 ~/.local/bin/ 作为参考,因为在 Linux 中 /home/username 对应于 ~

如果您忽略了 --user 开关且未在用户模式下安装,可执行文件可能位于 Python 安装的 bin 文件夹中。如果您不知道 Python 的安装位置,请运行此命令。

$ which python /usr/local/bin/python

输出可能是符号链接的路径,而不是实际的可执行文件。运行 ls -al 以查看所指向的路径。

$ ls -al /usr/local/bin/python /usr/local/bin/python -> ~/.local/Python/3.6/bin/python3.6

pip 将程序安装到 Python 应用程序所在的文件夹中。将此文件夹添加到 PATH 变量。

修改您的 PATH 变量
  1. 在您的用户目录中查找 Shell 的配置文件脚本。如果您不能确定所使用的 Shell,请运行 echo $SHELL

    $ ls -a ~ . .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads
    • Bash.bash_profile.profile.bash_login

    • Zsh.zshrc

    • Tcsh.tcshrc.cshrc.login

  2. 向配置文件脚本中添加导出命令。

    export PATH=~/.local/bin:$PATH

    在本示例中,此命令将路径 ~/.local/bin 添加到当前 PATH 变量中。

  3. 将更新的配置文件加载到当前会话中。

    $ source ~/.bash_profile

使用 pip 卸载 Amazon CLI

  1. 如果您使用 pip 安装了 Amazon CLI 版本 1,则还必须使用 pip 进行卸载。

    $ pip uninstall awscli

    如果您使用的是 Python 版本 2 或 3,则可能需要使用 pip2pip3 命令。使用 aws --version 命令确定与您安装的 Amazon CLI 版本 1 关联的 Python 版本。

    $ pip3 uninstall awscli

    您可能需要重新启动命令提示符窗口或电脑才能删除所有文件。

  2. (可选)删除 .aws 文件夹中的共享 Amazon SDK 和 Amazon CLI 设置信息。

    警告

    这些配置和凭证设置跨所有 Amazon SDK 和 Amazon CLI 进行共享。如果删除此文件夹,则您系统上的任何 Amazon SDK 都无法访问它们。

    .aws 文件夹的默认位置因平台而异,默认情况下,该文件夹位于 ~/.aws/。如果您的用户对此目录具有写入权限,则无需使用 sudo

    $ sudo rm ~/.aws/

Amazon CLI 安装和卸载错误故障排除

如果您在安装或卸载 Amazon CLI 后遇到问题,请参阅排查 Amazon CLI 错误以了解故障排除步骤。有关相关性最高的故障排除步骤,请参阅找不到命令错误“aws --version”命令返回的版本与您安装的版本不同卸载 Amazon CLI 后,“aws --version”命令返回一个版本