Installation de Redis sur Centos 6.5

10

J'essaie d'installer Redis sur centos 6.5 (x64) avec la ligne suivante:

yum install redis

Mais je reçois l'écran suivant:

[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

Comment puis-je résoudre ce problème?

Tolgay Toklar
la source
1
systemdn'est pas inclus dans EPEL6. [1]: stackoverflow.com/questions/28347694/…
030
1
Oh, je dois passer à centos 7 non?
Tolgay Toklar
C'est une option, mais vous pouvez d'abord essayer la réponse de Michael Hampton. Il n'est pas inclus dans EPEL6, mais il est possible de l'installer sur CentOS6 en installant un autre package.
030
1
J'ai ajouté un commentaire à sa réponse, veuillez regarder ceci
Tolgay Toklar
1
excellente question! + 1
l --''''''----------------- '' '' '' '' '' ''

Réponses:

18

Vous avez installé le référentiel EPEL pour EL7, mais vous exécutez actuellement EL6. Retirez le epel-releasepaquet, c'est-à-dire sudo yum search epel && sudo yum remove epel-releaseet remplacez-le par le bon paquet.

Selon cette documentation, Redis pourrait être installé sur CentOS6 en émettant les commandes suivantes:

// --- 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
la source
1
Comment puis-je le remplacer? Pouvez-vous donner un exemple ?
Tolgay Toklar
1
Mise à jour: j'utilise centos 6.6 est-ce important?
Tolgay Toklar
1
J'ai essayé la deuxième option: la clé publique pour jemalloc-3.6.0-1.el7.x86_64.rpm n'est pas installée
Tolgay Toklar
1
@TolgayToklar Vous avez toujours le référentiel EPEL pour EL7 installé et vous devez toujours le supprimer.
Michael Hampton
1
métadonnées miam clean
Uday Hiwarale
18

Voici mon expérience réussie de mise à jour de Redis (2.4.10) sur CentOS 6.5.

Comment mettre à jour Redis sur CentOS 6.5

  1. Tout d'abord, assurez-vous que les référentiels suivants EPELet REMIsont installés:

    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. Vérifiez la version de Redis dans le REMIréférentiel: (Depuis juin 2015, la version est 2.8.13 )

    yum --enablerepo=remi info redis
    
  3. Ensuite, installez la dépendance connexe ( jemalloc) à partir du EPELréférentiel:

    sudo yum --enablerepo=epel install jemalloc
    
  4. Avant l'installation, vous devez arrêter l'ancien démon Redis:

    sudo service redis stop
    
  5. Installez ensuite la nouvelle version de Redis:

    sudo yum --enablerepo=remi install redis
    
  6. Modifiez le fichier de configuration Redis si nécessaire:

    sudo vi /etc/redis.conf
    
  7. Redémarrez le démon Redis et faites-le démarrer automatiquement au redémarrage:

    sudo service redis start
    sudo chkconfig redis on
    
  8. Enfin, vérifiez la version de Redis actuellement installée:

    redis-cli info | grep redis_version
    

Terminé!

Rockallite
la source
C'est super, merci! J'ai dû modifier ma /etc/redis.confsuppression de toutes les directives vm-et les hash-directives
ajoutées
Merci, je ne savais pas que c'était disponible en remi. À partir du 22 octobre 2015, sa version 3.0.5 et il a parfaitement installé (w / cPanel) rpms.famillecollet.com/enterprise/6/remi/x86_64/repoview/… . Si vous utilisez PHP, n'oubliez pas d'ajouter le module via pecl install redis.
dhaupin
J'ajouterais également une étape (n facultative) après l'étape 1, en modifiant l' /etc/yum.repos.d/remi-safe.repoajout d'une ligne includepkgs=redisafin que seul le package redis soit mis à jour à partir du dépôt remi lorsqu'il est temps de s'exécuter yum update.
Dale Anderson
Fonctionne
7

Le package EPEL redis est un peu dépassé, sur RHEL6, vous pouvez utiliser le référentiel de Remi: http://rpms.famillecollet.com/ . Ils sont à jour, également avec les dernières versions des versions 3.0 et 2.8.

Jetez un œil ici pour une description des derniers packages.

Petre
la source
//, le dépôt Remi tentera de mettre à jour tous les autres paquets, cependant, s'il y en a un yum update, n'est-ce pas?
Nathan Basanese
1
//, Comment puis-je éviter ce problème?
Nathan Basanese
@NathanBasanese, cela vaut la peine de poser cette question dans une question distincte (plus de personnes auront sans aucun doute également la même), mais dans un souci de gratification instantanée, vous ajoutez une includepkgs=redisligne à la [remi-safe]section de /etc/yum.repos.d/remi-safe.repopour vous assurer que seul le package redis est mis à jour.
Dale Anderson