3

I have got a question and hope that somebody can help me. I own a vServer on a OpenVZ basis (I hate the kernel limitation) and can't install Redis.

What do I do:

  • Clean install Ubuntu 16.04. LTS minimal
  • Login as root
  • run: apt update
  • run: apt upgrade

(I don't know if this is relevant, but this appears during the process:

Installing new version of config file /etc/systemd/system.conf ... addgroup: The group `systemd-journal' already exists as a system group. Exiting. [/usr/lib/tmpfiles.d/var.conf:14] Duplicate line for path "/var/log", ignoring. Failed to validate path /var/run/sshd: Too many levels of symbolic links Failed to validate path /var/run/sudo: Too many levels of symbolic links Failed to validate path /var/run/sudo/ts: Too many levels of symbolic links (Reading database ... 16369 files and directories currently installed.)

  • run: apt install redis-server

Problem appears:

Setting up redis-server (2:3.0.6-1) ...

fchownat() of /run/redis failed: Invalid argument

insserv: warning: script is corrupt or invalid: /etc/init.d/../rc2.d/S15ssh_gen_host_keys

Job for redis-server.service failed because a timeout was exceeded. See "systemctl status redis-server.service" and "journalctl -xe" for details.

invoke-rc.d: initscript redis-server, action "start" failed.

...

Process: 11845 ExecStopPost=/bin/run-parts --verbose /etc/redis/redis-server.p ost-down.d (code=exited, status=0/SUCCESS)

Process: 11839 ExecStartPost=/bin/run-parts --verbose /etc/redis/redis-server. post-up.d (code=exited, status=0/SUCCESS)

Process: 11837 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exi ted, status=0/SUCCESS)

Process: 11833 ExecStartPre=/bin/run-parts --verbose /etc/redis/redis-server.p re-up.d (code=exited, status=0/SUCCESS)

systemd[1]: Failed to start Advanced key-value ....

systemd[1]: redis-server.service: Unit entered ....

systemd[1]: redis-server.service: Failed with r....

Hint: Some lines were ellipsized, use -l to show in full.

dpkg: error processing package redis-server (--configure): subprocess installed post-installation script returned error exit status 1

Processing triggers for libc-bin (2.23-0ubuntu10) ...

Processing triggers for systemd (229-4ubuntu21.9) ...

Processing triggers for ureadahead (0.100.0-19) ...

Errors were encountered while processing: redis-server

E: Sub-process /usr/bin/dpkg returned an error code (1)

W: Operation was interrupted before it could finish

  • run: systemctl status redis-server.service

redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled) Active: activating (start-post) since Mon 2018-11-19 19:41:53 CET; 54s ago Docs: http://redis.io/documentation, man:redis-server(1) Process: 11966 ExecStopPost=/bin/run-parts --verbose /etc/redis/redis-server.post-down.d (code=exited, status=0/SUCC
Process: 11978 ExecStartPost=/bin/run-parts --verbose /etc/redis/redis-server.post-up.d (code=exited, status=0/SUCCE
Process: 11976 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS) Process: 11972 ExecStartPre=/bin/run-parts --verbose /etc/redis/redis-server.pre-up.d (code=exited, status=0/SUCCESS CGroup: /system.slice/redis-server.service └─11977 /usr/bin/redis-server 127.0.0.1:6379

systemd[1]: Starting Advanced key-value store...

run-parts[11972]: run-parts: executing /etc/redis/redis-server.pre-up.d/00_example

run-parts[11978]: run-parts: executing /etc/redis/redis-server.post-up.d/00_example

systemd[1]: redis-server.service: PID file /var/run/redis/redis-server.pid not readable (

After that I can't start Redis-Server (failed because a timeout was exceeded). What can I do to fix this problem? I saw many threads about redis in this forum, but the solutions didn't help me. Sorry for my bad english. Thanks in advance.

11
  • Welcome! Run commands ls -lah /var/run/redis/redis-server.pid and ls -lah /var/run/redis/ then show returns for both here.
    – slava
    Nov 19, 2018 at 18:56
  • ls: cannot access '/var/run/redis/redis-server.pid': No such file or directory
    – Firehead
    Nov 19, 2018 at 18:59
  • total 0 | drwxrwsr-x 2 root root 40 . | rrwxr-xr-x 13 root root 440 ..
    – Firehead
    Nov 19, 2018 at 19:01
  • try with root user run chmod -R 777 /var/run/redis/ then run redis server again.
    – slava
    Nov 19, 2018 at 19:03
  • Now -rw-r--r-- 1 redis root 6 Nov 19 20:07 /var/run/redis/redis-server.pid
    – Firehead
    Nov 19, 2018 at 19:09

1 Answer 1

3

To fix your error: Install Redis as non-root user.

sudo apt-get update
sudo apt-get install build-essential tcl

Download and Extract the Source Code

cd /tmp

Now, download the latest stable version of Redis. This is always available at a stable download URL:

curl -O http://download.redis.io/redis-stable.tar.gz

Unpack the tarball by typing:

tar xzvf redis-stable.tar.gz

Move into the Redis source directory structure that was just extracted:

cd redis-stable

Build and Install Redis

Compiling dependencies:

cd deps
sudo make hiredis jemalloc linenoise lua geohash-int
cd ..

Compile the Redis binaries by typing:

make

After the binaries are compiled, run the test suite to make sure everything was built correctly. You can do this by typing:

make test

This will typically take a few minutes to run. Once it is complete, you can install the binaries onto the system by typing:

sudo make install

Begin by creating the redis user and group. This can be done in a single command by typing:

sudo adduser --system --group --no-create-home redis

Now, we can create the /var/lib/redis directory by typing:

sudo mkdir /var/lib/redis

We should give the redis user and group ownership over this directory:

sudo chown redis:redis /var/lib/redis

Adjust the permissions so that regular users cannot access this location:

sudo chmod 770 /var/lib/redis

Starting Redis

Start up the systemd service by typing:

sudo systemctl start redis

Check that the service had no errors by running:

sudo systemctl status redis

Source: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-redis-on-ubuntu-16-04

6
  • make[1]: Entering directory '/tmp/redis-stable/src' CC Makefile.dep CC adlist.o In file included from adlist.c:34:0: zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory compilation terminated. Makefile:232: recipe for target 'adlist.o' failed make[1]: *** [adlist.o] Error 1 make[1]: Leaving directory '/tmp/redis-stable/src' Makefile:6: recipe for target 'all' failed make: *** [all] Error 2
    – Firehead
    Nov 19, 2018 at 19:27
  • try run: cd deps sudo make hiredis jemalloc linenoise lua geohash-int cd .. sudo make install separately
    – slava
    Nov 19, 2018 at 19:31
  • thanks, I will try this later, server refuses connection, don't know why :D
    – Firehead
    Nov 19, 2018 at 19:35
  • that didn't work neither -- make test: [exception]: Executing test client: couldn't open socket: no buffer space available. couldn't open socket: no buffer space available...
    – Firehead
    Nov 19, 2018 at 22:14
  • try run redis-cli in command-line to check installation.. Redis socket you may setup separately (this is another question related redis setup. Example: guides.wp-bullet.com/…)
    – slava
    Nov 20, 2018 at 6:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .