डेबियन खिंचाव (9) में मोंगोडब 3.4 कैसे स्थापित करें?


13

मैं डेबियन खिंचाव पर मंगोलोड 3.4 स्थापित करना चाहता हूं। दुर्भाग्य से डेबियन खिंचाव पैकेज केवल मोंगोडब 3.2 ( https://packages.debian.org/stretch/mongodb ) हैं।

मोंगोडब डॉक्स में केवल डेबियन 7 और 8 ( https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/ ) का उल्लेख है । डेबियन 8 कमांड का उपयोग करते समय मैं मोंगोडब पैकेज स्थापित नहीं कर सकता, क्योंकि उनके पास असंगत निर्भरताएं हैं।

जब जेसी-बैकपोर्ट की अनुमति देता है तो बिना निर्भरता की त्रुटि हो गई है, लेकिन मैं अनिश्चित हूं कि क्या मुझे ऐसा करना चाहिए और स्ट्रेच में जेसी-बैकपोर्ट पैकेज स्थापित करना चाहिए।

डेबियन स्ट्रेच पर आप मोंगॉडब 3.4 कैसे स्थापित करेंगे?

किसी भी सलाह के लिए धन्यवाद।


वे खिंचाव के लिए 3.6 जारी किया
इरी

जवाबों:


16

त्रुटि जब आप डेबियन 8 निर्देशों का उपयोग करने का प्रयास करते हैं तो बहुत सारी लापता निर्भरताएं बताती हैं, लेकिन वास्तव में यदि आप एकल वास्तविक लापता निर्भरता ( libssl1.0.0) स्थापित करते हैं तो यह काम करेगा । संदर्भ के लिए, क्या गायब था, यह जानने के लिए, मैंने mongodबाइनरी डाउनलोड की और इस पर एक नज़र डाली 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*

यदि आपकी नजर डेबियन 9 में स्थापित है, तो मूल रूप से हमारे पास इसके संस्करण libsslबहुत नए हैं। libsslऔर libcryptoपुस्तकालयों दोनों द्वारा स्थापित कर रहे हैं libsslपैकेज और यह काफी स्टैंडअलोन है। इसलिए, हम सिर्फ डेबियन 8 libssl1.0.0पैकेज को पकड़ सकते हैं और इसे स्थापित कर सकते हैं।

पैकेज का amd64 संस्करण यहां पाया जा सकता है (सिर्फ Google के लिए libssl1.0.0 जेसी और दूसरे संस्करण के लिए आपका आर्क)।

उस पैकेज को स्थापित करने के लिए, फ़ाइल को डाउनलोड करें (मेरे मामले में यह डाउनलोड करने के लिए था) और फिर इसे इसके साथ स्थापित करें 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) ...

उस पूर्णता के साथ हम शीघ्रता से पुनः जाँच करते हैं 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*

सफलता! अब हम पैकेज स्थापना को पुनः प्रयास करें 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) ...

अंत में, आइए सुनिश्चित करें कि सेवा शुरू हो और हम एक शेल से जुड़ सकें:

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 

और वहां आपके पास है - स्ट्रेच पर काम करने वाले जेसी पैकेज। मुझे यकीन है कि जल्द ही एक आधिकारिक रिलीज होगी जो इसे अप्रचलित कर देगी, लेकिन इस बीच यह अपेक्षाकृत दर्द रहित वर्कअराउंड है।


Backports ट्रिक के लिए धन्यवाद। मैं हो रही थी package not foundके लिए mongodb-orgजब यह मुझ पर लगा मैं लिनक्स के गलत bitiness था। अपने आप को 64 बिट के बजाय 32 बिट वीएम मिला ... उफ़! MongoDB निर्देश और बायनेरी केवल 64 बिट के लिए हैं!
sumitkm

2
यह एक लंबे समय के लिए मामला रहा है, 32 बिट में गंभीर सीमाएं (2GB अधिकतम डेटा) थीं, विशेष रूप से MMAP भंडारण इंजन में, यकीन है कि वायर्डटेगर ने कभी भी इसका समर्थन नहीं किया था
एडम सी

3
यह पाया - संस्करण 3.0 के साथ 32-बिट के लिए समर्थन गिरा: docs.mongodb.com/manual/release-notes/3.0-compatibility/…
एडम सी

1
इस एडम के लिए धन्यवाद। अंतिम चरण में मैं उपयोग sudo systemctl start mongodकरूँगा क्योंकि जेसी के बाद से सिस्टमडी डेबियन के लिए डिफ़ॉल्ट इनिट सिस्टम है और serviceबस एक संगतता स्क्रिप्ट बन गया है।
राफा


3

ऐसा प्रतीत होता है कि मोंगोडब 3.4 में अभी तक अपने आधिकारिक उपयुक्त भंडार में डेबियन खिंचाव के लिए बायनेरिज़ नहीं हैं। आपका सबसे अच्छा तरीका आपके सिस्टम के लिए स्रोत से निर्माण हो सकता है।

इस पृष्ठ पर विशिष्ट निर्देश हैं: https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source

आप Xenial के लिए उबंटू संकुल का उपयोग करने का भी प्रयास कर सकते हैं, लेकिन इस बात की कोई गारंटी नहीं है कि यह ठीक से काम करेगा, और मुझे लगता है कि स्रोत से निर्माण एक बेहतर विचार होगा।


मैंने इसे स्रोत से बनाने की कोशिश की, लेकिन मुझे SSLv2_method को asio / ssl / impl / reference.ipp से त्रुटियों की घोषणा नहीं की गई है। कोई विचार?
हैमबर्लूम

1

मुझे बस यह समस्या थी (हालांकि डिबैन 9 का उपयोग करते हुए)।

थोड़ी सी खुदाई से पता चला कि यह इस तथ्य के कारण था कि पुराने डेबियन-पैकेज्ड संस्करण को इंस्टॉलर द्वारा हटाया नहीं जा सकता था (मैं डेबियन द्वारा आधिकारिक मोंगोडब-ऑर्ग पैकेज को प्रदान किए गए अनौपचारिक मोंगोडब पैकेज से अपग्रेड करने का प्रयास कर रहा था)।

समाधान निम्नलिखित था:

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

आशा है कि यह किसी को कुछ समय बचाता है!


0

मैंने अपने लिए MongoDB चीजों के नवीनतम संस्करण का निर्माण आसान बनाने के लिए एक Github रिपॉजिटरी बनाई । यह सिस्टम सेवा सहित, उपयुक्त के आधार पर आंतरिक रूप से सब कुछ का निर्माण करेगा।



0

मैं डेबियन 9 स्ट्रेच का उपयोग कर रहा हूं

मैंने MongoDB के इस संस्करण को डाउनलोड किया: लिनक्स 64-बिट विरासत 64x

यहाँ छवि विवरण दर्ज करें

मैंने अपने डेस्कटॉप फ़ोल्डर में डाउनलोड किया, और उसका नाम बदल दिया mongodb

उसके बाद, आपको अपना हालिया नाम बदला हुआ फ़ोल्डर स्थानांतरित करने के लिए "आवश्यकता" है /opt/

mv mongodb /opt/

अब आप इस /opt/mongodb/binतरह एक कमांड को एक्सेस और निष्पादित कर सकते हैं :

./mongod --dbpath ./db/

चीज़ को मज़ेदार बनाने के लिए, आप एक सिम्लिंक बना सकते हैं, उदाहरण के mongodलिए /usr/local/bin/, जैसे:

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

अब, अपने टर्मिनल में कमांड को कहीं से भी टाइप करें:

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

मूंगोद कार्य को ठीक से करने के लिए आपको --dbpath को निर्दिष्ट करने की आवश्यकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.