Кв. - получите сбои на 16,04 или 18,04 установках mongodb

Когда я пытаюсь установить mongodb использование инструкций относительно https://docs.mongodb.com/getting-started/shell/tutorial/install-mongodb-on-ubuntu/ на 16,04 я получаю следующий результат на шаге установки:

jonathan@poseidon:~$ sudo apt-get install mongodb-org
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package mongodb-org is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'mongodb-org' has no installation candidate

Я проверил Трафик HTTP с Wireshark и нашел, что единственным трафиком был HTTP, ДОБИРАЮТСЯ для списка и ответа HTTP 304, который предполагает, что проблема заключается в моих локальных конфигурационных файлах. Мой sources.list.d файл содержит следующую запись:

mongodb-org-3.4.list

Что я должен сделать, чтобы продолжить диагностировать эту проблему?

Править: Я пытался сделать это снова на новой установке 16,04 под VirtualBox. Я получил ключ, создал файл списка и сделал sudo apt update со следующими результатами:

jonathan@Ubuntu-16:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
[sudo] password for jonathan: 
Executing: /tmp/tmp.uWYpRUWfjK/gpg.1.sh --keyserver
hkp://keyserver.ubuntu.com:80
--recv
0C49F3730359A14518585931BC711F9BA15703C6
gpg: requesting key A15703C6 from hkp server keyserver.ubuntu.com
gpg: key A15703C6: public key "MongoDB 3.4 Release Signing Key <packaging@mongodb.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
jonathan@Ubuntu-16:~$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse
jonathan@Ubuntu-16:~$ sudo apt update
Ign:1 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 InRelease
Get:2 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release [3 462 B]
Hit:3 http://mx.archive.ubuntu.com/ubuntu xenial InRelease               
Get:4 http://security.ubuntu.com/ubuntu xenial-security InRelease [94.5 kB]                   
Get:5 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release.gpg [801 B]                      
Get:6 http://mx.archive.ubuntu.com/ubuntu xenial-updates InRelease [95.7 kB]           
Ign:5 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release.gpg                       
Get:7 http://mx.archive.ubuntu.com/ubuntu xenial-backports InRelease [92.2 kB]                    
Reading package lists... Done      
W: GPG error: http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY D68FA50FEA312927
E: The repository 'http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
jonathan@Ubuntu-16:~$ 

Как Вы видите, полученный ключ был для Mongodb 3.4, не Mongodb 3.2, и это объясняет отказ GPG в способном обновлении. Кто-либо знает, где получить корректный ключ?

25
задан 20 November 2018 в 03:13

5 ответов

Ubuntu 16.04 и MongoDB 4.0

Сначала, удалите любой существующий файл хранилища для MongoDB.

sudo rm /etc/apt/sources.list.d/mongodb*.list

Затем, добавляют ключ: ( без ключа, репозиторий не загрузится )

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E52529D4

Теперь, создайте новый файл списка хранилищ MongoDB:

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'

Завершаются, установка с обновлением репозиториев затем установите:

sudo apt update
sudo apt install mongodb-org

Включают mongod сервис и запускают его:

systemctl enable mongod.service
systemctl start mongod.service

Проверка Ваша mongodb версия:

~$ mongo --version
MongoDB shell version v4.0.5
git version: 3739429dd92b92d1b0ab120911a23d50bf03c412
OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
allocator: tcmalloc
modules: none
build environment:
    distmod: ubuntu1604
    distarch: x86_64
    target_arch: x86_64

Проверка, если услуга работает:

~$ systemctl status mongod.service
● mongod.service - MongoDB Database Server
   Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-01-21 00:33:51 MST; 7s ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 2906 (mongod)
   CGroup: /system.slice/mongod.service
           └─2906 /usr/bin/mongod --config /etc/mongod.conf
<час>

Ubuntu 18.04 и MongoDB 4.0

MongoDB 4.0 показывают как стабильные, где 4.1 как предварительный просмотр в настоящее время.

Первый, удалите MongoDB из предыдущего, если установлено:

sudo apt remove --autoremove mongodb-org

Удаляют любой mongodb repo файлы списка:

sudo rm /etc/apt/sources.list.d/mongodb*.list
sudo apt update

Теперь, добавьте новый ключ:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E52529D4

Добавляют новый репозиторий:

sudo bash -c 'echo "deb [arch=amd64] http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" > /etc/apt/sources.list.d/mongodb-org-4.0.list'

MongoDB

sudo apt update
sudo apt install mongodb-org

Установки Включает и запускается mongod серверная служба:

systemctl enable mongod.service
systemctl start mongod.service

Проверка Ваша установка:

~$ mongo --version
MongoDB shell version v4.0.3
git version: 7ea530946fa7880364d88c8d8b6026bbc9ffa48c
OpenSSL version: OpenSSL 1.1.0g  2 Nov 2017
allocator: tcmalloc
modules: none
build environment:
    distmod: ubuntu1804
    distarch: x86_64
    target_arch: x86_64

можно также проверить, что сервис запустился:

~$ systemctl status mongod.service
● mongod.service - MongoDB Database Server
   Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: e
   Active: active (running) since Sun 2018-10-07 12:33:46 MDT; 2min 34s ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 5573 (mongod)
   CGroup: /system.slice/mongod.service
           └─5573 /usr/bin/mongod --config /etc/mongod.conf

Hope это помогает!

71
ответ дан 23 November 2019 в 01:10

В дополнение к ответу @Terrance вот то, как можно найти соответствующий ключ сигнала. Пример применим к mongodb в этом случае, но может использоваться для любого другого пакета так же. Перед выполнением строк из ответа @Terrance:

  1. Перейдите к серверу ключей человечности для нахождения фактического ключа

  2. Поиск строки интереса (mongodb в случае, если) и утверждает, что сначала формируются (Вам не нужна вторая форма для этого) - щелчок Search! кнопка

enter image description here

  1. В предоставленном поисковом списке ищут Вашу версию (это было 3.4 в моем случае здесь в примере),

enter image description here

  1. Вы видите две строки с ключами там. Внимание на самый фактический по дате. Первая строка является датой, созданной, в то время как второй является датой, допустимой должный.

  2. Используйте сигнал от строки, упомянутой в точке 5 - в случае, если из изображения это было бы A15703C6

  3. Продолжите ответ Terrance, необходимо ли установить пакет или обновление как я

10
ответ дан 23 November 2019 в 01:10

Ничто не работало на меня также, таким образом, я перешел к mogodb веб-сайту и следовал этим инструкциям для установки от tarball:

Зависимости от установки:

sudo apt-get install libcurl3 openssl

Загрузите tarball с этой страницы

cd к каталогу Downloads или везде, куда файл пошел и извлекает его:

tar -zxvf mongodb-linux-*-4.0.1.tgz

Двоичные файлы находятся в bin каталог извлеченной структуры. Можно добавить этот каталог, чтобы СОЕДИНИТЬ КАНАЛОМ или скопировать файлы в /usr/local/bin или другое местоположение ПУТИ.

1
ответ дан 23 November 2019 в 01:10

Первый запуск:

$ sudo rm /etc/apt/sources.list.d/mongodb*.list

Рекомендуется также удалить все строки, относящиеся к MongoDB, из файла /etc/apt/sources.list .

Затем выполните новую установку MongoDB, используя команды, приведенные в официальных инструкциях по установке MongoDB для Ubuntu .

Команды в предоставленной ссылке приведены ниже

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -

sudo apt-get install gnupg

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -


echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list


sudo apt-get update

sudo apt-get install -y mongodb-org

sudo service mongod start

sudo service mongod status
2
ответ дан 9 December 2019 в 07:40

Сегодня я изо всех сил пытался установить mongodb 4.2 в Ubuntu 20.04.1 LTS (Focal Fossa). Я новый пользователь, и мне потребовалось время, чтобы понять это. Ответ, написанный @Terrance, помог мне решить мою проблему. Я выполнил следующие шаги, чтобы установить его в своей системе:

sudo rm /etc/apt/sources.list.d/mongodb*.list 
sudo apt update
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 4B7C549A058F8B6B
echo "deb [arch=amd64] http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
sudo apt update
sudo apt install mongodb-org

Надеюсь, это поможет другим. Спасибо.

0
ответ дан 30 January 2021 в 21:46

Другие вопросы по тегам:

Похожие вопросы: