Instalação do Redis no centos 6.5

10

Estou tentando instalar o Redis no centos 6.5 (x64) com a seguinte linha:

yum install redis

Mas estou recebendo a seguinte tela:

[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

Como posso resolver esse problema?

Tolgay Toklar
fonte
1
systemdnão está incluído no EPEL6. [1]: stackoverflow.com/questions/28347694/…
030
1
Ah, eu tenho que atualizar para o centos 7, certo?
Tolgay Toklar 15/02
Essa é uma opção, mas você pode tentar a resposta de Michael Hampton primeiro. Não está incluído no EPEL6, mas é possível instalá-lo no CentOS6 instalando outro pacote.
030
1
Eu adicionei um comentário à sua resposta, por favor, veja isto
Tolgay Toklar 15/02/15
1
excelente pergunta! + 1
l

Respostas:

18

Você instalou o repositório EPEL para EL7, mas na verdade você está executando o EL6. Remova a epel-releaseembalagem, ou seja, sudo yum search epel && sudo yum remove epel-releasee substitua-a pela embalagem correta.

De acordo com esta documentação, o Redis pode ser instalado no CentOS6 emitindo os seguintes comandos:

// --- 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
fonte
1
Como posso substituí-lo? Você pode dar um exemplo ?
Tolgay Toklar 15/02
1
Atualização: Estou usando o centos 6.6, isso importa?
Tolgay Toklar 15/02
1
Tentei segunda opção: Chave pública para jemalloc-3.6.0-1.el7.x86_64.rpm não está instalado
Tolgay Toklar
1
@TolgayToklar Você ainda tem o repositório EPEL para EL7 instalado e ainda precisa removê-lo.
Michael Hampton
1
metadados limpos do yum
Uday Hiwarale 27/03/15
18

Aqui está minha experiência bem-sucedida de atualização do Redis (2.4.10) no CentOS 6.5.

Como atualizar o Redis no CentOS 6.5

  1. Primeiro, verifique se os seguintes repositórios EPELe REMIestão instalados:

    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. Verifique a versão do Redis no REMIrepositório: (em junho de 2015, a versão é 2.8.13 )

    yum --enablerepo=remi info redis
    
  3. Em seguida, instale a dependência relacionada ( jemalloc) do EPELrepositório:

    sudo yum --enablerepo=epel install jemalloc
    
  4. Antes da instalação, você deve parar o antigo daemon Redis:

    sudo service redis stop
    
  5. Em seguida, instale a versão mais recente do Redis:

    sudo yum --enablerepo=remi install redis
    
  6. Edite o arquivo de configuração Redis, se necessário:

    sudo vi /etc/redis.conf
    
  7. Reinicie o daemon Redis e inicie automaticamente na reinicialização:

    sudo service redis start
    sudo chkconfig redis on
    
  8. Por fim, verifique a versão do Redis atualmente instalado:

    redis-cli info | grep redis_version
    

Feito!

Rockallite
fonte
Isso é ótimo, obrigado! Eu tinha de editar meus /etc/redis.confremover todas vm-e hash-anexadas directivas
pruett
Obrigado, eu não sabia que estava disponível em remi. Em 22 de outubro de 2015, sua v3.0.5 e instalou-se perfeitamente (com o cPanel) rpms.famillecollet.com/enterprise/6/remi/x86_64/repoview/… . Se você usa PHP, não se esqueça de adicionar o módulo via pecl install redis.
dhaupin
Também adicionaria uma etapa (n opcional) depois da etapa 1, editando a /etc/yum.repos.d/remi-safe.repoadição de uma linha includepkgs=redispara que apenas o pacote redis seja atualizado a partir do repo repo quando chegar a hora de executar yum update.
Dale Anderson
Ainda funciona em 2019.
rolkos 22/10/1919
7

O pacote redis do EPEL está desatualizado, no RHEL6 você pode usar o Repositório da Remi: http://rpms.famillecollet.com/ . Eles estão atualizados, também com os últimos lançamentos das versões 3.0 e 2.8.

Dê uma olhada aqui para obter uma descrição dos pacotes mais recentes.

Petre
fonte
//, o repositório Remi tentará atualizar todos os outros pacotes, se houver yum update, certo?
Nathan Basanese
1
//, como posso evitar esse problema?
Nathan Basanese
@NathanBasanese vale a pena fazer isso em uma pergunta separada (mais pessoas sem dúvida também terão a mesma) mas, para satisfação imediata, você adiciona uma includepkgs=redislinha à [remi-safe]seção /etc/yum.repos.d/remi-safe.repopara garantir que apenas o pacote redis seja atualizado.
Dale Anderson