Установка 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
    

Выполнено!


Это здорово, спасибо! Я действительно должен был отредактировать мои /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 версий.

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


// Репозиторий Remi попытается обновить все остальные пакеты, хотя, если есть yum update, правда?
— Натан Басанезе

1
// Как я могу избежать этой проблемы?
— Натан Басанезе

@NathanBasanese Стоит задать этот вопрос в отдельном вопросе (несомненно, тот же вопрос будет у большего количества людей), но ради мгновенного удовлетворения вы добавляете includepkgs=redisстроку в [remi-safe]раздел, /etc/yum.repos.d/remi-safe.repoчтобы убедиться, что обновляется только пакет redis.
— Дейл Андерсон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.