Instalacja Redis na centos 6.5

10

Próbuję zainstalować Redis na centos 6.5 (x64) z następującą linią:

yum install redis

Ale pojawia się następujący ekran:

[root@NodeJs ~]# yum install redis
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: nl.mirror.eurid.eu
 * epel: nl.mirror.eurid.eu
 * extras: mirror.denit.net
 * updates: nl.mirror.eurid.eu
Resolving Dependencies
--> Running transaction check
---> Package redis.x86_64 0:2.8.14-2.el7 will be installed
--> Processing Dependency: systemd for package: redis-2.8.14-2.el7.x86_64
--> Processing Dependency: systemd for package: redis-2.8.14-2.el7.x86_64
--> Processing Dependency: libjemalloc.so.1()(64bit) for package: redis-2.8.14-2.el7.x86_64
--> Running transaction check
---> Package jemalloc.x86_64 0:3.6.0-1.el7 will be installed
---> Package redis.x86_64 0:2.8.14-2.el7 will be installed
--> Processing Dependency: systemd for package: redis-2.8.14-2.el7.x86_64
--> Processing Dependency: systemd for package: redis-2.8.14-2.el7.x86_64
--> Finished Dependency Resolution
Error: Package: redis-2.8.14-2.el7.x86_64 (epel)
           Requires: systemd
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Jak mogę rozwiązać ten problem?

Tolgay Toklar
źródło
1
systemdnie jest uwzględniony w EPEL6. [1]: stackoverflow.com/questions/28347694/…
030
1
Och, muszę uaktualnić do Centos 7, prawda?
Tolgay Toklar,
To jest opcja, ale najpierw możesz wypróbować odpowiedź Michaela Hamptona. Nie jest on zawarty w EPEL6, ale można go zainstalować na CentOS6, instalując inny pakiet.
030
1
Dodałem komentarz do jego odpowiedzi, spójrz na to
Tolgay Toklar
1
doskonałe pytanie! + 1
l - '' '' - - '' '' '27

Odpowiedzi:

18

Zainstalowałeś repozytorium EPEL dla EL7, ale tak naprawdę używasz EL6. Usuń epel-releasepakiet, tj. sudo yum search epel && sudo yum remove epel-releaseI zamień go na właściwy pakiet.

Zgodnie z tą dokumentacją Redis można zainstalować na CentOS6, wydając następujące polecenia:

// --- Compiling ---
$ wget http://download.redis.io/releases/redis-2.8.3.tar.gz
$ tar xzvf redis-2.8.3.tar.gz
$ cd redis-2.8.3
$ make
$ make install

// --- or using yum ---
$ rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-6.rpm

$ yum --enablerepo=remi,remi-test install redis 
Michael Hampton
źródło
1
Jak mogę go wymienić? Czy możesz podać przykład?
Tolgay Toklar
1
Aktualizacja: Używam Centos 6.6, czy to ma znaczenie?
Tolgay Toklar,
1
Wypróbowałem drugą opcję: klucz publiczny dla jemalloc-3.6.0-1.el7.x86_64.rpm nie jest zainstalowany
Tolgay Toklar
1
@TolgayToklar Wciąż masz zainstalowane repozytorium EPEL dla EL7 i nadal musisz je usunąć.
Michael Hampton
1
mniam czyste metadane
Uday Hiwarale
18

Oto moje udane doświadczenie aktualizacji Redisa (2.4.10) na CentOS 6.5.

Jak zaktualizować Redis w CentOS 6.5

  1. Najpierw upewnij się, że następujące repozytoria EPELi REMIsą zainstalowane:

    sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-6.rpm
    
  2. Sprawdź wersję Redis in REMIrepo: (od czerwca 2015 wersja 2.8.13 )

    yum --enablerepo=remi info redis
    
  3. Następnie zainstaluj powiązaną zależność ( jemalloc) z EPELrepozytorium:

    sudo yum --enablerepo=epel install jemalloc
    
  4. Przed instalacją powinieneś zatrzymać starego demona Redis:

    sudo service redis stop
    
  5. Następnie zainstaluj nowszą wersję Redis:

    sudo yum --enablerepo=remi install redis
    
  6. W razie potrzeby edytuj plik konfiguracyjny Redis:

    sudo vi /etc/redis.conf
    
  7. Zrestartuj demona Redis i włącz go automatycznie po ponownym uruchomieniu:

    sudo service redis start
    sudo chkconfig redis on
    
  8. Na koniec sprawdź wersję aktualnie zainstalowanego Redis:

    redis-cli info | grep redis_version
    

Gotowy!

Rockallite
źródło
To wspaniale, dzięki! Musiałem edytować moje /etc/redis.confusuwanie wszystkich vm-i wcześniejszych hash-dyrektyw
pruett
Dzięki, nie zdawałem sobie sprawy, że to było dostępne w remi. Począwszy od 22 października 2015 roku jego v3.0.5 i doskonale go zainstalowanego (W / cPanel) rpms.famillecollet.com/enterprise/6/remi/x86_64/repoview/... . Jeśli używasz PHP, nie zapomnij dodać modułu przez pecl install redis.
dhaupin
Dodałbym również (n opcjonalny) krok tam po kroku 1, edytując /etc/yum.repos.d/remi-safe.repododawanie wiersza, includepkgs=redisaby tylko pakiet redis był aktualizowany z repozytorium, kiedy nadszedł czas na uruchomienie yum update.
Dale Anderson
Nadal działa w 2019 roku.
rolkos
7

Pakiet redis EPEL jest trochę przestarzały, na RHEL6 można użyć repozytorium Remiego: http://rpms.famillecollet.com/ . Są aktualne, również z najnowszymi wersjami wersji 3.0 i 2.8.

Zajrzyj tutaj, aby zobaczyć opis najnowszych pakietów.

Petre
źródło
//, repozytorium Remi spróbuje zaktualizować każdy inny pakiet, jeśli jednak istnieje yum update, prawda?
Nathan Basanese
1
// Jak mogę uniknąć tego problemu?
Nathan Basanese
@NathanBasanese warto zadać to pytanie w osobnym pytaniu (więcej osób niewątpliwie też będzie miało to samo), ale ze względu na natychmiastową satysfakcję dodajesz includepkgs=rediswiersz w [remi-safe]sekcji, /etc/yum.repos.d/remi-safe.repoaby upewnić się, że aktualizowany jest tylko pakiet redis.
Dale Anderson