使用 Yum 安裝 Redis 5

最近嘗試撰寫 script 在 CentOS 上建立 Redis 環境,嘗試過程中無意間發現不同的 yum repository 間有不同的 redis 套件版本,像是常用的 epel-release 上的 redis 就是 3.2.12,雖說主要功能不受影響,但細微的設定或是新版本功能就無法使用,順手紀錄該如何使用 yum 在 CentOS 上安裝 Redis 5

基本環境說明

  1. Azure VM B1s (1 vcpu,1GiB memory)
  2. CentOS-based 7.7
  3. Redis 5.0.7
  4. epel-release.noarch 0:7-11
  5. ius-release.noarch 0:2-1.el7.ius

安裝方式

  • 預設的 yum repo

    • 透過 yum repolist 可以列出當前安裝的 yum repo 清單

      1defaultrepo

    • 預設 repo 未包含 redis package,無法透過 yum 來安裝 redis

      2noredis

  • 使用 epel repo

    • 安裝 epel repo

      repo 安裝需要 root 權限,如果不是 root user,請加 sudo

      yum install -y epel-release
      
    • epel 中 redis 的版本是 3.2.12

      找出 redis 的 package name

      3epelredis

      使用 yum info 來檢視 package 詳細資訊

      4redisversion

  • 使用 IUS repo

    • 安裝 IUS repo

      因 ius 相依於 epel repo ,如果沒安裝過要連帶安裝 epel-release package,以下提供兩種語法皆可正確完成安裝

      1. 社群版語法

        2020/05/24 確認已無法使用

        yum install -y https://centos7.iuscommunity.org/ius-release.rpm

        請改用以下指令

        yum install -y https://repo.ius.io/ius-release-el7.rpm
        
      2. 官網版語法

        yum install -y https://repo.ius.io/ius-release-el7.rpm https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
        
    • 多了 redis 4 與 5

      5redis45

      redis 5 的版本是 5.0.7

      6redis5info

    • 安裝 Redis 5

      yum install -y redis5
      
    • 啟動 redis

      service 的內容,在安裝當下已經建立,詳細內容可以看 /usr/lib/systemd/system/redis.service

      systemctl start redis
      
    • 確認版本

      redis-cli info server
      

      7redisversion

心得

反覆測試安裝 redis 的過程才留意到原來 epel repo 中的 redis 版本停留在 3.2.12,這才注意到 ius 的便利以及 ius 相依於 epel 的關係,原以為是沒什麼營養的指令紀錄,仔細端詳也是有不少學問的嘛,有刻意筆記果然是正確的決定

參考資訊

  1. IUS
  2. IUS Repository for CentOS 7