web-dev-qa-db-ja.com

Ubuntu 16.04 LTS最小にRedis-Serverをインストールする

質問があります。誰かが私を助けてくれることを願っています。 OpenVZベースでvServerを所有していて(カーネルの制限が嫌い)、Redisをインストールできません。

私は何をしますか:

  • Ubuntu 16.04をクリーンインストールします。 LTS最小
  • ルートとしてログイン
  • 実行:apt update
  • 実行:apt upgrade

(これが関連するかどうかはわかりませんが、これはプロセス中に表示されます:

新しいバージョンの設定ファイル/etc/systemd/system.conf ... addgroupをインストールしています:グループ `systemd-journal 'はすでにシステムグループとして存在しています。終了します。 [/usr/lib/tmpfiles.d/var.conf:14]パス "/ var/log"の重複行、無視。パス/ var/run/sshdの検証に失敗しました:シンボリックリンクのレベルが多すぎますパス/ var/run/Sudoの検証に失敗しました:シンボリックリンクのレベルが多すぎますパス/ var/run/Sudo/tsの検証に失敗しました:レベルが多すぎますシンボリックリンク(データベースの読み取り中...現在インストールされている16369個のファイルとディレクトリ)

  • 実行:apt install redis-server

問題が表示されます:

Redis-server(2:3.0.6-1)のセットアップ...

/ run/redisのfchownat()が失敗しました:無効な引数

insserv:警告:スクリプトが破損しているか無効です:/etc/init.d/../rc2.d/S15ssh_gen_Host_keys

タイムアウトを超えたため、redis-server.serviceのジョブが失敗しました。詳細については、「systemctl status redis-server.service」および「journalctl -xe」を参照してください。

invoke-rc.d:initscript redis-server、アクション「開始」が失敗しました。

...

プロセス:11845 ExecStopPost =/bin/run-parts --verbose /etc/redis/redis-server.p ost-down.d(code = exited、status = 0/SUCCESS)

プロセス:11839 ExecStartPost =/bin/run-parts --verbose/etc/redis/redis-server。 post-up.d(code = exited、status = 0/SUCCESS)

プロセス:11837 ExecStart =/usr/bin/redis-server /etc/redis/redis.conf(code = exi ted、status = 0/SUCCESS)

プロセス:11833 ExecStartPre =/bin/run-parts --verbose /etc/redis/redis-server.p re-up.d(code = exited、status = 0/SUCCESS)

systemd [1]:Advanced Key-Value ...を開始できませんでした。

systemd [1]:redis-server.service:入力されたユニット....

systemd [1]:redis-server.service:r ...で失敗しました。

ヒント:一部の行は省略されました。-lを使用して全体を表示します。

dpkg:エラー処理パッケージredis-server(--configure):サブプロセスインストール後のインストールスクリプトがエラー終了ステータス1を返しました

Libc-bin(2.23-0ubuntu10)のトリガーの処理...

Systemdのトリガーの処理(229-4ubuntu21.9)...

Ureadahead(0.100.0-19)のトリガーの処理...

処理中にエラーが発生しました:redis-server

E:サブプロセス/ usr/bin/dpkgがエラーコード(1)を返しました

W:操作が完了する前に中断されました

  • 実行:systemctl status redis-server.service

redis-server.service-Advanced Key-Value Storeロード済み:ロード済み(/lib/systemd/system/redis-server.service;有効化;ベンダープリセット:有効化)アクティブ:2018-11-11月以降にアクティブ化(start-post) 19:41:53 CET; 54秒前ドキュメント: http://redis.io/documentation 、man:redis-server(1)プロセス:11966 ExecStopPost =/bin/run-parts --verbose/etc/redis/redis- server.post-down.d(code = exited、status = 0/SUCC
プロセス:11978 ExecStartPost =/bin/run-parts --verbose /etc/redis/redis-server.post-up.d(code = exited、status = 0/SUCCE
プロセス:11976 ExecStart =/usr/bin/redis-server /etc/redis/redis.conf(code = exited、status = 0/SUCCESS)プロセス:11972 ExecStartPre =/bin/run-parts-詳細/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]:Advanced Key-Valueストアを開始しています...

run-parts [11972]:run-parts:/etc/redis/redis-server.pre-up.d/00_exampleを実行する

run-parts [11978]:run-parts:/etc/redis/redis-server.post-up.d/00_exampleを実行する

systemd [1]:redis-server.service:PIDファイル/var/run/redis/redis-server.pidが読み取れません(

その後、Redis-Serverを起動できません(タイムアウトを超えたため失敗しました)。この問題を解決するにはどうすればよいですか?私はこのフォーラムでredisに関する多くのスレッドを見ましたが、解決策は私を助けませんでした。英語が下手でごめんなさい。前もって感謝します。

3
Firehead

エラーを修正するには:非rootユーザーとしてRedisをインストールします

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

ソースコードをダウンロードして抽出する

cd /tmp

次に、Redisの最新の安定バージョンをダウンロードします。これは常に安定したダウンロードURLで入手できます。

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

次のように入力して、tarballを解凍します。

tar xzvf redis-stable.tar.gz

抽出されたばかりのRedisソースディレクトリ構造に移動します。

cd redis-stable

Redisのビルドとインストール

依存関係のコンパイル:

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

次のように入力して、Redisバイナリをコンパイルします。

make

バイナリがコンパイルされたら、テストスイートを実行して、すべてが正しくビルドされたことを確認します。これを行うには、次のように入力します。

make test

通常、実行には数分かかります。完了したら、次のように入力してバイナリをシステムにインストールできます。

Sudo make install

まず、redisユーザーとグループを作成します。これは、次のように入力することにより、1つのコマンドで実行できます。

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

これで、次のように入力して/ var/lib/redisディレクトリを作成できます。

Sudo mkdir /var/lib/redis

このディレクトリに対する所有権をredisユーザーとグループに与える必要があります。

Sudo chown redis:redis /var/lib/redis

通常のユーザーがこの場所にアクセスできないように権限を調整します。

Sudo chmod 770 /var/lib/redis

Redisの起動

次のように入力して、systemdサービスを起動します。

Sudo systemctl start redis

次のコマンドを実行して、サービスにエラーがないことを確認します。

Sudo systemctl status redis

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

1
mature