Mongodb 3.4 debian streç (9) içine nasıl kurulur?


13

Debian streç üzerine mongodb 3.4 kurmak istiyorum. Ne yazık ki debian streç paketleri sadece mongodb 3.2'dir ( https://packages.debian.org/stretch/mongodb ).

Moğodb dokümanlar sadece debian 7 ve 8'den bahseder ( https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/ ). Debian 8 komutlarını kullanırken mongodb paketlerini yükleyemiyorum çünkü karşılanmamış bağımlılıkları var.

Jessie-backports izin verirken karşılanmamış bağımlılık hatası gitti ama ben bunu yapmak ve streç jessie-backports paketleri yüklemek emin değilim.

Deg streç üzerine mongodb 3.4'ü nasıl kurarsınız?

Herhangi bir tavsiye için teşekkürler.


streç için 3.6 yayınladılar
eri

Yanıtlar:


16

Debian 8 talimatlarını kullanmaya çalıştığınızda hata, çok sayıda eksik bağımlılık olduğunu gösterir, ancak aslında tek gerçek eksik bağımlılığı ( libssl1.0.0) yüklerseniz çalışır . Referans olarak, eksik olanı bulmak için, mongodikili dosyayı indirdim ve bir göz attım ldd:

adam@debian9:~/mongo/mongodb-linux-x86_64-debian81-3.4.6/bin$ ldd mongod
    linux-vdso.so.1 (0x00007ffd0e15d000)
    libssl.so.1.0.0 => not found
    libcrypto.so.1.0.0 => not found
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f93c6dff000)
    *snip*

Debian 9'da nelerin yüklü olduğuna bir göz atarsanız, temelde bunun libsslçok yeni sürümleri var . libsslVe libcryptokütüphaneler ikisi tarafından yüklenen libsslpaketin ve hemen hemen bağımsız olduğunu. Bu nedenle, Debian 8 libssl1.0.0paketini alıp kurabiliriz.

Paketin amd64 sürümünü burada bulabilirsiniz (libssl1.0.0 için Google sadece Jesse ve başka bir sürüm için kemer).

Bu paketi yüklemek için dosyayı indirin (benim durumumda İndirilenler idi) ve ardından şu şekilde yükleyin dpkg:

adam@debian9:~$ sudo dpkg -i /home/adam/Downloads/libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb 
Selecting previously unselected package libssl1.0.0:amd64.
(Reading database ... 126471 files and directories currently installed.)
Preparing to unpack .../libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb ...
Unpacking libssl1.0.0:amd64 (1.0.1t-1+deb8u6) ...
Setting up libssl1.0.0:amd64 (1.0.1t-1+deb8u6) ...

Bu tamamlamayla hızlı bir şekilde tekrar kontrol ederiz ldd:

adam@debian9:~/mongo/mongodb-linux-x86_64-debian81-3.4.6/bin$ ldd mongod
    linux-vdso.so.1 (0x00007ffdf25de000)
    libssl.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f86bc12d000)
    libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f86bbd31000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f86bbb29000)
*snip*

Başarı! Şimdi paket kurulumunu tekrar deneyelim mongodb-org:

adam@debian9:~$ sudo apt install mongodb-org
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools
The following NEW packages will be installed:
  mongodb-org mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 66.8 MB of archives.
After this operation, 270 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4/main amd64 mongodb-org-shell amd64 3.4.6 [7,980 kB]
Get:2 http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4/main amd64 mongodb-org-server amd64 3.4.6 [14.2 MB]
Get:3 http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4/main amd64 mongodb-org-mongos amd64 3.4.6 [8,103 kB]
Get:4 http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4/main amd64 mongodb-org-tools amd64 3.4.6 [36.5 MB]
Get:5 http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4/main amd64 mongodb-org amd64 3.4.6 [3,820 B]
Fetched 66.8 MB in 7s (9,509 kB/s)                                                             
Selecting previously unselected package mongodb-org-shell.
(Reading database ... 126491 files and directories currently installed.)
Preparing to unpack .../mongodb-org-shell_3.4.6_amd64.deb ...
Unpacking mongodb-org-shell (3.4.6) ...
Selecting previously unselected package mongodb-org-server.
Preparing to unpack .../mongodb-org-server_3.4.6_amd64.deb ...
Unpacking mongodb-org-server (3.4.6) ...
*snip*
Adding system user `mongodb' (UID 119) ...
Adding new user `mongodb' (UID 119) with group `nogroup' ...
Not creating home directory `/home/mongodb'.
Adding group `mongodb' (GID 123) ...
Done.
Adding user `mongodb' to group `mongodb' ...
Adding user mongodb to group mongodb
Done.
Setting up mongodb-org (3.4.6) ...

Son olarak, hizmetin başladığından emin olalım ve bir kabukla bağlantı kurabiliriz:

adam@debian9:~$ sudo systemctl start mongod
adam@debian9:~$ mongo
MongoDB shell version v3.4.6
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.6 

Ve işte burada - Stretch üzerinde çalışan Jesse paketleri. Eminim yakında bu modası geçmiş bir resmi sürüm olacak, ancak bu arada bu nispeten ağrısız bir çözüm.


Backports hilesi için teşekkürler. Ben başlamıştı package not foundiçin mongodb-orgo doğdu içime zaman Linux yanlış bitiness vardı. Kendime 64 bit yerine 32 bit VM var ... ayy! MongoDB talimatları ve ikili dosyaları sadece 64 bit içindir!
sumitkm

2
en uzun süre durum böyle olduğu, 32 bit, ciddi sınırlamalar (2GB max verileri) vardı özellikle MMAP depolama motoru, emin WiredTiger hiç destekledi
Adam C

3
buldum - sürüm 3.0 ile 32 bit desteği düştü: docs.mongodb.com/manual/release-notes/3.0-compatibility/…
Adam C

1
Bu Adam için teşekkürler. Son adımda sudo systemctl start mongodSystemD, Jessie'den bu yana Debian için varsayılan başlatma sistemi olduğundan ve servicesadece bir uyumluluk betiği olduğundan kullanacağım .
Rafa


3

Görünüşe göre mongodb 3.4, resmi uygun deposunda debian streç için ikili içermiyor. En iyi yaklaşımınız, sisteminiz için kaynaktan kaynak oluşturmak olabilir.

Bu sayfada belirli talimatlar var: https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source

Ayrıca Xenial için Ubuntu paketlerini kullanmaya çalışabilirsiniz, ancak bunun düzgün çalışacağının garantisi yoktur ve bence kaynaktan inşa etmek daha iyi bir fikir olacaktır.


Kaynaktan inşa etmeye çalıştım ama SSLv2_method asio / ssl / impl / context.ipp hata bildirilmedi olsun. Herhangi bir fikir?
Hamburml

1

Ben sadece bu sorun vardı (debain 9 kullanarak olsa da).

Bir miktar kazma, eski debian-paketlenmiş sürümün yükleyici tarafından kaldırılamamasından kaynaklandığını ortaya koydu (Debian tarafından sağlanan resmi olmayan mongodb paketinden resmi mongodb-org paketlerine yükseltmeye çalışıyordum).

Çözüm şuydu:

sudo apt-get autoremove mongodb-org
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install -y mongodb-org

Umarım bu biraz zaman kazandırır!


0

MongoDB şeylerinin en son sürümünü kendiniz oluşturmayı kolaylaştırmak için bir Github deposu oluşturdum . Systemd hizmeti de dahil olmak üzere apt'ye bağlı olmak yerine her şeyi dahili olarak oluşturacaktır.



0

Debian 9 Stretch kullanıyorum

Bu MongoDB sürümünü indirdim: Linux 64-bit eski 64x

resim açıklamasını buraya girin

Masaüstü klasörüme indirdim ve adını mongodb

Bundan sonra, en son yeniden adlandırılan klasörünüzü " /opt/

mv mongodb /opt/

Artık böyle /opt/mongodb/binbir komuta erişebilir ve bu komutu çalıştırabilirsiniz:

./mongod --dbpath ./db/

Eğlencelikleri yapmak için, örneğin, bir sembolik yaratabilir mongodiçin /usr/local/bin/bunun gibi,:

ln -s /opt/mongodb/bin/mongod /usr/local/bin/mongod

Şimdi, terminalinize her yerden komutu yazın:

mongod --dbpath /homer/user/Desktop/db

Mongod'un düzgün çalışması için --dbpath değerini belirtmeniz gerekir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.