web-dev-qa-db-ja.com

gpgバグのため、Ubuntu 16.04にRuby rvmをインストールできません。

Ubuntu 16.04にRubyをインストールしようとしています。ただし、端末に次のコマンドを入力すると、

$ \curl -sSL https://get.rvm.io | bash -s stable --Ruby

私は以下を得ます:

Downloading https://github.com/rvm/rvm/archive/1.29.1.tar.gz
Downloading https://github.com/rvm/rvm/releases/download/1.29.1/1.29.1.tar.gz.asc
gpg: Signature made 19 فبر, 2017 EET 10:02:47 م using RSA key ID ********
gpg: Can't check signature: No public key
Warning, RVM 1.26.0 introduces signed releases and automated check of signatures when GPG software found. Assuming you trust Michal Papis import the mpapis public key (downloading the signatures).

GPG signature verification failed for '/home/tamer/.rvm/archives/rvm-1.29.1.tgz' - 'https://github.com/rvm/rvm/releases/download/1.29.1/1.29.1.tar.gz.asc'! Try to install GPG v2 and then fetch the public key:

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys ****************************************

or if it fails:

command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -

the key can be compared with:

https://rvm.io/mpapis.asc
https://keybase.io/mpapis

NOTE: GPG version 2.1.17 have a bug which cause failures during fetching keys from remote server. Please downgrade or upgrade to newer version (if available) or use the second method described above.

Rvmコマンドを試したところ、「コマンドが見つかりません」と表示されました。

ブラウザから https://rvm.io/mpapis.asc をリクエストしてみました。次に、以下を実行します。

$ gpg --import mpapis.asc

しかし、私は以下を得ました:

gpg: fatal: can't open `/home/tamer/.gnupg/trustdb.gpg': Permission denied
secmem usage: 1408/1408 bytes in 2/2 blocks of pool 1408/65536

わからないことには慣れていないので、やめ、須藤はやらなかった。

では、どうすればRubyをインストールできますか?

更新

私もgpg2をインストールしてみました:

$ Sudo apt-get install gnupg2 -y

そして私は試しました

$ gpg2 --keyserver hkp://keys.gnupg.net --recv-keys <key>

そしてまた

$ curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -

しかし、それでも、最初のコマンドでrvmをインストールしようとすると、同じ結果になります。

n.b. gpg v1.4.20とgpg2 v2.1.11があることに気づきました

14
TamerB

多くの方法を試した後。私は次のようにインストールに成功しましたRails:

$ \curl -sSL https://get.rvm.io | bash
$ source /home/<user>/.rvm/scripts/rvm
$ rvm -v
$ rvm install Ruby
$ Ruby -v
$ Sudo apt-get install rubygems
$ gem update
$ Sudo apt-get install Ruby-dev zlib1g-dev liblzma-dev build-essential patch
$ rvm gemset list
$ gem install Rails
$ Rails -v

「user」は私のユーザー名です

27
TamerB

RVMのキーをフェッチしようとしているときにUbuntu 18.04で同じ問題に直面したので、私はちょうどそのための更新ソリューションを投稿しています。

次のメソッドはRVMによって提供されます。

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

うまくいかず、rvmを直接インストールしようとすると、プロセスは失敗し、キーを受け取るための3つの提案が表示されます。その1つには、gpg2でキーを受け取るステップがあります。

その前にシステムにgpg2をインストールしてください。

Sudo apt install gnupg2

コマンドは

gpg2 --recv-keys 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

しかし、このコマンドも機能しません。だからここに代替があります。古いコマンドのgpgを、私にとって有効なgpg2に置き換えるだけです。

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

私は同じ問題を抱えていましたが、Debianで別の方法を採用しました。エラーメッセージでは、「[GPG v2をインストールしてから公開鍵をフェッチしてみてください:]」とgpg2コマンドの後。私は最初にgpg2をインストールして、指示されたコマンドを実行しましたが、うまくいきました。

Sudo apt-get install gnupg2
Sudo apt-get install dirmngr
gpg2 --recv-keys <key>
# <Run curl command to install rvm>
2

前の回答に加えて、ファイアウォールの内側にいる場合、次のコマンドは機能しない可能性があります。

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

その場合、次のコマンドを使用してキーを取得できます-

Sudo apt-key adv --keyserver hkp://keys.gnupg.net:80 --recv-keys <<key>> <<key>>

2
JSnow