Amazon Linux: "apt-get: command not found"
Categories:
Amazon Linux: Understanding and Resolving "apt-get: command not found"

Discover why 'apt-get' isn't available on Amazon Linux and learn the correct package management tools and commands to effectively manage software on your EC2 instances.
If you're new to Amazon Linux or migrating from a Debian/Ubuntu-based system, encountering the error message "apt-get: command not found" can be confusing. This article will clarify why apt-get
is not present on Amazon Linux, introduce you to the correct package manager for this distribution, and guide you through common package management tasks.
Why 'apt-get' is Not Found on Amazon Linux
The apt-get
command is the primary package management utility for Debian-based Linux distributions, such as Ubuntu, Debian, and Linux Mint. Amazon Linux, however, is a Red Hat-based distribution, specifically derived from Fedora and CentOS. Red Hat-based systems use a different package management system called RPM (Red Hat Package Manager) and its front-end utility, yum
(Yellowdog Updater, Modified), or the newer dnf
(Dandified YUM).
yum
and dnf
respectively. While yum
is still available on AL2023 for compatibility, dnf
is the recommended and default package manager.flowchart TD A[User attempts 'apt-get'] --> B{"Is OS Debian-based?"} B -- No --> C[Amazon Linux (Red Hat-based)] C --> D[Uses RPM packages] D --> E[Package Manager: yum/dnf] E --> F["apt-get: command not found"] B -- Yes --> G[Ubuntu/Debian] G --> H[Uses DEB packages] H --> I[Package Manager: apt/apt-get] I --> J[Command successful]
Decision flow for package manager based on Linux distribution type.
Introducing 'yum' and 'dnf' on Amazon Linux
On Amazon Linux 2, yum
is your go-to command for installing, updating, and removing software packages. It handles dependencies automatically and simplifies software management. For Amazon Linux 2023, dnf
is the modern replacement for yum
, offering improved performance and dependency resolution. Both commands share a very similar syntax for common operations, making the transition relatively smooth.
Common Package Management Tasks with 'yum' and 'dnf'
Here are the equivalent commands for common package management operations you might be familiar with from apt-get
.
Amazon Linux 2 (yum)
# Update package lists and installed packages
sudo yum update -y
# Install a new package (e.g., nginx)
sudo yum install nginx -y
# Remove a package
sudo yum remove nginx -y
# Search for a package
yum search nginx
# List all installed packages
yum list installed
# Clean up yum cache
sudo yum clean all
Amazon Linux 2023 (dnf)
# Update package lists and installed packages
sudo dnf update -y
# Install a new package (e.g., nginx)
sudo dnf install nginx -y
# Remove a package
sudo dnf remove nginx -y
# Search for a package
dnf search nginx
# List all installed packages
dnf list installed
# Clean up dnf cache
sudo dnf clean all
-y
flag in yum
and dnf
commands automatically answers 'yes' to any prompts, which is useful for scripting but should be used with caution in interactive sessions to avoid unintended changes.Verifying Your Amazon Linux Version
It's always a good practice to know which version of Amazon Linux you are running, as this dictates whether yum
or dnf
is the primary tool. You can check your distribution details using the following command:
cat /etc/os-release
Command to check your Amazon Linux version.
Look for the NAME
and VERSION_ID
fields in the output. For example, you might see NAME="Amazon Linux"
and VERSION_ID="2"
for Amazon Linux 2, or NAME="Amazon Linux"
and VERSION_ID="2023"
for Amazon Linux 2023.
Steps to Install Software on Amazon Linux
Follow these general steps to install software on your Amazon Linux instance.
1. Update Package Repositories
Before installing any new software, it's crucial to update your package lists to ensure you're getting the latest available versions and security patches. Use sudo yum update -y
for Amazon Linux 2 or sudo dnf update -y
for Amazon Linux 2023.
2. Search for the Desired Package
If you're unsure of the exact package name, use the search function. For example, yum search <package_name>
or dnf search <package_name>
will help you find relevant packages.
3. Install the Package
Once you've identified the correct package name, install it using sudo yum install <package_name> -y
or sudo dnf install <package_name> -y
. Replace <package_name>
with the actual name of the software you wish to install.
4. Verify Installation (Optional)
After installation, you can often verify that the software is installed and running correctly by checking its version (<command> --version
) or status (systemctl status <service_name>
).