Установка Redis на Centos 6.5

10

Я пытаюсь установить Redis на centos 6.5 (x64) со следующей строкой:

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/…
0:30
1
О, я должен обновить до Centos 7 не так ли?
Толгай Токлар
Это вариант, но вы могли бы сначала попробовать ответ Майкла Хэмптона. Он не включен в EPEL6, но его можно установить на CentOS6, установив другой пакет.
0:30
1
Я добавил комментарий к его ответу, пожалуйста, посмотрите на это
Толгай Токлар
1
отличный вопрос! + 1
l --''''''--------- '' '' '' '' '' ''

Ответы:

18

Вы установили репозиторий EPEL для EL7, но на самом деле вы используете EL6. Удалите epel-releaseупаковку, т.е. sudo yum search epel && sudo yum remove epel-releaseзамените ее правильной упаковкой.

Согласно этой документации Redis может быть установлен на CentOS6 с помощью следующих команд:

// --- 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
Как я могу заменить это? Можете привести пример?
Толгай Токлар
1
Обновление: я использую Centos 6,6 это имеет значение?
Толгай Токлар
1
Я попробовал второй вариант: Открытый ключ для jemalloc-3.6.0-1.el7.x86_64.rpm не установлен
Tolgay Toklar
1
@TolgayToklar У вас все еще есть репозиторий EPEL для EL7, и вам все равно нужно его удалить.
Майкл Хэмптон
1
ням чистые метаданные
Uday Hiwarale
18

Вот мой успешный опыт обновления Redis (2.4.10) на CentOS 6.5.

Как обновить Redis на CentOS 6.5

  1. Сначала убедитесь, что установлены следующие репозитории EPELи REMI:

    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. Проверьте версию Redis в REMIрепо: (по состоянию на июнь 2015 года версия 2.8.13 )

    yum --enablerepo=remi info redis
    
  3. Затем установите связанную зависимость ( jemalloc) из EPELрепозитория:

    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
    

Выполнено!

Rockallite
источник
Это здорово, спасибо! Я действительно должен был отредактировать мои /etc/redis.confудаления vm-и предварительно hash-добавленные директивы
Пруетт
Спасибо, я не понял, что было доступно в реми. По состоянию на 22 октября 2015 года его v3.0.5 и он отлично установлен (w / cPanel) rpms.famillecollet.com/enterprise/6/remi/x86_64/repoview/… . Если вы используете PHP, не забудьте добавить модуль через pecl install redis.
Дхаупин
Я также добавил бы (n необязательный) шаг туда после шага 1, отредактировав /etc/yum.repos.d/remi-safe.repoдобавив строку, includepkgs=redisчтобы только время пакета redis обновлялось из remi repo, когда пришло время запускать yum update.
Дейл Андерсон
До
7

Пакет redis EPEL устарел, на RHEL6 вы можете использовать репозиторий Remi: http://rpms.famillecollet.com/ . Они актуальны, также с последними выпусками от 3.0 и 2.8 версий.

Посмотрите здесь описание последних пакетов.

Petre
источник
// Репозиторий Remi попытается обновить все остальные пакеты, хотя, если есть yum update, правда?
Натан Басанезе
1
// Как я могу избежать этой проблемы?
Натан Басанезе
@NathanBasanese Стоит задать этот вопрос в отдельном вопросе (несомненно, тот же вопрос будет у большего количества людей), но ради мгновенного удовлетворения вы добавляете includepkgs=redisстроку в [remi-safe]раздел, /etc/yum.repos.d/remi-safe.repoчтобы убедиться, что обновляется только пакет redis.
Дейл Андерсон