AWS Command Line Interface
使用者指南

在 Linux 上安裝 AWS CLI

您可以使用 pip (Python 套件管理工具),在大部分的 Linux 發行版本上安裝 AWS Command Line Interface (AWS CLI) 與其依存項目。

重要

awscli 套件可在提供其他套件管理器的儲存庫中找到 (例如 aptyum),但是並不保證其為最新版本,除非您是從 pip 取得或使用 bundled installer

如果您已經有 pip,請遵循主要 安裝主題 中的指示操作。執行 pip --version 來查看您的 Linux 版本是否已包含 Python 和 pip。如果您已安裝 Python 版本 3+,我們建議您使用 pip3 命令。

$ pip3 --version

如果您還沒有 pip,請查看已安裝的 Python 版本為何。

$ python --version

$ python3 --version

如果您還沒有 Python 2 version 2.6.5+ 或 Python 3 version 3.3+,則必須先安裝 Python。如果您已安裝 Python,請繼續安裝 pip 和 AWS CLI。

安裝 pip

如果尚未安裝 pip,您可以使用 Python Packaging Authority 提供的指令碼來安裝。

安裝 pip

  1. 使用 curl 命令下載安裝指令碼。

    $ curl -O https://bootstrap.pypa.io/get-pip.py
  2. 執行指令碼和 Python 來下載並安裝最新版本的 pip 及其他必要的支援套件。

    $ python get-pip.py --user

    $ python3 get-pip.py --user

    當您加入 --user 參數,指令碼會將 pip 安裝到路徑 ~/.local/bin

  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. 現在,您可以測試來確認 pip 是否正確安裝。

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

使用 pip 安裝 AWS CLI

使用 pip 來安裝 AWS CLI。

$ pip3 install awscli --upgrade --user

當您使用 --user 參數,pip 會將 AWS CLI 安裝至 ~/.local/bin

確認已正確安裝 AWS CLI。

$ aws --version aws-cli/1.16.116 Python/3.6.8 Linux/4.14.77-81.59-amzn2.x86_64 botocore/1.12.106

如果發生錯誤,請參閱 故障診斷 AWS CLI 錯誤

升級到 AWS CLI 最新版本

我們建議您定期檢查,來確認是否有 AWS CLI 的新版本,並在合適的時機進行升級。

使用 pip list -o 命令來檢查哪些套件是「過時」:

$ aws --version aws-cli/1.16.170 Python/3.7.3 Linux/4.14.123-111.109.amzn2.x86_64 botocore/1.12.160 $ pip3 list -o Package Version Latest Type ---------- -------- -------- ----- awscli 1.16.170 1.16.198 wheel botocore 1.12.160 1.12.188 wheel

由於之前的命令顯示有較新版本的 AWS CLI 可供使用,您可以執行 pip install --upgrade 來取得最新版本:

$ pip3 install --upgrade --user awscli Collecting awscli Downloading https://files.pythonhosted.org/packages/dc/70/b32e9534c32fe9331801449e1f7eacba6a1992c2e4af9c82ac9116661d3b/awscli-1.16.198-py2.py3-none-any.whl (1.7MB) |████████████████████████████████| 1.7MB 1.6MB/s Collecting botocore==1.12.188 (from awscli) Using cached https://files.pythonhosted.org/packages/10/cb/8dcfb3e035a419f228df7d3a0eea5d52b528bde7ca162f62f3096a930472/botocore-1.12.188-py2.py3-none-any.whl Requirement already satisfied, skipping upgrade: docutils>=0.10 in ./venv/lib/python3.7/site-packages (from awscli) (0.14) Requirement already satisfied, skipping upgrade: rsa<=3.5.0,>=3.1.2 in ./venv/lib/python3.7/site-packages (from awscli) (3.4.2) Requirement already satisfied, skipping upgrade: colorama<=0.3.9,>=0.2.5 in ./venv/lib/python3.7/site-packages (from awscli) (0.3.9) Requirement already satisfied, skipping upgrade: PyYAML<=5.1,>=3.10; python_version != "2.6" in ./venv/lib/python3.7/site-packages (from awscli) (3.13) Requirement already satisfied, skipping upgrade: s3transfer<0.3.0,>=0.2.0 in ./venv/lib/python3.7/site-packages (from awscli) (0.2.0) Requirement already satisfied, skipping upgrade: jmespath<1.0.0,>=0.7.1 in ./venv/lib/python3.7/site-packages (from botocore==1.12.188->awscli) (0.9.4) Requirement already satisfied, skipping upgrade: urllib3<1.26,>=1.20; python_version >= "3.4" in ./venv/lib/python3.7/site-packages (from botocore==1.12.188->awscli) (1.24.3) Requirement already satisfied, skipping upgrade: python-dateutil<3.0.0,>=2.1; python_version >= "2.7" in ./venv/lib/python3.7/site-packages (from botocore==1.12.188->awscli) (2.8.0) Requirement already satisfied, skipping upgrade: pyasn1>=0.1.3 in ./venv/lib/python3.7/site-packages (from rsa<=3.5.0,>=3.1.2->awscli) (0.4.5) Requirement already satisfied, skipping upgrade: six>=1.5 in ./venv/lib/python3.7/site-packages (from python-dateutil<3.0.0,>=2.1; python_version >= "2.7"->botocore==1.12.188->awscli) (1.12.0) Installing collected packages: botocore, awscli Found existing installation: botocore 1.12.160 Uninstalling botocore-1.12.160: Successfully uninstalled botocore-1.12.160 Found existing installation: awscli 1.16.170 Uninstalling awscli-1.16.170: Successfully uninstalled awscli-1.16.170 Successfully installed awscli-1.16.198 botocore-1.12.188

新增 AWS CLI 可執行檔到您的命令列路徑

在使用 pip 進行安裝後,您可能需要將 aws 可執行檔新增到作業系統的 PATH 環境變數中。

您可以執行下列命令,驗證 pip 將 AWS 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的步驟 3 中新增路徑的同一個資料夾,則您已完成。否則,請重新執行同樣的步驟 3a 到 3c,將此額外資料夾新增到路徑。