In this short article we will show you how to install Amazon Web Services Command Line Interface (AWS CLI) on Ubuntu 24.04 Noble Numbat LTS. The AWS CLI is a versatile tool that can significantly enhance your ability to manage and automate AWS services. By following this guide, you should be able to install, configure, and start using the AWS CLI effectively. Whether you’re managing S3 buckets, EC2 instances, or other AWS services, the AWS CLI provides a powerful interface to streamline your cloud operations.
The AWS Command Line Interface (CLI) is a powerful tool that allows you to interact with Amazon Web Services from your command line. It provides a unified interface for managing AWS services, giving you the ability to automate repetitive tasks, manage resources, and control your cloud infrastructure efficiently.
Installing AWS CLI On Ubuntu 24.04 LTS
AWS CLI can be installed on various operating systems, including Windows, macOS, and Linux. Here’s a brief guide on how to install AWS CLI on Ubuntu 24.04 Linux platforms.. There are three options how to install AWS CLI on Ubuntu system, namely :
- Installing AWS CLI using Snap Pakcet Manager
- Installing AWS CLI using Source File
- Installing AWS CLI using PIP Installer
1. Installing AWS by Using Snap Packet Manager
The easier way install the packages on Linux is by using snap, where Snap package manager is a secure and reliable way to download, install, update, or remove multiple packages via one-line commands across multiple Linux distributions. On this section, we will use snap packet manager to install AWS CLI on Ubuntu 24.04 LTS. Here’s the steps :
1. Checking if the snap was installed on the system, by submitting command line :
$ snap --version
Output :
ramansah@bckinfo:~$ snap --version snap 2.63 snapd 2.63 series 16 ubuntu 24.04 kernel 6.8.0-31-generic
2. Install AWS CLI via Snap
We noticed, if the snap was already installed on the system. Then we will install AWS CLI on the system by submitting command line :
$ sudo snap install aws-cli --classic
Output :
ramansah@bckinfo:~$ sudo snap install aws-cli --classic aws-cli (v2/stable) 2.15.57 from Amazon Web Services (aws✓) installed
3. Verify AWS CLI installation
Then we will verify if the AWS CLI has already installed by querying its version.
$ aws --version
Output :
ramansah@bckinfo:~$ aws --version aws-cli/2.15.57 Python/3.11.8 Linux/6.8.0-31-generic exe/x86_64.ubuntu.24
4. Remove AWS CLI via Snap
On this step, then we will remove AWS CLI using snap, by submitting command line :
ramansah@bckinfo:~$ sudo snap remove aws-cli aws-cli removed
2. Installing AWS CLI by Using Source File
On this stage we will install AWS CLI with another option : using source file. By using this option, we will download, extract and make AWS CLI manually. For details steps will be shown below :
## Download AWS CLI Source $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" ## Unzip AWS CLI $ unzip awscliv2.zip ## Install AWS CLI $ sudo ./install
1. Downloads and installs the AWS CLI version 2
By using curl command line, we will download the AWS CLI version 2 from AWS official website.
ramansah@bckinfo:~$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 57.8M 100 57.8M 0 0 540k 0 0:01:49 0:01:49 --:--:-- 443k
2. Unzip AWS CLI
After AWSC CLI file is already downaloade, then we will unzip it, by using command line below.
ramansah@bckinfo:~$ unzip awscliv2.zip Archive: awscliv2.zip creating: aws/ creating: aws/dist/ inflating: aws/THIRD_PARTY_LICENSES inflating: aws/install inflating: aws/README.md creating: aws/dist/awscli/ ... inflating: aws/dist/docutils/parsers/rst/include/README.txt inflating: aws/dist/docutils/parsers/rst/include/isobox.txt inflating: aws/dist/docutils/parsers/rst/include/isoamso.txt inflating: aws/dist/docutils/parsers/rst/include/mmlextra-wide.txt inflating: aws/dist/docutils/parsers/rst/include/isogrk3.txt inflating: aws/dist/docutils/parsers/rst/include/isogrk1.txt
3. Install AWS CLI
Then we will go inside to $HOME_DIRECTORY/ASW, then install it by using below command below:
ramansah@bckinfo:~$ cd aws/ ramansah@bckinfo:~/aws$ ls dist install README.md THIRD_PARTY_LICENSES ramansah@bckinfo:~/aws$ sudo ./install You can now run: /usr/local/bin/aws --version
4. Verify the AWS version
We just submit following command line to query aws version.
ramansah@bckinfo:~/aws$ sudo /usr/local/bin/aws --version aws-cli/2.15.57 Python/3.11.8 Linux/6.8.0-31-generic exe/x86_64.ubuntu.24
5. Removing AWS CLI from source file
As this tutorial is to show the installation process, then we will remove the installation by using command line :
ramansah@bckinfo:~/aws$ sudo rm -rf /usr/local/aws ramansah@bckinfo:~/aws$ sudo rm -rf /usr/local/bin/aws ramansah@bckinfo:~/aws$ aws --version bash: /usr/local/bin/aws: No such file or directory
3. Installing AWS CLI using PIP Installer
The third option to install AWS CLI is using PIP installer. By default, Python has already provided a PIP installer which is useful for downloading and installing various packages. Such packages are not found inside the standard Python library.
1. Install Python PIP
Before installing Python PIP on the system, firstly we will verify if Python3 has already installed on the system. For this purpose we will submit following command line :
##Checking if Python3 has already installed on the system $ python3 $ python3 --version ## Install Python PIP on the system $ sudo apt-get install python3-pip
Output :
ramansah@bckinfo:~/aws$ python3 Python 3.12.3 (main, Apr 10 2024, 05:33:47) [GCC 13.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
ramansah@bckinfo:~/aws$ python3 --version Python 3.12.3
ramansah@bckinfo:~/aws$ python3 --version Python 3.12.3 amansah@bckinfo:~/aws$ sudo apt-get install python3-pip Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: binutils binutils-common binutils-x86-64-linux-gnu build-essential bzip2 dpkg-dev fakeroot g++ g++-13 g++-13-x86-64-linux-gnu g++-x86-64-linux-gnu gcc gcc-13 gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu javascript-common libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan8 libbinutils libcc1-0 libctf-nobfd0 libctf0 libdpkg-perl libexpat1-dev libfakeroot libfile-fcntllock-perl libgcc-13-dev libgprofng0 libhwasan0 libitm1 libjs-jquery libjs-sphinxdoc libjs-underscore liblsan0 libpython3-dev libpython3.12-dev libquadmath0 libsframe1 libstdc++-13-dev libtsan2 libubsan1 lto-disabled-list make python3-dev python3-setuptools python3-wheel python3.12-dev zlib1g-dev Suggested packages: binutils-doc gprofng-gui bzip2-doc debian-keyring g++-multilib g++-13-multilib gcc-13-doc gcc-multilib autoconf automake libtool flex bison gcc-doc gcc-13-multilib gcc-13-locales gdb-x86-64-linux-gnu apache2 | lighttpd | httpd git bzr libstdc++-13-doc make-doc python-setuptools-doc The following NEW packages will be installed: binutils binutils-common binutils-x86-64-linux-gnu build-essential bzip2 dpkg-dev fakeroot g++ g++-13 g++-13-x86-64-linux-gnu g++-x86-64-linux-gnu gcc gcc-13 gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu javascript-common libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan8 libbinutils libcc1-0 libctf-nobfd0 libctf0 libdpkg-perl libexpat1-dev libfakeroot libfile-fcntllock-perl libgcc-13-dev libgprofng0 libhwasan0 libitm1 libjs-jquery libjs-sphinxdoc libjs-underscore liblsan0 libpython3-dev libpython3.12-dev libquadmath0 libsframe1 libstdc++-13-dev libtsan2 libubsan1 lto-disabled-list make python3-dev python3-pip python3-setuptools python3-wheel python3.12-dev zlib1g-dev 0 upgraded, 51 newly installed, 0 to remove and 17 not upgraded. Need to get 23.9 MB/65.8 MB of archives. After this operation, 252 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://id.archive.ubuntu.com/ubuntu noble/main amd64 g++-13-x86-64-linux-gnu amd64 13.2.0-23ubuntu4 [12.5 MB] Get:2 http://id.archive.ubuntu.com/ubuntu noble/main amd64 g++-13 amd64 13.2.0-23ubuntu4 [14.5 kB] . . . Setting up g++ (4:13.2.0-7ubuntu1) ... update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode Setting up build-essential (12.10ubuntu1) ... Processing triggers for man-db (2.12.0-4build2) ... Processing triggers for libc-bin (2.39-0ubuntu8.1) ...
2. Install AWS CLI Using Python3 PIP
After all are set, then we will submit following command line to install AWS CLI using Python PIP.
$ pip3 install awscli --break-system-packages
Output :
ramansah@bckinfo:~/aws$ pip3 install awscli --break-system-packages Defaulting to user installation because normal site-packages is not writeable Collecting awscli Downloading awscli-1.32.112-py3-none-any.whl.metadata (11 kB) Collecting botocore==1.34.112 (from awscli) Downloading botocore-1.34.112-py3-none-any.whl.metadata (5.7 kB) Collecting docutils<0.17,>=0.10 (from awscli) Downloading docutils-0.16-py2.py3-none-any.whl.metadata (2.7 kB) Collecting s3transfer<0.11.0,>=0.10.0 (from awscli) Downloading s3transfer-0.10.1-py3-none-any.whl.metadata (1.7 kB) Requirement already satisfied: PyYAML<6.1,>=3.10 in /usr/lib/python3/dist-packages (from awscli) (6.0.1) Requirement already satisfied: colorama<0.4.7,>=0.2.5 in /usr/lib/python3/dist-packages (from awscli) (0.4.6) Collecting rsa<4.8,>=3.1.2 (from awscli) Downloading rsa-4.7.2-py3-none-any.whl.metadata (3.6 kB) Collecting jmespath<2.0.0,>=0.7.1 (from botocore==1.34.112->awscli) Downloading jmespath-1.0.1-py3-none-any.whl.metadata (7.6 kB) Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in /usr/lib/python3/dist-packages (from botocore==1.34.112->awscli) (2.8.2) Requirement already satisfied: urllib3!=2.2.0,<3,>=1.25.4 in /usr/lib/python3/dist-packages (from botocore==1.34.112->awscli) (2.0.7) Collecting pyasn1>=0.1.3 (from rsa<4.8,>=3.1.2->awscli) Downloading pyasn1-0.6.0-py2.py3-none-any.whl.metadata (8.3 kB) Downloading awscli-1.32.112-py3-none-any.whl (4.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 171.2 kB/s eta 0:00:00 Downloading botocore-1.34.112-py3-none-any.whl (12.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.3/12.3 MB 264.7 kB/s eta 0:00:00 Downloading docutils-0.16-py2.py3-none-any.whl (548 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 548.2/548.2 kB 210.0 kB/s eta 0:00:00 Downloading rsa-4.7.2-py3-none-any.whl (34 kB) Downloading s3transfer-0.10.1-py3-none-any.whl (82 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 82.2/82.2 kB 560.7 kB/s eta 0:00:00 Downloading jmespath-1.0.1-py3-none-any.whl (20 kB) Downloading pyasn1-0.6.0-py2.py3-none-any.whl (85 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 85.3/85.3 kB 656.1 kB/s eta 0:00:00 Installing collected packages: pyasn1, jmespath, docutils, rsa, botocore, s3transfer, awscli WARNING: The scripts pyrsa-decrypt, pyrsa-encrypt, pyrsa-keygen, pyrsa-priv2pub, pyrsa-sign and pyrsa-verify are installed in '/home/ramansah/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed awscli-1.32.112 botocore-1.34.112 docutils-0.16 jmespath-1.0.1 pyasn1-0.6.0 rsa-4.7.2 s3transfer-0.10.1
3. Verify ASW CLI Installation
After installation is completed done, then we will verify it by submitting command line :
$ pip show awscli
Output :
ramansah@bckinfo:~/aws$ pip show awscli Name: awscli Version: 1.32.112 Summary: Universal Command Line Environment for AWS. Home-page: http://aws.amazon.com/cli/ Author: Amazon Web Services Author-email: License: Apache License 2.0 Location: /home/ramansah/.local/lib/python3.12/site-packages Requires: botocore, colorama, docutils, PyYAML, rsa, s3transfer Required-by:
4. Remove AWS CLI Using Python PIP
Since the installation is only a tutorial, then we will uninstall or remove the AWS CLI installation by using command line :
$ pip3 uninstall awscli --break-system-packages
Output :
ramansah@bckinfo:~/aws$ pip3 uninstall awscli --break-system-packages Found existing installation: awscli 1.32.112 Uninstalling awscli-1.32.112: Would remove: /home/ramansah/.local/bin/aws /home/ramansah/.local/bin/aws.cmd /home/ramansah/.local/bin/aws_bash_completer /home/ramansah/.local/bin/aws_completer /home/ramansah/.local/bin/aws_zsh_completer.sh /home/ramansah/.local/lib/python3.12/site-packages/awscli-1.32.112.dist-info/* /home/ramansah/.local/lib/python3.12/site-packages/awscli/* Proceed (Y/n)? Y Successfully uninstalled awscli-1.32.112
Conclusion
AWS CLI is an indispensable tool for anyone managing AWS environments. Its ability to streamline and automate AWS operations makes it a favorite among developers and system administrators. By following the installation steps and best practices outlined in this guide, you can harness the full power of AWS CLI to enhance your cloud management capabilities.