Instalacja MongoDB nie powiodła się na Ubuntu 16.04

12

Postępowałem zgodnie z instrukcjami podanymi na oficjalnej stronie MongoDB ( https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ ) i otrzymuję ten błąd podczas próby instalacji MongoDB. Jak rozwiązać ten problem i co się dzieje? Pamiętaj, że korzystam z najnowszej wersji Ubuntu 16.04

sudo apt-get install -y mongodb-org

Reading package lists... Done

Building dependency tree

Reading state information... Done

You might want to run 'apt-get -f install' to correct these:

The following packages have unmet dependencies:

mongodb-org : 

Depends: mongodb-org-shell but it is not going to be installed

Depends: mongodb-org-server but it is not going to be installed

Depends: mongodb-org-mongos but it is not going to be installed

Depends: mongodb-org-tools but it is not going to be installed

virtualbox-5.0 : Depends: libqt4-opengl (>= 4:4.7.2) but it is not going to be installed

Depends: libsdl1.2debian (>= 1.2.11) but it is not going to be installed

Recommends: libsdl-ttf2.0-0 but it is not going to be installed

E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Edycja: tytuł. MongDB -> MongoDB.

ssudaraka
źródło
Próbowałem uruchomić instrukcje instalacji opublikowane przez t9toqwerty / muru. Ale nadal pojawia się komunikat, że następujące pakiety mają niezaspokojone zależności: To, co zadziałało, to ręczna instalacja MongoDB z tarballa: docs.mongodb.com/manual/tutorial/install-mongodb-on-linux
Josh B'Gosh
Którą wersję mongodb próbujesz zainstalować?
Elouan Keryell-Even

Odpowiedzi:

8

Zainstaluj mongodb w Ubuntu 12.04, 14.04, 16.04

  1. Zaimportuj klucz publiczny używany przez system zarządzania pakietami

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
    
  2. Utwórz plik listy dla MongoDB.

    W Ubuntu 12.04 (przestarzałe):

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

    W Ubuntu 14.04:

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

    W Ubuntu 16.04:

    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
    
  3. Załaduj ponownie bazę danych pakietów lokalnych.

    sudo apt-get update
    

    Wyrzuci ostrzeżenie

    W: http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/Release.gpg: Signature by key 492EAFE8CD016A07919F1D2B9ECBEC467F0CEB10 uses weak digest algorithm (SHA1)
    

    Po prostu to zignoruj.

  4. Zainstaluj pakiety MongoDB.

    sudo apt-get install -y mongodb-org
    

Po instalacji możesz uruchomić MongoDB za pomocą

sudo service mongod start

Aby zatrzymać korzystanie z MongoDB

sudo service mongod stop

Aby ponownie uruchomić MongoDB, użyj

sudo service mongod restart

Jeśli to nie zadziała, sprawdź tutaj, czy którykolwiek z kroków został zaktualizowany: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

Rahul K Jha
źródło
3
nie używasz najnowszego mongo 3.4, o którym mowa w linku OP mongo
Scott Stensland
Dziękuję za tę odpowiedź!
DuDoff,
11

TL; DR;

Spróbuj uruchomić to polecenie,

sudo apt-get install libcurl3 openssl

i wtedy

sudo apt-get install mongodb-org

Dzienniki:

Postępowałem zgodnie z oficjalnymi instrukcjami dotyczącymi Mongo 4.0 tutaj i dostałem to po uruchomieniusudo apt-get install mongodb-org

The following packages have unmet dependencies:
 mongodb-org : Depends: mongodb-org-server but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Następnie ręcznie dodałem mongodb-org-server do polecenia instalacji:

sudo apt-get install mongodb-org mongo-db-server

ale potem mam

mongodb-org-server : Depends: libcurl3 (>= 7.16.2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Po ręcznym zainstalowaniu:

sudo apt-get install libcurl3 openssl

Mam to działa z singlem:

sudo apt-get install mongodb-org

Komenda.

naffiq
źródło
@Arman zadowolony, że mogłem pomóc)
naffiq
1

Próbowałem uruchomić instrukcje instalacji opublikowane przez t9toqwerty / muru. Ale wciąż dostałem wiadomość

the following packages have unmet dependencies:

Dla mnie zadziałało ręczne zainstalowanie MongoDB z tarballa. Oryginalny link to: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-linux/

1) Pobierz pliki binarne

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.9.tgz

2) Wyodrębnij pliki

tar -zxvf mongodb-linux-x86_64-3.4.9.tgz

3) Skopiuj archiwum do katalogu docelowego

mkdir -p mongodb
cp -R -n mongodb-linux-x86_64-3.4.9/ mongodb

4) Umieść lokalizację w zmiennej PATH.

export PATH=<mongodb-install-directory>/bin:$PATH

(Zamień <mongodb-install-directory> na ścieżkę do wyodrębnionego archiwum MongoDB. Dla mnie był to /home/myusername/mongodb/mongodb-linux-x86_64-3.4.9)

Następnie uruchomimy go:

1) Utwórz katalog danych

mkdir -p /data/db

2) Ustaw uprawnienia

Dzięki temu użytkownik ma uprawnienia do odczytu i zapisu katalogu. Znajdź katalog w terminalu i wprowadź

chmod 777 /data/db

3) Uruchom to!

mongod

Jeśli nie skonfigurowałeś zmiennej PATH w kroku 4, uruchom mongo, wprowadzając ścieżkę do pliku bin - w ten sposób

<path to binary>/mongod
Josh B'Gosh
źródło
1

Najpierw usuń wszystkie pakiety mongo.

  1. Wyświetl wszystkie pakiety mongo.

sudo apt list --installed | grep 'mongo'

  1. Usuń paczkę.

sudo apt-get purge --auto-remove packagename

  1. Następnie postępuj zgodnie z dokumentacją instalacji mongo.

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

Girish Sharma
źródło
0

Xenial (Ubuntu 16.04); MongoDB v. 3.2.11

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.2.list
apt-get -qq update   (if you are using docker)
apt-get update
apt-get install mongodb-org

Właśnie to zrobiłem i było dobrze.

Czcionka: https://www.digitalocean.com/community/tutorials/how-to-install-mongodb-on-ubuntu-16-04

Marcos
źródło
Myślę, że OP próbuje zainstalować mongodb 3.6, ponieważ miałem te same problemy podczas instalowania tej wersji. Dlatego instalacja wersji 3.2 może nie być akceptowalnym rozwiązaniem.
Elouan Keryell-Even
0

Kilka dni temu miałem do czynienia. Spróbuj uruchomić aptitude. To zajmie się instalowaniem wszystkich pakietów zależności.

sudo apt-get install aptitude
sudo aptitude install mongodb-org
Mythili
źródło