{
  "id": "almalinux-rocky-10",
  "title": "Build and run Redis Open Source on AlmaLinux/Rocky Linux 10.1+",
  "url": "https://redis.io/docs/latest/operate/oss_and_stack/install/build-stack/almalinux-rocky-10/",
  "summary": "",
  "tags": [
    "docs",
    "operate",
    "stack",
    "oss"
  ],
  "last_updated": "2026-07-06T15:51:40-04:00",
  "page_type": "content",
  "content_hash": "89d3ea610923cc50d3efa899a9c6f4a4fcc5bd6f1d7f48ac44c7208f6ca0e3d0",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "Follow the steps below to build and run Redis Open Source with all data structures from its source code on a system running AlmaLinux 10.1 or later or Rocky Linux 10.1 or later.\n\n\nDocker images used to produce these build notes:\n- AlmaLinux:\n    - almalinux:10.1\n    - almalinux:10.1-minimal\n- Rocky Linux:\n    - rockylinux/rockylinux:10.1\n    - rockylinux/rockylinux:10.1-minimal"
    },
    {
      "id": "1-prepare-the-system",
      "title": "1. Prepare the system",
      "role": "content",
      "text": "For 10-minimal, you'll need to install `dnf` as follows:\n\n[code example]\n\n\nEnable the required repositories (`epel-release` and CRB provide some of the `-devel` packages):\n\n[code example]"
    },
    {
      "id": "2-install-required-dependencies",
      "title": "2. Install required dependencies",
      "role": "content",
      "text": "Install the necessary development tools and libraries. AlmaLinux/Rocky 10 ship GCC 14 and CMake 3.30 in the default repositories, which are supported by the Redis build, so no separate compiler or CMake toolset is required:\n\n[code example]\n\nOn AlmaLinux/Rocky 10.1 the `clang`, `lld`, and `llvm` packages above are LLVM 21, which matches the LLVM version of the Rust toolchain that `INSTALL_RUST_TOOLCHAIN=yes` installs. RediSearch's cross-language (C/Rust) LTO needs this match, and `llvm` provides the `llvm-ar`/`llvm-ranlib` archiver the LTO build uses, so no separate LLVM toolchain is required."
    },
    {
      "id": "3-download-and-extract-the-redis-source",
      "title": "3. Download and extract the Redis source",
      "role": "content",
      "text": "The Redis source code is available from [the Redis GitHub site](https://github.com/redis/redis/releases). Select the release you want to build and then select the .tar.gz file from the **Assets** drop down menu. You can verify the integrity of these downloads by checking them against the digests in the [redis-hashes GitHub repository](https://github.com/redis/redis-hashes).\n\nCopy the tar(1) file to `/usr/src`.\n\nAlternatively, you can download the file directly using the `wget` command, as shown below.\n\n[code example]\n\nReplace `<version>` with the three-digit Redis release number, for example `8.0.0`.\n\nExtract the source:\n\n[code example]"
    },
    {
      "id": "4-build-redis",
      "title": "4. Build Redis",
      "role": "content",
      "text": "Set the necessary environment variables and build Redis with TLS and module support. RediSearch builds with cross-language LTO (the default) because the `clang`/`lld` 21 installed in step 2 match the Rust toolchain's LLVM. On AlmaLinux, `IGNORE_MISSING_DEPS=1` bypasses the `v8.7.91` dep-checker that does not yet recognize `almalinux` (fixed in `redisearch` v8.8.0; harmless on, and not required for, Rocky Linux 10):\n\n[code example]"
    },
    {
      "id": "5-optional-verify-the-build",
      "title": "5. (Optional) Verify the build",
      "role": "content",
      "text": "Check the built Redis server and CLI versions:\n\n[code example]"
    },
    {
      "id": "6-start-redis",
      "title": "6. Start Redis",
      "role": "content",
      "text": "To start Redis, use the following command:\n\n[code example]\n\nTo validate that the available modules have been installed, run the [`INFO`](https://redis.io/docs/latest/commands/info) command and look for lines similar to the following:\n\n[code example]"
    },
    {
      "id": "7-optional-install-redis-to-its-default-location",
      "title": "7. (Optional) Install Redis to its default location",
      "role": "content",
      "text": "[code example]"
    }
  ],
  "examples": [
    {
      "id": "1-prepare-the-system-ex0",
      "language": "bash",
      "code": "microdnf install dnf -y",
      "section_id": "1-prepare-the-system"
    },
    {
      "id": "1-prepare-the-system-ex1",
      "language": "bash",
      "code": "sudo dnf install -y epel-release\nsudo dnf config-manager --set-enabled crb",
      "section_id": "1-prepare-the-system"
    },
    {
      "id": "2-install-required-dependencies-ex0",
      "language": "bash",
      "code": "sudo dnf groupinstall \"Development Tools\" -y\nsudo dnf install -y \\\n    pkg-config \\\n    xz \\\n    wget \\\n    which \\\n    gcc \\\n    gcc-c++ \\\n    cmake \\\n    git \\\n    make \\\n    openssl \\\n    openssl-devel \\\n    python3 \\\n    python3-pip \\\n    python3-devel \\\n    unzip \\\n    rsync \\\n    clang \\\n    lld \\\n    llvm \\\n    libtool \\\n    automake \\\n    autoconf \\\n    jq \\\n    systemd-devel",
      "section_id": "2-install-required-dependencies"
    },
    {
      "id": "3-download-and-extract-the-redis-source-ex0",
      "language": "bash",
      "code": "cd /usr/src\nwget -O redis-<version>.tar.gz https://github.com/redis/redis/archive/refs/tags/<version>.tar.gz",
      "section_id": "3-download-and-extract-the-redis-source"
    },
    {
      "id": "3-download-and-extract-the-redis-source-ex1",
      "language": "bash",
      "code": "cd /usr/src\ntar xvf redis-<version>.tar.gz\nrm redis-<version>.tar.gz",
      "section_id": "3-download-and-extract-the-redis-source"
    },
    {
      "id": "4-build-redis-ex0",
      "language": "bash",
      "code": "cd /usr/src/redis-<version>\nexport BUILD_TLS=yes\nexport BUILD_WITH_MODULES=yes\nexport INSTALL_RUST_TOOLCHAIN=yes\nexport IGNORE_MISSING_DEPS=1\nmake -j \"$(nproc)\" all",
      "section_id": "4-build-redis"
    },
    {
      "id": "5-optional-verify-the-build-ex0",
      "language": "bash",
      "code": "cd /usr/src/redis-<version>\n./src/redis-server --version\n./src/redis-cli --version",
      "section_id": "5-optional-verify-the-build"
    },
    {
      "id": "6-start-redis-ex0",
      "language": "bash",
      "code": "cd /usr/src/redis-<version>\n./src/redis-server redis-full.conf",
      "section_id": "6-start-redis"
    },
    {
      "id": "6-start-redis-ex1",
      "language": "bash",
      "code": "cd /usr/src/redis-<version>\n./src/redis-cli INFO\n...\n# Modules\nmodule:name=ReJSON,ver=20803,api=1,filters=0,usedby=[search],using=[],options=[handle-io-errors]\nmodule:name=search,ver=21005,api=1,filters=0,usedby=[],using=[ReJSON],options=[handle-io-errors]\nmodule:name=bf,ver=20802,api=1,filters=0,usedby=[],using=[],options=[]\nmodule:name=timeseries,ver=11202,api=1,filters=0,usedby=[],using=[],options=[handle-io-errors]\nmodule:name=RedisCompat,ver=1,api=1,filters=0,usedby=[],using=[],options=[]\nmodule:name=vectorset,ver=1,api=1,filters=0,usedby=[],using=[],options=[]\n...",
      "section_id": "6-start-redis"
    },
    {
      "id": "7-optional-install-redis-to-its-default-location-ex0",
      "language": "bash",
      "code": "cd /usr/src/redis-<version>\nsudo make install",
      "section_id": "7-optional-install-redis-to-its-default-location"
    }
  ]
}
