E: невозможно найти пакет mongodb-org


103

Я пытаюсь загрузить mongodb и следую инструкциям по этой ссылке .

Но когда я перехожу к ступенькам:

sudo apt-get install -y mongodb-org

Я получаю следующую ошибку:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package mongodb-org  //This is the error

Почему это происходит и есть ли обходной путь?

Ответы:


204

Я столкнулся с той же проблемой, но исправил ее, изменив команду раздела файла пакета. Весь мой шаг был следующим:

Сначала попробуйте с помощью этой команды: sudo apt-get install -y mongodb

Это неофициальный пакет mongodb, предоставляемый Ubuntu, он не поддерживается MongoDB и конфликтует с официально поддерживаемыми пакетами MongoDB.

Если указанная выше команда не работает, вы можете исправить проблему с помощью одной из следующих процедур:

#Step 1:  Import the MongoDB public key
#In Ubuntu 18.*+, you may get invalid signatures. --recv value may need to be updated to EA312927. 
#See here for more details on the invalid signature issue: [https://stackoverflow.com/questions/34733340/mongodb-gpg-invalid-signatures][1]

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

#Step 2: Generate a file with the MongoDB repository url
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

#Step 3: Refresh the local database with the packages
sudo apt-get update

#Step 4: Install the last stable MongoDB version and all the necessary packages on our system
sudo apt-get install mongodb-org

         #Or
# The unofficial mongodb package provided by Ubuntu is not maintained by MongoDB and conflict with MongoDBs offically supported packages. Use the official MongoDB mongodb-org packages, which are kept up-to-date with the most recent major and minor MongoDB releases.
sudo apt-get install -y mongodb 

Надеюсь, это сработает и для вас. Вы можете следить за этим MongoDB

Обновление. Приведенная выше инструкция установит версию mongodb 2.6, если вы хотите установить последнюю версию, Uubuntu 12.04просто замените ее step 2и следуйте приведенной ниже инструкции вместо этого:

#Step 2: Generate a file with the MongoDB repository url
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list

Если вы используете, Ubuntu 14.04используйте следующий шаг вместо вышеуказанногоstep 2

#Step 2: Generate a file with the MongoDB repository url
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

1
Работал для меня на Ubuntu 14.10 (другие ответы не работали) после того, как я исправил команду на шаге 2.
julien_c

1
Ой, нет, извините, все еще не работает (это устанавливает Mongo 2.6, а не самую последнюю стабильную версию 3.0). Смотрите мой собственный ответ.
julien_c

36
Отстой, что это работает, а официальный путеводитель - нет.
Дэн Пэнтри,

1
В официальных инструкциях MongoDB не упоминалось, что URL-адрес репозитория был для версии 2.6. Мне пришлось выполнить ваш обновленный шаг 2 с правильным URL-адресом, чтобы использовать sudo apt-get install mongodb-org. После этого проблема была устранена.
Дэниел Игл,

2
Я попробовал команду для Ubuntu 14.04, но она все еще не работает!
alexventuraio

59

Настоящая проблема здесь может заключаться в 32-битной системе. MongoDB 3.X никогда не создавался для использования в 32-битной системе, поэтому репосты для 32-битной версии пусты (поэтому он не найден). Лучше всего установить пакет Ubuntu 2.X по умолчанию:

sudo apt-get install -y mongodb 


Другой обходной путь, если вы все же хотите получить последнюю версию Mongo:

Вы можете перейти на https://www.mongodb.org/downloads и использовать раскрывающийся список, чтобы выбрать «32-разрядная версия Linux».

Но у него есть серьезные ограничения ...

Этот 32-разрядный устаревший дистрибутив не включает шифрование SSL и ограничен примерно 2 ГБ данных. В общем, вам следует использовать 64-битные сборки. См. Здесь для получения дополнительной информации.


45

Попробуйте без "-org":

sudo apt-get install -y mongodb

Сработало у меня!


7
Вероятно, это пакет Ubuntu по умолчанию. Бесполезно, если вам нужна последняя версия монго.
аккумулятор

1
Это действительно может быть пакет Ubuntu по умолчанию. Хорошо для быстрого старта, но если вам особенно нужен последний пакет с mongo.org, то потребуются дополнительные шаги.
Джон Д.

2
Настоящая проблема здесь может заключаться в 32-битной системе. MongoDB 3.X никогда не создавался для использования в 32-битной системе, поэтому репосты для 32-битной версии пусты (поэтому он не найден).
Джон Д.

2
В этом и заключается проблема, и это настоящий ответ :-) Это то, о чем сайт Mongo четко не говорит. В одном месте говорится, что вы должны запускать MongoDB на 64-разрядной версии для производства, в другом - что они предоставляют пакеты как для 32-разрядной, так и для 64-разрядной среды для тестовых сред.
аккумулятор

Ниже я добавил более подробный ответ, который резюмирует проблему (на основе всех полезных комментариев, спасибо!) И предлагает некоторые обходные пути. Не могли бы вы проголосовать за этот ответ вместо этого?
Джон Д.


6

Все шаги верны, просто измените шаг 4, как показано ниже.

  • Шаг 4: Установите последнюю стабильную версию MongoDB и все необходимые пакеты в нашей системе.

Команда: sudo apt-get install mongodb

У меня это сработало.


Это устанавливает неофициальный пакет mongo Ubuntu по умолчанию, который уже упоминается в верхнем ответе Naim. Для этого не нужно выполнять предыдущие шаги.
Shaahiin

4

Если вы в настоящее время используете репозиторий MongoDB 3.3 (как официально в настоящее время предлагает веб-сайт MongoDB), вы должны принять во внимание, что имя пакета, используемое для версии 3.3:

mongodb-org-нестабильный

Тогда правильная команда установки для этой версии будет:

sudo apt-get install -y mongodb-org-unstable

Учитывая это, я рекомендую использовать текущую последнюю стабильную версию (v3.2), пока версия v3.3 не станет стабильной, команды для ее установки перечислены ниже:

Загрузите ключ репозитория v3.2:

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

Если вы работаете с Ubuntu 12.04 или Mint 13, добавьте следующий репозиторий:

echo "deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

Если вы работаете с Ubuntu 14.04 или Mint 17, добавьте следующий репозиторий:

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

Если вы работаете с Ubuntu 16.04 или Mint 18, добавьте следующий репозиторий:

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

Обновите список пакетов и установите mongo:

sudo apt-get update
sudo apt-get install -y mongodb-org

3

Принятый в настоящее время ответ работает, но установит устаревшую версию Mongo.

В документации Mongo указано, что: MongoDB предоставляет пакеты только для Ubuntu 12.04 LTS (Precise Pangolin) и 14.04 LTS (Trusty Tahr). Однако эти пакеты могут работать с другими выпусками Ubuntu.

Итак, чтобы получить самую последнюю стабильную Mongo ( 3.0), используйте это (другой шаг - второй):

    apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
    echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list
    apt-get update
    apt-get install mongodb-org

Надеюсь это поможет.


Я хотел бы добавить, что в качестве предыдущего шага вы должны проверить свой выпуск дистрибутива GNU / Linux, который будет создавать URL-адрес списка репо. Для меня, поскольку я использую это:

DISTRIB_CODENAME=rafaela
DISTRIB_DESCRIPTION="Linux Mint 17.2 Rafaela"
NAME="Ubuntu"
VERSION="14.04.2 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.2 LTS"

Исходный 2-й шаг:

"Create a list file for MongoDB": "echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list"

Не сработало так, как предполагалось, поскольку сгенерировал неверный URL-адрес репо. По сути, он помещает кодовое имя распространения «rafaela» в репозиторий URL, которого не существует. Вы можете проверить URL-адрес репо в диспетчере пакетов в разделе «Источники программного обеспечения», «Дополнительные репозитории».

Что я сделал, так это просмотрел сайт:

http://repo.mongodb.org/apt/ubuntu/dists/

И я обнаружил, что для Ubuntu доступны только «надежные» и «точные» папки, а не «rafaela».

Решение : откройте как root файл 'mongodb-org-3.1.list' или 'mongodb.list' и замените «rafaela» или свою версию выпуска на соответствующую версию (для меня это было: «trusty»), сохраните изменения и переходите к следующим шагам. Кроме того, ваш диспетчер пакетов может позволить вам легко изменить URL-адрес репо.

Надеюсь, это сработает для вас! ---



1

Сначала вам нужно добавить базу данных пакетов и добавить ключ PGP.

Выполните следующее.

#add pgp key
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

#add package file
echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

#update package list
sudo apt-get update

#install mongo
sudo apt-get install -y mongodb-org

2
У меня уже есть, он отлично работал до третьего шага, но затем я получил указанную выше ошибку.
anonn023432 09

Это произойдет, если обновление apt-get не было запущено и / или список источников пуст. Вы умеете бежать cat /etc/apt/sources.list.d/mongodb-org-3.0.list?
Джефф Слойер,

2
Сделал это, вот что у меня естьdeb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.0 multiverse
anonn023432 09

1

У меня была такая же проблема в 14.04, но я исправил ее, выполнив следующие действия:

  1. sudo apt-key adv --keyserver hkp: //keyserver.ubuntu.com: 80 --recv 7F0CEB10
  2. echo "deb http://repo.mongodb.org/apt/ubuntu " $ (lsb_release -sc) "/ mongodb- org / 3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
  3. sudo apt-get update
  4. sudo apt-get install -y mongodb

Это сработало как шарм :)


Это установит пакет Ubuntu 2.X по умолчанию, а не последнюю версию 3.X с mongo.org (см. Комментарии к другим ответам выше и ниже)
Джон Д.

Я хотел бы, чтобы вы взглянули на официальный сайт docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu на официальном сайте, в этой строке есть ошибка 4. sudo apt-get install -y mongodb
YLS

1

Это работало на Ubuntu 17.04

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

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

sudo apt-get update

sudo apt-get install -y mongodb-org

Если вы видите ошибку, например:

dpkg: error processing archive /var/cache/apt/archives/mongodb-org-tools_3.6.2_amd64.deb (--unpack):
trying to overwrite '/usr/bin/bsondump', which is also in package mongo-tools 3.2.11-1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)

Затем запустите эту команду:

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" |

sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list

и

sudo apt update
sudo apt install mongodb-org

Ссылки:


0

У меня были те же проблемы с Ubuntu 16.04, когда я выполнил шаги, опубликованные в официальном документе .
Затем я удаляю текст «[arch = amd64, arm64]» на шаге 2, и у меня это работает.

echo "deb https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list   
apt-get install -y mongodb-org  

0

Для тех, кто пользуется, Ubuntu 18.04можно запустить эту команду:

Создайте /etc/apt/sources.list.d/mongodb-org-4.2.listфайл для Ubuntu 18.04 (Bionic) :

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.