Ubuntuでawscliを使うための準備
AWS CodeCommit を使う機会があったのですが、そもそもawscliを入れていなかったのでまずはそこから。
1. 準備
Installing the AWS Command Line Interface によるとpipでインストールするのが良さそう。システム要件は下記の通り。
- Prerequisites
- Windows, Linux, OS X, or Unix
- Python 2 version 2.6.5+ or Python 3 version 3.3+
- Pip
手元のUbuntu 14.04の環境だとpythonは2.7系と3.4系が入っていたので、3.4を使うことにします。
少し前にOSを再インストールしてから開発系のパッケージを追加していないので依存関係で色々入ってきました。
$ sudo apt-get install python3-pip
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
build-essential dpkg-dev g++ g++-4.8 libalgorithm-diff-perl
libalgorithm-diff-xs-perl libalgorithm-merge-perl libexpat1-dev
libpython3-dev libpython3.4-dev libstdc++-4.8-dev python-chardet-whl
python-colorama-whl python-distlib-whl python-html5lib-whl python-pip-whl
python-requests-whl python-setuptools-whl python-six-whl python-urllib3-whl
python3-colorama python3-dev python3-distlib python3-html5lib
python3-setuptools python3-wheel python3.4-dev
提案パッケージ:
debian-keyring g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg
libstdc++-4.8-doc python3-genshi
以下のパッケージが新たにインストールされます:
build-essential dpkg-dev g++ g++-4.8 libalgorithm-diff-perl
libalgorithm-diff-xs-perl libalgorithm-merge-perl libexpat1-dev
libpython3-dev libpython3.4-dev libstdc++-4.8-dev python-chardet-whl
python-colorama-whl python-distlib-whl python-html5lib-whl python-pip-whl
python-requests-whl python-setuptools-whl python-six-whl python-urllib3-whl
python3-colorama python3-dev python3-distlib python3-html5lib python3-pip
python3-setuptools python3-wheel python3.4-dev
アップグレード: 0 個、新規インストール: 28 個、削除: 0 個、保留: 0 個。
45.9 MB のアーカイブを取得する必要があります。
この操作後に追加で 85.7 MB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty/main libexpat1-dev amd64 2.1.0-4ubuntu1 [115 kB]
取得:2 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/main libpython3.4-dev amd64 3.4.0-2ubuntu1.1 [27.0 MB]
取得:3 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/main libstdc++-4.8-dev amd64 4.8.4-2ubuntu1~14.04 [1,052 kB]
取得:4 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/main g++-4.8 amd64 4.8.4-2ubuntu1~14.04 [15.0 MB]
取得:5 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty/main g++ amd64 4:4.8.2-1ubuntu6 [1,490 B]
取得:6 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/main dpkg-dev all 1.17.5ubuntu5.4 [726 kB]
取得:7 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty/main build-essential amd64 11.6ubuntu6 [4,838 B]
取得:8 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty/main libalgorithm-diff-perl all 1.19.02-3 [50.0 kB]
取得:9 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty/main libalgorithm-diff-xs-perl amd64 0.04-2build4 [12.6 kB]
取得:10 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty/main libalgorithm-merge-perl all 0.08-2 [12.7 kB]
取得:11 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty/main libpython3-dev amd64 3.4.0-0ubuntu2 [7,002 B]
取得:12 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/universe python-chardet-whl all 2.2.1-2~ubuntu1 [170 kB]
取得:13 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/universe python-colorama-whl all 0.2.5-0.1ubuntu2 [18.2 kB]
取得:14 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/universe python-distlib-whl all 0.1.8-1ubuntu1 [140 kB]
取得:15 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/main python-html5lib-whl all 0.999-3~ubuntu1 [109 kB]
取得:16 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/main python-six-whl all 1.5.2-1ubuntu1 [10.5 kB]
取得:17 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/main python-urllib3-whl all 1.7.1-1ubuntu3 [64.0 kB]
取得:18 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/main python-requests-whl all 2.2.1-1ubuntu0.3 [227 kB]
取得:19 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/main python-setuptools-whl all 3.3-1ubuntu2 [244 kB]
取得:20 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/universe python-pip-whl all 1.5.4-1ubuntu3 [111 kB]
取得:21 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/universe python3-colorama all 0.2.5-0.1ubuntu2 [12.0 kB]
取得:22 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/main python3.4-dev amd64 3.4.0-2ubuntu1.1 [425 kB]
取得:23 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty/main python3-dev amd64 3.4.0-0ubuntu2 [1,192 B]
取得:24 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/universe python3-distlib all 0.1.8-1ubuntu1 [113 kB]
取得:25 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/universe python3-html5lib all 0.999-3~ubuntu1 [79.7 kB]
取得:26 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/main python3-setuptools all 3.3-1ubuntu2 [144 kB]
取得:27 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/universe python3-pip all 1.5.4-1ubuntu3 [80.3 kB]
取得:28 http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ trusty-updates/main python3-wheel all 0.24.0-1~ubuntu1 [44.8 kB]
45.9 MB を 14秒 で取得しました (3,102 kB/s)
以前に未選択のパッケージ libexpat1-dev:amd64 を選択しています。
(データベースを読み込んでいます ... 現在 209662 個のファイルとディレクトリがインストールされています。)
Preparing to unpack .../libexpat1-dev_2.1.0-4ubuntu1_amd64.deb ...
Unpacking libexpat1-dev:amd64 (2.1.0-4ubuntu1) ...
以前に未選択のパッケージ libpython3.4-dev:amd64 を選択しています。
Preparing to unpack .../libpython3.4-dev_3.4.0-2ubuntu1.1_amd64.deb ...
Unpacking libpython3.4-dev:amd64 (3.4.0-2ubuntu1.1) ...
以前に未選択のパッケージ libstdc++-4.8-dev:amd64 を選択しています。
Preparing to unpack .../libstdc++-4.8-dev_4.8.4-2ubuntu1~14.04_amd64.deb ...
Unpacking libstdc++-4.8-dev:amd64 (4.8.4-2ubuntu1~14.04) ...
以前に未選択のパッケージ g++-4.8 を選択しています。
Preparing to unpack .../g++-4.8_4.8.4-2ubuntu1~14.04_amd64.deb ...
Unpacking g++-4.8 (4.8.4-2ubuntu1~14.04) ...
以前に未選択のパッケージ g++ を選択しています。
Preparing to unpack .../g++_4%3a4.8.2-1ubuntu6_amd64.deb ...
Unpacking g++ (4:4.8.2-1ubuntu6) ...
以前に未選択のパッケージ dpkg-dev を選択しています。
Preparing to unpack .../dpkg-dev_1.17.5ubuntu5.4_all.deb ...
Unpacking dpkg-dev (1.17.5ubuntu5.4) ...
以前に未選択のパッケージ build-essential を選択しています。
Preparing to unpack .../build-essential_11.6ubuntu6_amd64.deb ...
Unpacking build-essential (11.6ubuntu6) ...
以前に未選択のパッケージ libalgorithm-diff-perl を選択しています。
Preparing to unpack .../libalgorithm-diff-perl_1.19.02-3_all.deb ...
Unpacking libalgorithm-diff-perl (1.19.02-3) ...
以前に未選択のパッケージ libalgorithm-diff-xs-perl を選択しています。
Preparing to unpack .../libalgorithm-diff-xs-perl_0.04-2build4_amd64.deb ...
Unpacking libalgorithm-diff-xs-perl (0.04-2build4) ...
以前に未選択のパッケージ libalgorithm-merge-perl を選択しています。
Preparing to unpack .../libalgorithm-merge-perl_0.08-2_all.deb ...
Unpacking libalgorithm-merge-perl (0.08-2) ...
以前に未選択のパッケージ libpython3-dev:amd64 を選択しています。
Preparing to unpack .../libpython3-dev_3.4.0-0ubuntu2_amd64.deb ...
Unpacking libpython3-dev:amd64 (3.4.0-0ubuntu2) ...
以前に未選択のパッケージ python-chardet-whl を選択しています。
Preparing to unpack .../python-chardet-whl_2.2.1-2~ubuntu1_all.deb ...
Unpacking python-chardet-whl (2.2.1-2~ubuntu1) ...
以前に未選択のパッケージ python-colorama-whl を選択しています。
Preparing to unpack .../python-colorama-whl_0.2.5-0.1ubuntu2_all.deb ...
Unpacking python-colorama-whl (0.2.5-0.1ubuntu2) ...
以前に未選択のパッケージ python-distlib-whl を選択しています。
Preparing to unpack .../python-distlib-whl_0.1.8-1ubuntu1_all.deb ...
Unpacking python-distlib-whl (0.1.8-1ubuntu1) ...
以前に未選択のパッケージ python-html5lib-whl を選択しています。
Preparing to unpack .../python-html5lib-whl_0.999-3~ubuntu1_all.deb ...
Unpacking python-html5lib-whl (0.999-3~ubuntu1) ...
以前に未選択のパッケージ python-six-whl を選択しています。
Preparing to unpack .../python-six-whl_1.5.2-1ubuntu1_all.deb ...
Unpacking python-six-whl (1.5.2-1ubuntu1) ...
以前に未選択のパッケージ python-urllib3-whl を選択しています。
Preparing to unpack .../python-urllib3-whl_1.7.1-1ubuntu3_all.deb ...
Unpacking python-urllib3-whl (1.7.1-1ubuntu3) ...
以前に未選択のパッケージ python-requests-whl を選択しています。
Preparing to unpack .../python-requests-whl_2.2.1-1ubuntu0.3_all.deb ...
Unpacking python-requests-whl (2.2.1-1ubuntu0.3) ...
以前に未選択のパッケージ python-setuptools-whl を選択しています。
Preparing to unpack .../python-setuptools-whl_3.3-1ubuntu2_all.deb ...
Unpacking python-setuptools-whl (3.3-1ubuntu2) ...
以前に未選択のパッケージ python-pip-whl を選択しています。
Preparing to unpack .../python-pip-whl_1.5.4-1ubuntu3_all.deb ...
Unpacking python-pip-whl (1.5.4-1ubuntu3) ...
以前に未選択のパッケージ python3-colorama を選択しています。
Preparing to unpack .../python3-colorama_0.2.5-0.1ubuntu2_all.deb ...
Unpacking python3-colorama (0.2.5-0.1ubuntu2) ...
以前に未選択のパッケージ python3.4-dev を選択しています。
Preparing to unpack .../python3.4-dev_3.4.0-2ubuntu1.1_amd64.deb ...
Unpacking python3.4-dev (3.4.0-2ubuntu1.1) ...
以前に未選択のパッケージ python3-dev を選択しています。
Preparing to unpack .../python3-dev_3.4.0-0ubuntu2_amd64.deb ...
Unpacking python3-dev (3.4.0-0ubuntu2) ...
以前に未選択のパッケージ python3-distlib を選択しています。
Preparing to unpack .../python3-distlib_0.1.8-1ubuntu1_all.deb ...
Unpacking python3-distlib (0.1.8-1ubuntu1) ...
以前に未選択のパッケージ python3-html5lib を選択しています。
Preparing to unpack .../python3-html5lib_0.999-3~ubuntu1_all.deb ...
Unpacking python3-html5lib (0.999-3~ubuntu1) ...
以前に未選択のパッケージ python3-setuptools を選択しています。
Preparing to unpack .../python3-setuptools_3.3-1ubuntu2_all.deb ...
Unpacking python3-setuptools (3.3-1ubuntu2) ...
以前に未選択のパッケージ python3-pip を選択しています。
Preparing to unpack .../python3-pip_1.5.4-1ubuntu3_all.deb ...
Unpacking python3-pip (1.5.4-1ubuntu3) ...
以前に未選択のパッケージ python3-wheel を選択しています。
Preparing to unpack .../python3-wheel_0.24.0-1~ubuntu1_all.deb ...
Unpacking python3-wheel (0.24.0-1~ubuntu1) ...
Processing triggers for doc-base (0.10.5) ...
Processing 1 added doc-base file...
Registering documents with scrollkeeper...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
libexpat1-dev:amd64 (2.1.0-4ubuntu1) を設定しています ...
libpython3.4-dev:amd64 (3.4.0-2ubuntu1.1) を設定しています ...
libstdc++-4.8-dev:amd64 (4.8.4-2ubuntu1~14.04) を設定しています ...
g++-4.8 (4.8.4-2ubuntu1~14.04) を設定しています ...
g++ (4:4.8.2-1ubuntu6) を設定しています ...
update-alternatives: /usr/bin/c++ (c++) を提供するために 自動モード で /usr/bin/g++ を使います
dpkg-dev (1.17.5ubuntu5.4) を設定しています ...
build-essential (11.6ubuntu6) を設定しています ...
libalgorithm-diff-perl (1.19.02-3) を設定しています ...
libalgorithm-diff-xs-perl (0.04-2build4) を設定しています ...
libalgorithm-merge-perl (0.08-2) を設定しています ...
libpython3-dev:amd64 (3.4.0-0ubuntu2) を設定しています ...
python-chardet-whl (2.2.1-2~ubuntu1) を設定しています ...
python-colorama-whl (0.2.5-0.1ubuntu2) を設定しています ...
python-distlib-whl (0.1.8-1ubuntu1) を設定しています ...
python-html5lib-whl (0.999-3~ubuntu1) を設定しています ...
python-six-whl (1.5.2-1ubuntu1) を設定しています ...
python-urllib3-whl (1.7.1-1ubuntu3) を設定しています ...
python-requests-whl (2.2.1-1ubuntu0.3) を設定しています ...
python-setuptools-whl (3.3-1ubuntu2) を設定しています ...
python-pip-whl (1.5.4-1ubuntu3) を設定しています ...
python3-colorama (0.2.5-0.1ubuntu2) を設定しています ...
python3.4-dev (3.4.0-2ubuntu1.1) を設定しています ...
python3-dev (3.4.0-0ubuntu2) を設定しています ...
python3-distlib (0.1.8-1ubuntu1) を設定しています ...
python3-html5lib (0.999-3~ubuntu1) を設定しています ...
python3-setuptools (3.3-1ubuntu2) を設定しています ...
python3-pip (1.5.4-1ubuntu3) を設定しています ...
python3-wheel (0.24.0-1~ubuntu1) を設定しています ...
$ pip3 --version
pip 1.5.4 from /usr/lib/python3/dist-packages (python 3.4)
コマンドの後ろに"3"が付くので2.7系が良かったかも……
2. awscliのインストール
awscliをインストールします。
2.7系のpipをインストールした場合はpip3をpipに読み替えてください。
$ sudo pip3 install awscli
Downloading/unpacking awscli
Downloading awscli-1.7.39-py2.py3-none-any.whl (722kB): 722kB downloaded
Requirement already satisfied (use --upgrade to upgrade): colorama>=0.2.5,<=0.3.3 in /usr/lib/python3/dist-packages (from awscli)
Downloading/unpacking docutils>=0.10 (from awscli)
Downloading docutils-0.12-py3-none-any.whl (508kB): 508kB downloaded
Downloading/unpacking botocore==1.1.2 (from awscli)
Downloading botocore-1.1.2-py2.py3-none-any.whl (1.8MB): 1.8MB downloaded
Downloading/unpacking rsa>=3.1.2,<=3.1.4 (from awscli)
Downloading rsa-3.1.4.tar.gz
Running setup.py (path:/tmp/pip_build_root/rsa/setup.py) egg_info for package rsa
warning: no files found matching 'README'
Downloading/unpacking python-dateutil>=2.1,<3.0.0 (from botocore==1.1.2->awscli)
Downloading python_dateutil-2.4.2-py2.py3-none-any.whl (188kB): 188kB downloaded
Downloading/unpacking jmespath==0.7.1 (from botocore==1.1.2->awscli)
Downloading jmespath-0.7.1-py2.py3-none-any.whl
Downloading/unpacking pyasn1>=0.1.3 (from rsa>=3.1.2,<=3.1.4->awscli)
Downloading pyasn1-0.1.8.tar.gz (75kB): 75kB downloaded
Running setup.py (path:/tmp/pip_build_root/pyasn1/setup.py) egg_info for package pyasn1
Requirement already satisfied (use --upgrade to upgrade): six>=1.5 in /usr/lib/python3/dist-packages (from python-dateutil>=2.1,<3.0.0->botocore==1.1.2->awscli)
Installing collected packages: awscli, docutils, botocore, rsa, python-dateutil, jmespath, pyasn1
Running setup.py install for rsa
warning: no files found matching 'README'
Installing pyrsa-keygen script to /usr/local/bin
Installing pyrsa-decrypt script to /usr/local/bin
Installing pyrsa-priv2pub script to /usr/local/bin
Installing pyrsa-decrypt-bigfile script to /usr/local/bin
Installing pyrsa-verify script to /usr/local/bin
Installing pyrsa-sign script to /usr/local/bin
Installing pyrsa-encrypt-bigfile script to /usr/local/bin
Installing pyrsa-encrypt script to /usr/local/bin
Running setup.py install for pyasn1
Successfully installed awscli docutils botocore rsa python-dateutil jmespath pyasn1
Cleaning up...
インストールが終わったらコマンドを確認します。
$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/1.7.39 Python/3.4.0 Linux/3.13.0-57-generic
3. bashでawsコマンドを補完する
bashでawsコマンドが補完されるようにします。
$ which aws_completer
/usr/local/bin/aws_completer
$ complete -C "/usr/local/bin/aws_completer" aws
$ cat <<-'_EOT_' >> ~/.bashrc
complete -C "/usr/local/bin/aws_completer" aws
_EOT_
tabキーを押すと補完されるようになります。
$ aws (tab)
autoscaling ds machinelearning
cloudformation dynamodb opsworks
cloudfront dynamodbstreams rds
cloudhsm ec2 redshift
cloudsearch ecs route53
cloudsearchdomain efs route53domains
cloudtrail elasticache s3
cloudwatch elasticbeanstalk s3api
codecommit elastictranscoder sdb
codepipeline elb ses
cognito-identity emr sns
cognito-sync glacier sqs
configservice iam ssm
configure importexport storagegateway
datapipeline kinesis sts
deploy kms support
devicefarm lambda swf
directconnect logs workspaces