MongoDB GPG-недопустимые подписи


Я устанавливаю MongoDB на Ubuntu 14.04 машины, используя инструкции по адресу: 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 Release: Следующий подписи были недействительны: BADSIG D68FA50FEA312927 MongoDB 3.2 Отпустите Ключ Подписи

если я проигнорирую предупреждение и попытаюсь запустить:

sudo apt-get install -y mongodb-org

Я:

внимание: следующие пакеты не могут быть аутентифицированы!
в MongoDB-орг-оболочки в MongoDB-орг-сервера в MongoDB-орг-монголов mongodb-org-tools mongodb-org E: есть проблемы и-y был использован без --Force-да

любые идеи о том, как решить? Спасибо!

7 68

7 ответов:

похоже, версия 3.2.1 была выпущена 11 / Jan / 2016, и подпись пакетов с этого момента плохая. Подписи пакетов были прекрасны накануне.

ссылки: https://jira.mongodb.org/browse/SERVER/fixforversion/15908/?selectedTab=com.atlassian.jira.jira-projects-plugin:version-summary-panel

вы можете либо добавить параметр --force-yes, либо подождать несколько часов, когда команда mongodb увидит и исправит проблему.

там уже есть билет туда:https://jira.mongodb.org/browse/SERVER-22144

обновить все истекшие ключи от Ubuntu key server в одной команде:

sudo apt-key list | \
 grep "expired: " | \
 sed -ne 's|pub .*/\([^ ]*\) .*||gp' | \
 xargs -n1 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys

командная объяснение:

  1. sudo apt-key list - перечисляет все ключи, установленные в системе;
  2. grep "expired: " - оставляйте только строки с истекшим сроком действия ключей;
  3. sed -ne 's|pub .*/\([^ ]*\) .*||gp' - ключи экстракты;
  4. xargs -n1 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys - обновляет ключи от Ubuntu key server по найденным просроченным.

источник

Похоже, вам нужно повторить шаги установки для 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 является текущим допустимым идентификатором ключа (истекает в 2019-10-09), как вы можете проверить здесь.

Я также столкнулся с этой проблемой при установке MongoDB 3.2 на моем ubuntu 16.04 с помощью следующих команд. Ниже решение предоставляется как вопрос, связанный с установкой V3. 2 MongoDB

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 <packaging@mongodb.com>

это также имело смысл, поскольку текущая стабильная версия MongoDB теперь (3.4.9).

чтобы исправить проблему сначала мы делаем небольшую очистку (необязательно)

  1. мы удаляем старый ключ добавил

    sudo apt-key list / / список всех ключей

    sudo apt-key del EA312927 / / найти uid ключа для удаления

    apt-key list | grep Mongodb / / проверьте, если его удалено

  2. теперь мы удаляем РЕПО MongoDB, добавленное в /etc/apt/sources.список.d

    sudo rm/etc/apt / sources.список.d / mongodb*.список

  3. теперь мы устанавливаем последнюю стабильную версию MongoDB (3.4.9), используя следующие команды

импорт открытого ключа, используемого менеджером пакетов Ubuntu

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

У меня была та же проблема, и я решил ее, установив mongodb с помощью метода tarball. Обратитесь к ссылке ниже для деталей.

https://docs.mongodb.org/manual/tutorial/install-mongodb-on-linux/

добавление деталей ниже

  1. curl-O https://fastdl.mongodb.org/linux/mongodb-linux-i686-3.2.0.tgz
  2. tar-zxvf mongodb-linux-i686-3.2.0.tgz
  3. mkdir-p mongodb && cp-R-n mongodb-linux-i686-3.2.0 / mongodb
  4. путь экспорта= / bin:$PATH

  5. затем запустите mongod (возможно, необходимо установить путь к БД)

у меня была такая же проблема, так что я сделал:

root@skarabi:~# apt remove mongodb-org

затем:

root@skarabi:~# sudo rm /etc/apt/sources.list.d/mongodb*.list

после :

root@skarabi:~# apt update