Oficjalnym żywym pakietem dla mongodb jest 2.x, a pakiety, które MongoDB zapewnia na http://repo.mongodb.org/apt/ubuntu/dists/trusty/, są dostępne tylko dla wersji LTS.
Alternatywą jest to, że mogłem wrócić do 14.04 LTS, ale musiałbym zainstalować openjdk-8-jdk, który jest dostępny tylko dla vivid.
software-installation
java
mongodb
Hugh Rawlinson
źródło
źródło
Odpowiedzi:
Możliwe, że MongoDB nie uruchomi się, jeśli użyjesz pakietów Trusty:
W takim przypadku zainstaluj pakiety Debian Wheezy zgodnie z opisem na końcu.
Zainstaluj pakiety Trusty DEB
Pobierz pliki DEB
I zainstaluj za pomocą (w tej kolejności)
I wzięte z komentarzy, dziękuję @ Pilot6 :
Użyj zaufanego PPA
Użyj pakietów Debian Wheezy
Możliwe, że MongoDB nie uruchomi się, jeśli użyjesz pakietów Trusty:
W takim przypadku zainstaluj pakiety Debian Wheezy w sposób opisany poniżej
źródło
sudo dpkg -i mongodb*.deb
sudo dpkg -i mongodb-org_3.0.3_amd64.deb
jako ostatnie polecenieservice mongod start
?Pomyślnie zainstalowano wersję mongo 3.0.6 w moim Ubuntu 15.04 przy użyciu repozytorium debian wheezy - patrz poniższe kroki
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
Jednak po wykonaniu wszystkich powyższych kroków i zainstalowaniu mongodb na moim komputerze, teraz, gdy próbowałem uruchomić usługę mongodb
sudo service mongod start
, zakończyło się to niepowodzeniem. Zgłaszanie następującego komunikatu o błędzieFailed to start mongod.service: Unit mongod.service failed to load: No such file or directory.
Oto jak rozwiązałem i normalnie uruchomiłem mongodb
Zmień domyślne pliki magazynu danych MongoDB z / var / lib / mongodb na / data / db
sudo mkdir -p /data/db
sudo gedit /etc/mongod.conf
i zmień wiersz „dbpath” jak poniżejZamień dbpath = / var / lib / mongodb TO dbpath = / data / db, a następnie zapisz plik.
Następnie usuń stary domyślny / var / lib / mongodb
Teraz musimy utworzyć wszystkie katalogi / pliki należące do użytkownika mongod
Biegać
sudo chown -R mongodb:mongodb /data/db
A teraz w końcu mogę zacząć od mongo
sudo service mongod start
I chce, że usługa jest uruchomiona
sudo systemctl status mongod
- Powinien wyświetlać komunikat podobny do poniższegoLoaded: loaded (/etc/init.d/mongod)
Active: active (running) since Thu 2015-09-03 04:57:49 IST; 7s ago
Szczegółowo opisałem moje kroki w moim blogu .
źródło
Jak powiedziałem wcześniej: Pakiety Debian / Ubuntu zostały załatane za pomocą systemowych jednostek serwisowych, aby wypełnić dziurę pozostawioną przez rzeczy publikowane bezpośrednio z mongodb.org. Ale nie brakuje
mongodb.service
plików jednostkowych na stronie WWW. Nie jest też trudne napisanie jednego. (Mam.)W szczególności: taką jednostkę usługową znajdziesz w pakiecie mongodb-server wersja 2.6 dla Ubuntu w wersji 15 . Istotnie , istnieje także jednostka serwisowa opublikowana przez mongodb.org . Jest tak po prostu, że ludzie z mongodb.org błędnie połączyli użycie RPM z użyciem systemd w materiałach specyficznych dla dystrybucji.
Zauważ, że jak na ironię, jednostki usługowe dostarczone przez mongodb.org nie stosują dyrektyw systemd dotyczących jednostek usług, które sam mongodb.org zaleca . Nie dostarczaj też tych dostarczonych przez Debian / Ubuntu. Ale znowu: ręcznie napisany serwis z tymi dyrektywami nie jest trudny do napisania; lub rzeczywiście zmodyfikować, aby dodać rzeczy takie jak numactl. ☺
Dalsza lektura
źródło
Dobrze żaden z AB odpowiedź pracował. Więc moją jedyną opcją była instalacja z tarballa
Postępuj zgodnie z instrukcjami dotyczącymi dokumentów związanych z tym tematem.
źródło
Jako krótki dodatek do doskonałej odpowiedzi @ AB. Na vivid amd64, z poprzednią instalacją mongod 2.6 .26, po prostu zamieniając istniejący
sources.list.d
plik naa następnie aktualizacja dist działała automatycznie.
źródło