Redis Installation auf Centos 6.5

10

Ich versuche Redis auf Centos 6.5 (x64) mit folgender Zeile zu installieren:

yum install redis

Aber ich bekomme folgenden Bildschirm:

[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

Wie kann ich dieses Problem lösen?

Tolgay Toklar
quelle
1
systemdist nicht in EPEL6 enthalten. [1]: stackoverflow.com/questions/28347694/…
030
1
Oh, ich muss auf Centos 7 upgraden, oder?
Tolgay Toklar
Das ist eine Option, aber Sie könnten zuerst die Antwort von Michael Hampton versuchen. Es ist nicht in EPEL6 enthalten, aber es ist möglich, es unter CentOS6 zu installieren, indem Sie ein anderes Paket installieren.
030
1
Ich habe einen Kommentar zu seiner Antwort hinzugefügt, bitte schauen Sie sich das an
Tolgay Toklar
1
ausgezeichnete Frage! + 1
l - '' '' '

Antworten:

18

Sie haben das EPEL-Repository für EL7 installiert, führen jedoch tatsächlich EL6 aus. Entfernen Sie die epel-releaseVerpackung, dh, sudo yum search epel && sudo yum remove epel-releaseund ersetzen Sie sie durch die richtige Verpackung.

Gemäß dieser Dokumentation könnte Redis unter CentOS6 installiert werden, indem die folgenden Befehle ausgegeben werden:

// --- 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
quelle
1
Wie kann ich es ersetzen? Kannst du ein Beispiel geben ?
Tolgay Toklar
1
Update: Ich benutze Centos 6.6. Ist das wichtig?
Tolgay Toklar
1
Ich habe versucht, zweite Option: Öffentlicher Schlüssel für jemalloc-3.6.0-1.el7.x86_64.rpm ist nicht installiert
Tolgay Toklar
1
@ TolgayToklar Sie haben das EPEL-Repository für EL7 noch installiert und müssen es noch entfernen.
Michael Hampton
1
yum saubere Metadaten
Uday Hiwarale
18

Hier ist meine erfolgreiche Erfahrung mit der Aktualisierung von Redis (2.4.10) unter CentOS 6.5.

So aktualisieren Sie Redis unter CentOS 6.5

  1. Stellen Sie zunächst sicher, dass die folgenden Repos EPELund REMIinstalliert sind:

    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. Überprüfen Sie die Version von Redis im REMIRepo: (Stand Juni 2015 ist die Version 2.8.13 )

    yum --enablerepo=remi info redis
    
  3. Installieren Sie dann die zugehörige Abhängigkeit ( jemalloc) von EPELrepo:

    sudo yum --enablerepo=epel install jemalloc
    
  4. Vor der Installation sollten Sie den alten Redis-Daemon stoppen:

    sudo service redis stop
    
  5. Installieren Sie dann die neuere Version von Redis:

    sudo yum --enablerepo=remi install redis
    
  6. Bearbeiten Sie die Redis-Konfigurationsdatei bei Bedarf:

    sudo vi /etc/redis.conf
    
  7. Starten Sie den Redis-Daemon neu und starten Sie ihn beim Neustart automatisch:

    sudo service redis start
    sudo chkconfig redis on
    
  8. Überprüfen Sie abschließend die Version des aktuell installierten Redis:

    redis-cli info | grep redis_version
    

Erledigt!

Rockallite
quelle
Das ist großartig, danke! Ich musste meine Anweisungen zum /etc/redis.confEntfernen aller vm-und hash-vorangestellten Anweisungen bearbeiten
pruett
Danke, ich wusste nicht, dass das in Remi verfügbar ist. Ab dem 22. Oktober 2015 ist es v3.0.5 und perfekt installiert (mit cPanel) rpms.famillecollet.com/enterprise/6/remi/x86_64/repoview/… . Wenn Sie PHP verwenden, vergessen Sie nicht, das Modul über hinzuzufügen pecl install redis.
Dhaupin
Ich würde dort nach Schritt 1 auch einen (n optionalen) Schritt /etc/yum.repos.d/remi-safe.repohinzufügen und das Hinzufügen einer Zeile bearbeiten , includepkgs=redissodass nur das Redis-Paket aus dem Remi-Repo aktualisiert wird, wenn es ausgeführt werden soll yum update.
Dale Anderson
Funktioniert noch im Jahr 2019.
Rolkos
7

EPEL-Redis-Pakete sind veraltet. Auf RHEL6 können Sie Remis Repository verwenden: http://rpms.famillecollet.com/ . Sie sind auf dem neuesten Stand, auch mit den neuesten Versionen der Versionen 3.0 und 2.8.

Werfen Sie einen Blick hier für eine Beschreibung der neuesten Pakete.

Petre
quelle
//, Das Remi-Repository versucht jedoch, jedes andere Paket zu aktualisieren, wenn es ein yum updategibt, oder?
Nathan Basanese
1
//, Wie kann ich dieses Problem vermeiden?
Nathan Basanese
@NathanBasanese Es lohnt sich, dies in einer separaten Frage zu stellen (mehr Leute werden zweifellos auch dieselbe haben), aber zur sofortigen Befriedigung fügen Sie includepkgs=redisdem [remi-safe]Abschnitt eine Zeile hinzu /etc/yum.repos.d/remi-safe.repo, um sicherzustellen, dass nur das Redis-Paket aktualisiert wird.
Dale Anderson