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


102

Я намагаюся завантажити 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
Ой, ні, вибачте, все ще не працює (це встановлює Монго 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 за замовчуванням може бути найкращим:

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
В цьому саме проблема, і це справжня відповідь :-) Це просто те, що на сайті Монго чітко не сказано. В одному місці вони говорять про те, що ви повинні запустити MongoDB на 64-бітному для виробництва, в іншому йдеться про те, що вони надають пакети як для 32-бітного, так і для 64-бітного для тестових середовищ.
батарея

Нижче я додав більш детальну відповідь, яка узагальнює проблему (виходячи з усіх корисних коментарів, дякую!) Та пропоную деякі шляхи вирішення. Не могли б ви відповісти на цю відповідь замість цієї?
Джон Д

7

Я запускаю Ubuntu 14.04; і apt все ще не міг знайти пакунок; Я спробував усі відповіді вище та багато іншого. URL-адреса, яка працювала для мене, така:

echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

Джерело: http://www.liquidweb.com/kb/how-to-install-mongodb-on-ubuntu-14-04/


6

Усі кроки правильні, просто змініть Крок 4, як показано нижче

  • Крок 4: Встановіть останню стабільну версію MongoDB та всі необхідні пакети в нашій системі

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

Це спрацювало на мене.


Це встановлення за замовчуванням неофіційного пакету монго 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 (Precision Pangolin) та 14,04 LTS (Trusty Tahr). Однак ці пакети можуть працювати з іншими версіями Ubuntu.

Отже, щоб отримати останню стійку Монго ( 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 Distro Release, який побудує URL-адресу списку Repo. Для мене, як це я використовую:

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"

Початковий другий крок:

"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-адресу Repo. В основному, він поклав кодове ім'я розповсюдження "rafaela" в межах URL-адреси URL-адреси, який не існує. Ви можете перевірити URL-адресу Repo у менеджера пакунків у розділі Джерела програмного забезпечення та Додаткові сховища.

Що я зробив, щоб переглядати сайт:

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

І я дізнався, що для Ubuntu "надійні" та "точні" - єдині доступні веб-папки, а не "рафаела".

Рішення : Відкрийте як корінь файл 'mongodb-org-3.1.list' або 'mongodb.list' та замініть "rafaela" або вашу версію випуску на відповідну версію (для мене це було: "довіряти"), збережіть зміни та продовжуйте з наступними кроками. Також менеджер пакунків може також легко змінити 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

Це станеться, якщо оновлення 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

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. Судо 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.