CentOS Stream and Red Hat Enterprise Linux (RHEL) servers often need AWS CLI before automation jobs can call S3, STS, or deployment APIs from the shell. Installing AWS CLI version 2 from the AWS Linux ZIP installer gives the host the current aws command without relying on RHEL-family repositories that can trail the upstream release.

AWS publishes separate Linux installers for x86_64 and aarch64 systems. The bundled install script copies the CLI under /usr/local/aws-cli and creates /usr/local/bin/aws by default, so the shell can find the command through the normal system PATH.

Minimal CentOS Stream and RHEL images usually already include curl through curl-minimal, but they may not include unzip, groff, or less. Use the installer archive that matches the CPU architecture, and use the installer --update option when replacing an existing manual AWS CLI v2 install in the same directory.

Steps to install AWS CLI on CentOS Stream or Red Hat Enterprise Linux:

  1. Install the RHEL-family prerequisites.
    $ sudo dnf install --assumeyes unzip groff less

    unzip extracts the installer archive. groff and less support built-in AWS CLI help output on minimal hosts. If curl is missing on a stripped-down image, install the distribution's curl package before downloading the archive.

  2. Check the CPU architecture.
    $ uname -m
    x86_64

    x86_64 uses the default download URL in the next step. Use the aarch64 archive on ARM64 systems.

  3. Download the current AWS CLI version 2 installer archive.
    $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

    For aarch64 hosts, replace the URL with https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip.

  4. Extract the installer archive.
    $ unzip awscliv2.zip
    Archive:  awscliv2.zip
       creating: aws/
      inflating: aws/install
    ##### snipped #####
  5. Run the bundled installer with sudo.
    $ sudo ./aws/install
    You can now run: /usr/local/bin/aws --version

    The default install directory is /usr/local/aws-cli and the default symlink path is /usr/local/bin/aws. For an existing manual AWS CLI v2 install, use sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update.

  6. Confirm that the shell resolves the bundled aws command.
    $ command -v aws
    /usr/local/bin/aws

    If the shell still resolves /usr/bin/aws, an older distro package is taking precedence over the bundled install.

  7. Confirm that the active command reports AWS CLI v2.
    $ aws --version
    aws-cli/2.35.3 ##### snipped #####

    The exact version, bundled runtime, and platform string change over time. The decisive result is that the line starts with aws-cli/2.
    Related: How to check AWS CLI version

  8. Remove the downloaded installer files.
    $ rm -r aws awscliv2.zip

    Removing these temporary files does not uninstall AWS CLI from /usr/local/aws-cli.

  9. Run a signed identity check after credentials are configured.
    $ aws sts get-caller-identity --query Account --output text
    123456789012

    Use aws configure, aws configure sso, or aws login before this step on a new host.
    Related: How to configure AWS CLI on Linux and macOS
    Related: How to log in to AWS CLI with IAM Identity Center
    Related: How to check the current caller identity in AWS CLI