次の行で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
この問題を解決するにはどうすればよいですか?
EL7のEPELリポジトリをインストールしましたが、実際には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
CentOS 6.5でRedis(2.4.10)をアップデートした私の体験は次のとおりです。
まず、次のリポジトリ、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
REMI
リポジトリのRedisのバージョンを確認します(2015年6月現在のバージョンは2.8.1)。
yum --enablerepo=remi info redis
次に、jemalloc
リポジトリから関連する依存関係(EPEL
)をインストールします。
Sudo yum --enablerepo=epel install jemalloc
インストールする前に、古いRedisデーモンを停止する必要があります。
Sudo service redis stop
次に、新しいバージョンのRedisをインストールします。
Sudo yum --enablerepo=remi install redis
必要に応じてRedis構成ファイルを編集します。
Sudo vi /etc/redis.conf
Redisデーモンを再起動し、再起動時に自動起動するようにします。
Sudo service redis start
Sudo chkconfig redis on
最後に、現在インストールされているRedisのバージョンを確認します。
redis-cli info | grep redis_version
EPEL redisパッケージは古くなっており、RHEL6ではレミのリポジトリ http://rpms.famillecollet.com/ を使用できます。それらは最新であり、3.0および2.8バージョンからの最新リリースもあります。
最新のパッケージの説明については、 ここ を参照してください。