---
title: "Install tools on Linux with a package manager"
description: "Configure the Aerospike artifact repository for use with the APT, DNF, and YUM Linux package managers."
---

# Install tools on Linux with a package manager

> For the complete documentation index see: [llms.txt](https://aerospike.com/docs/llms.txt)
> 
> All documentation pages available in markdown.

Configure APT, DNF, or YUM on your Linux host to use Aerospike’s public package repository once, then install only the command-line tools you need. Tool package versions on the repository are independent of Aerospike Database server releases.

## Applies to

-   **Product:** Aerospike tools distributed as individual Linux packages on the public Aerospike artifact repository
-   **Package managers:** APT (Debian, Ubuntu), DNF or YUM (RHEL, Rocky Linux, AlmaLinux, Amazon Linux 2023)
-   **Architectures:** `amd64` / `x86_64`, `arm64` / `aarch64`
-   **Not covered here:** Legacy tools tarball installs — see [Install tools on Linux from an archive](https://aerospike.com/docs/database/tools/install/linux)

For supported distributions, see [Aerospike tools requirements](https://aerospike.com/docs/database/tools/install/requirements) and [Platform support](https://aerospike.com/docs/database/reference/platform-support).

## Prerequisites

-   Root access or permission to run `sudo`
-   A [supported Linux distribution](https://aerospike.com/docs/database/tools/install/requirements#supported-operating-systems) for your architecture
-   Outbound HTTPS access to `https://artifact.aerospike.io`
-   On Debian/Ubuntu: `wget`, `gpg`, and `ca-certificates` (install with `sudo apt-get install -y wget gpg ca-certificates` if missing)

## Import the GPG key

Aerospike signs packages with one public GPG key. Import it once before adding a repository:

Terminal window

```shell
wget -qO - https://artifact.aerospike.io/artifactory/api/security/keypair/aerospike/public \

  | sudo gpg --dearmor -o /usr/share/keyrings/aerospike.gpg
```

Aerospike uses the same key in two forms: APT references the dearmored binary file via `signed-by=`, while DNF and YUM reference the ASCII-armored key URL directly via `gpgkey=`.

## Configure the repository

-   [Debian / Ubuntu (APT)](#tab-panel-2643)
-   [RHEL family (DNF / YUM)](#tab-panel-2644)

**Base:** `https://artifact.aerospike.io/artifactory/deb`

1.  Set distribution and architecture variables:
    
    Terminal window
    
    ```shell
    . /etc/os-release
    
    CODENAME=$VERSION_CODENAME
    
    ARCH=$(dpkg --print-architecture)
    
    KEYRING=/usr/share/keyrings/aerospike.gpg
    
    REPO_URL="https://artifact.aerospike.io/artifactory/deb"
    ```
    
2.  Add the Aerospike repository:
    
    Terminal window
    
    ```shell
    cat <<EOF | sudo tee /etc/apt/sources.list.d/aerospike.list
    
    deb [arch=$ARCH signed-by=$KEYRING] $REPO_URL $CODENAME main
    
    EOF
    ```
    
3.  Refresh package indexes:
    
    Terminal window
    
    ```shell
    sudo apt-get update
    ```
    

**Base:** `https://artifact.aerospike.io/artifactory/rpm`

1.  Detect the distribution token and architecture:
    
    Terminal window
    
    ```shell
    DIST=$(
    
      if [ -f /etc/os-release ]; then
    
        . /etc/os-release
    
        case "$ID" in
    
          rhel|centos|almalinux|rocky) echo "el${VERSION_ID%%.*}" ;;
    
          amzn) [ "$VERSION_ID" = "2023" ] && echo "amzn2023" || echo "unsupported" ;;
    
          *) echo "unsupported" ;;
    
        esac
    
      else
    
        echo "unsupported"
    
      fi
    
    )
    
    ARCH=$(uname -m)
    ```
    
    If `DIST` is `unsupported`, your OS is not configured for the public RPM layout. [Install tools on Linux from an archive](https://aerospike.com/docs/database/tools/install/linux) instead, or contact Aerospike support.
    
2.  Create the repository file:
    
    Terminal window
    
    ```shell
    sudo tee /etc/yum.repos.d/aerospike.repo <<EOF
    
    [aerospike-${DIST}-stable]
    
    name=Aerospike RPM Repo STABLE for ${DIST} (\$basearch)
    
    baseurl=https://artifact.aerospike.io/artifactory/rpm/${DIST}/$ARCH/
    
    enabled=1
    
    gpgcheck=1
    
    gpgkey=https://artifact.aerospike.io/artifactory/api/security/keypair/aerospike/public
    
    EOF
    ```
    

## Install individual tools

Install one package per tool. Package names follow the `aerospike-<tool>` pattern (for example, `aerospike-asadm`). Useful when you want to select a minimum set of tools, as opposed to the prepackaged bundle provided by the `aerospike-tools` package.

| Tool | DEB / RPM package name | Documentation |
| --- | --- | --- |
| Aerospike Admin (`asadm`), Aerospike Info (`asinfo`) | `aerospike-asadm` | [asadm](https://aerospike.com/docs/database/tools/asadm) |
| Aerospike Quick Look (`aql`) | `aerospike-aql` | [AQL](https://aerospike.com/docs/database/tools/aql) |
| Aerospike Benchmark (`asbench`) | `aerospike-asbench` | [asbench](https://aerospike.com/docs/database/tools/asbench) |
| Aerospike Configuration (`asconfig`) | `aerospike-asconfig` | [asconfig](https://aerospike.com/docs/database/tools/asconfig) |
| Legacy Aerospike Backup & Restore (`asbackup`, `asrestore`) | `aerospike-asbackup` | [asbackup](https://aerospike.com/docs/database/tools/backup-and-restore/asbackup) |

::: note
Aerospike Backup Control (`absctl`) is not served by the repository configured above. It uses the `stable` APT distribution and the RPM repository root instead. See [Install Aerospike Backup Control (absctl)](https://aerospike.com/docs/database/tools/backup-and-restore/absctl/install) for the repository configuration it requires.
:::

-   [Debian / Ubuntu (APT)](#tab-panel-2631)
-   [RHEL family (DNF / YUM)](#tab-panel-2632)

Example: install `asadm` and `asinfo`, both of which ship in `aerospike-asadm`:

Terminal window

```shell
sudo apt-get install aerospike-asadm
```

Example: install `asadm` and `asinfo`, both of which ship in `aerospike-asadm`:

Terminal window

```shell
sudo dnf install aerospike-asadm
```

On images that ship `microdnf` instead of `dnf`, replace `dnf` with `microdnf`.

## Install the tools package

You can install the `aerospike-tools` bundle of tools containing `asadm`, `asinfo`, `aql`, `asconfig`, `asbench`, `asbackup`/`asrestore`.

-   [Debian / Ubuntu (APT)](#tab-panel-2633)
-   [RHEL family (DNF / YUM)](#tab-panel-2634)

::: caution
The `aerospike-tools` bundle and the individual tool packages install the same binaries to the same paths. APT refuses to install one while the other is present:

```text
dpkg: error processing archive aerospike-tools_13.0.3-5ubuntu24.04_arm64.deb (--unpack):

 trying to overwrite '/opt/aerospike/bin/asadm', which is also in package aerospike-asadm 5.0.3-5ubuntu24.04
```

Remove the individual packages before installing the bundle (or vice versa):

Terminal window

```shell
sudo apt-get remove aerospike-asadm aerospike-aql aerospike-asbench aerospike-asconfig aerospike-asbackup
```
:::

Terminal window

```shell
sudo apt-get install aerospike-tools
```

::: caution
The `aerospike-tools` bundle and the individual tool packages install the same binaries to the same paths. Unlike APT, DNF and YUM do not declare a conflict between them and will install both without warning. Both packages co-own the same files, which can cause unexpected behavior when versions differ. Remove one side before installing the other:

Terminal window

```shell
sudo dnf remove aerospike-tools
```
:::

Terminal window

```shell
sudo dnf install aerospike-tools
```

On images that ship `microdnf` instead of `dnf`, replace `dnf` with `microdnf`.

## List available versions

-   [Debian / Ubuntu (APT)](#tab-panel-2635)
-   [RHEL family (DNF / YUM)](#tab-panel-2636)

Terminal window

```shell
sudo apt-get update

apt list -a aerospike-asadm
```

Replace `aerospike-asadm` with any package name from the table above.

Terminal window

```shell
dnf --showduplicates list aerospike-asadm
```

Or on minimal images:

Terminal window

```shell
microdnf repoquery aerospike-asadm
```

## Install a specific version

-   [Debian / Ubuntu (APT)](#tab-panel-2637)
-   [RHEL family (DNF / YUM)](#tab-panel-2638)

Terminal window

```shell
sudo apt-get install aerospike-asadm=5.0.3-5ubuntu24.04
```

Use the exact version string from `apt list -a`. DEB revisions embed the distribution, so the string differs between Ubuntu and Debian releases.

Terminal window

```shell
sudo dnf install aerospike-asadm-5.0.3-5.el9.x86_64
```

Including the architecture suffix avoids ambiguity on multi-arch hosts.

## Install the latest version in a version lineage

Individual tool packages use a three-component SemVer version, followed by a package iteration and a distribution token: `5.0.3-5ubuntu24.04` on DEB and `5.0.3-5.el9` on RPM. Each tool versions independently of the others and of the `aerospike-tools` bundle version.

To install the newest package matching a prefix (for example, all `5.0.x` builds), set `LINEAGE` and select the highest match with `sort -V`.

-   [Debian / Ubuntu (APT)](#tab-panel-2639)
-   [RHEL family (DNF / YUM)](#tab-panel-2640)

Terminal window

```shell
LINEAGE=5.0

PKG=aerospike-asadm

VERSION=$(apt list -a "$PKG" 2>/dev/null \

  | awk -v pkg="$PKG" '$1 ~ "^" pkg "/" {print $2}' | grep "^${LINEAGE}\\." | sort -V | tail -1)

echo "Latest version in ${LINEAGE}.x lineage: $VERSION"

sudo apt-get install "${PKG}=${VERSION}"
```

Terminal window

```shell
LINEAGE=5.0

PKG=aerospike-asadm

VERSION=$(dnf repoquery --queryformat '%{version}-%{release}' "$PKG" 2>/dev/null |

grep "^${LINEAGE}\." |

sort -V |

tail -n 1)

echo "Latest version in ${LINEAGE}.x lineage: $VERSION"

sudo dnf install "${PKG}-${VERSION}"
```

## Verify

1.  Confirm the package is registered:
    
    -   [Debian / Ubuntu (APT)](#tab-panel-2641)
    -   [RHEL family (DNF / YUM)](#tab-panel-2642)
    
    Terminal window
    
    ```shell
    dpkg-query -l 'aerospike-asadm'
    ```
    
    Terminal window
    
    ```shell
    rpm -qa | grep aerospike-asadm
    ```
    
2.  Confirm the binary runs (example for `asadm`):
    
    Terminal window
    
    ```shell
    asadm --version
    ```
    
    If security is enabled on your cluster, provide valid credentials when connecting to a live cluster.
    

## Troubleshoot

| Symptom | Cause | Fix |
| --- | --- | --- |
| `unsupported` from the RPM `DIST` script | OS not in the public RPM layout | Confirm [platform support](https://aerospike.com/docs/database/reference/platform-support); use tarball install if needed |
| GPG or signature errors | Key not imported or repo misconfigured | Re-run the [GPG import](#import-the-gpg-key) and repository steps |
| Package not found after `apt-get update` | Wrong `CODENAME` or architecture | Check `VERSION_CODENAME` in `/etc/os-release` and run `dpkg --print-architecture`; match [supported OS list](https://aerospike.com/docs/database/tools/install/requirements#supported-operating-systems) |
| `dnf list` fails on minimal images | Image uses `microdnf` | Use `microdnf repoquery` and `microdnf install` |

## Next steps

-   [Install tools on Linux from an archive](https://aerospike.com/docs/database/tools/install/linux) — legacy tarball install
-   [Install tools on macOS](https://aerospike.com/docs/database/tools/install/mac) — `.pkg` installers
-   [Deploying Aerospike Tools with Docker](https://aerospike.com/docs/database/tools/install/docker)
-   [Aerospike tools overview](https://aerospike.com/docs/database/tools)