Ubuntu 14.04マシンにMongoDBをインストールします。手順は次のとおりです https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
だから私は実行します:
Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
その後:
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | Sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
に続く:
Sudo apt-get update
更新の最後に次の警告が表示されます。
W:GPGエラー: http://repo.mongodb.org trusty/mongodb-org/3.2リリース:次の署名は無効でした:BADSIG D68FA50FEA312927 MongoDB 3.2リリース署名キー
警告を無視して実行しようとすると:
Sudo apt-get install -y mongodb-org
私は得る:
警告:次のパッケージは認証できません!
mongodb-org-Shell mongodb-org-server mongodb-org-mongos mongodb-org-tools mongodb-org E:問題があり、-yが--force-yesなしで使用された
解決方法に関するアイデアはありますか?ありがとう!
1つのコマンドでUbuntuキーサーバーからすべての期限切れキーを更新します。
Sudo apt-key list | \
grep "expired: " | \
sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | \
xargs -n1 Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
コマンドの説明:
Sudo apt-key list
-システムにインストールされているすべてのキーをリストします。grep "expired: "
-キーの有効期限が切れた行のみを残します。sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp'
-キーを抽出します。xargs -n1 Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
-見つかった有効期限が切れたものによってUbuntuキーサーバーからキーを更新します。MongoDBのインストール手順をやり直す必要があるようです。まず、MongoDBの既存のリポジトリファイルを削除します。以下のようにしてください。
$ Sudo rm /etc/apt/sources.list.d/mongodb*.list
次に、キーを追加します(キーがないと、リポジトリはロードされません)。
$ Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
次に、新しいMongoDBリポジトリリストファイルを作成します。
$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | Sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
リポジトリの詳細を追加した後、パッケージリストを更新する必要があります。
$ Sudo apt-get update
次に、MongoDBをインストールします。
Sudo apt install mongodb-org
お役に立てれば !
Mongoパッケージを再インストールする必要はありませんが、次のようにキーを変更するだけです。
キーをリストして、有効期限が切れていることを確認します。
apt-key list | grep "expired:"
キーを交換します。
Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xd68fa50fea312927
番号0xd68fa50fea312927は現在の有効なキーIDです(2019-10-09で期限切れになります)。これは here で確認できます。
バージョン3.2.1は2016年1月11日にリリースされたようで、パッケージの署名はこの時点から悪いです。前日、パッケージの署名は正常でした。
--force-yesオプションを追加するか、mongodbチームが問題を確認して修正するまで数時間待つことができます。
すでにチケットがあります: https://jira.mongodb.org/browse/SERVER-22144
また、以下のコマンドを使用してubuntu 16.04にMongoDB 3.2をインストールするときに、この問題に直面しました。以下のソリューションは、MongoDBのv3.2インストールに関連する質問として提供されています
Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | Sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Sudo apt-get update
上記の更新コマンドを実行した後、次の警告が見つかりました
W: GPG error: http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release: The following signatures were invalid: KEYEXPIRED 1507497109
W: The repository 'http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
以下のコマンドを使用してすべてのキーを一覧表示することでさらに調査する
Sudo apt-key list
現在のキーが2017-10-08に期限切れになることを示しています
pub 4096R/EA312927 2015-10-09 [expired: 2017-10-08]
uid MongoDB 3.2 Release Signing Key <[email protected]>
MongoDBの現在の安定版リリースが現在(3.4.9)であるため、これも理にかなっています。
最初に問題を修正するには、小さなクリーンアップを行います(オプション)
追加された古いキーを削除します
Sudo apt-key list //すべてのキーをリストする
Sudo apt-key del EA312927 //削除するキーのuidを見つける
apt-keyリスト| grep Mongodb //削除されたかどうかを確認
/etc/apt/sources.list.dに追加されたMongoDBリポジトリを削除します
Sudo rm /etc/apt/sources.list.d/mongodb*.list
以下のコマンドを使用して、MongoDB(3.4.9)の最新の安定バージョンをインストールします。
Ubuntu Package Managerが使用する公開キーをインポートする
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
MongoDBのファイルリストを作成して、現在のリポジトリを取得します
echo "deb [ Arch=AMD64,arm64 ] http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.4 multiverse" | Sudo tee /etc/apt/sources.list.d/mongodb-3.4.list
MongoDBをインストールする
Sudo apt-get update
Sudo apt-get install mongodb-org
私も同じ問題を抱えていましたが、tarball方式でmongodbをインストールすることで解決しました。詳細については、以下のリンクを参照してください。
https://docs.mongodb.org/manual/tutorial/install-mongodb-on-linux/
以下に詳細を追加
export PATH =/bin:$ PATH
その後、mongodを実行します(dbパスの設定が必要な場合があります)
Ubuntu 16.04にMongoDB 4.0をインストールするときにも、この問題に直面しました。だから私はやった。
Sudo rm /etc/apt/sources.list.d/mongodb*.list
-MongoDBの既存のファイルを削除します
Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E52529D4
-キーを追加します
Sudo bash -c 'echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" > /etc/apt/sources.list.d/mongodb-org-4.0.list'
-新しいMongoDBリポジトリリストファイルを作成します
リポジトリの更新でインストールを完了し、MongoDBをインストールし、mongod
サービスを有効にして起動し、最後にMongoDBのバージョンを確認します。
Sudo apt update
Sudo apt install mongodb-org
systemctl enable mongod.service
systemctl start mongod.service
mongo --version
私は同じ問題を抱えていたので、私はやった:
root@skarabi:~# apt remove mongodb-org
次に:
root@skarabi:~# Sudo rm /etc/apt/sources.list.d/mongodb*.list
後:
root@skarabi:~# apt update
実際、問題を解決するには次のことが非常に重要です
$ Sudo rm /etc/apt/sources.list.d/mongodb*.list