在centos 6.5上安装Redis


10

我正在尝试使用以下行在centos 6.5(x64)上安装Redis:

yum install redis

但我得到以下屏幕:

[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

我该如何解决这个问题?


1
systemd不包含在EPEL6中。[1]:stackoverflow.com/questions/28347694/…–
030

1
哦,我必须升级到centos 7对吗?
Tolgay Toklar

这是一个选择,但您可以先尝试迈克尔·汉普顿的答案。它不包含在EPEL6中,但是可以通过安装另一个软件包将它安装在CentOS6上。
030

1
我在他的回答中添加了评论,请看一下
Tolgay Toklar

1
很好的问题!+1
l --''''''---------''''''''''

Answers:


18

您已经为EL7安装了EPEL存储库,但实际上是在运行EL6。取出epel-release包装,即sudo yum search epel && sudo yum remove epel-release用正确的包装更换。

根据该文档,可以通过发出以下命令在Red Hat上安装Redis:

// --- 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 

1
我该如何更换?能给我举个例子吗 ?
Tolgay Toklar

1
更新:我正在使用centos 6.6没关系吗?
Tolgay Toklar 2015年

1
我尝试了第二种选择:jemalloc-3.6.0-1.el7.x86_64.rpm的公钥未安装
Tolgay Toklar

1
@TolgayToklar您仍然安装了用于EL7的EPEL存储库,仍然需要将其删除。
迈克尔·汉普顿

1
yum clean元数据
Uday Hiwarale 2015年

18

这是我在CentOS 6.5上更新Redis(2.4.10)的成功经验。

如何在CentOS 6.5上更新Redis

  1. 首先,确保安装了以下存储库EPELREMI

    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. REMI回购中检查Redis的版本:(截至2015年6月,版本为2.8.13

    yum --enablerepo=remi info redis
    
  3. 然后jemallocEPEL仓库中安装相关的依赖项():

    sudo yum --enablerepo=epel install jemalloc
    
  4. 在安装之前,您应该停止旧的Redis守护程序:

    sudo service redis stop
    
  5. 然后安装较新版本的Redis:

    sudo yum --enablerepo=remi install redis
    
  6. 根据需要编辑Redis配置文件:

    sudo vi /etc/redis.conf
    
  7. 重新启动Redis守护程序,并使其在重新启动时自动启动:

    sudo service redis start
    sudo chkconfig redis on
    
  8. 最后,检查当前安装的Redis版本:

    redis-cli info | grep redis_version
    

做完了!


太好了,谢谢!我确实必须编辑/etc/redis.conf删除所有vm-hash-前置指令的内容
pruett

谢谢,我没有意识到remi中有该功能。截至2015年10月22日,其v3.0.5并已完美安装(使用cPanel)rpms.famillecollet.com/enterprise/6/remi/x86_64/repoview/…。如果您使用PHP,请不要忘记通过添加模块pecl install redis
dhaupin 2015年

我还要补充在那里(正选)一步一步1之后,编辑/etc/yum.repos.d/remi-safe.repo添加一行includepkgs=redis所以 Redis的包从雷米回购更新时,它的时间来运行yum update
戴尔·安德森

仍在2019
。– rolkos

7

EPEL redis包有点过时,在RHEL6上,您可以使用Remi的存储库:http : //rpms.famillecollet.com/。它们是最新的,还包含3.0和2.8版本的最新版本。

看看这里为最新的软件包的描述。


//,但是Remi存储库将尝试更新所有其他软件包,如果有的话yum update,对吗?
弥敦道(Nathan Basanese),2015年

1
//,如何避免该问题?
弥敦道(Nathan Basanese),2015年

@NathanBasanese值得您在一个单独的问题中提出这个问题(更多的人无疑也会有相同的问题),但是为了即时满足,您includepkgs=redis在的[remi-safe]部分添加了一行以/etc/yum.repos.d/remi-safe.repo确保仅更新redis软件包。
戴尔·安德森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.