क्या मैं 16.04 के साथ 14.04 MongoDB पैकेज का उपयोग कर सकता हूं?


10

दुर्भाग्य से MongoDB के लिए आधिकारिक उबंटू पैकेज अभी भी 2.6 पर अटक गया है, जो इस बिंदु पर प्राचीन है ( यह बग ज्वलंत, विली या xenial के लिए उठाया नहीं गया था)।

MongoDB ने अभी तक 16.04 (Xenial) के लिए पैकेज जारी नहीं किया है, इसलिए मैं 16.04 पर MongoDB 3.2+ को स्थापित करने के लिए 14.04 (भरोसेमंद) पैकेज का उपयोग कैसे कर सकता हूं?


हाँ तुम कर सकते हो। यदि आप अपग्रेड कर रहे हैं, तो यह आसान होना चाहिए। यदि आप 16.04 स्थापित करते हैं, तो बस यहां दिए गए चरणों का पालन करें: askubuntu.com/questions/724749/…
खोई

@ रेक्सफ़ोर्ड जैसा कि आप नीचे दिए गए उत्तर में देखेंगे कि यह 16.04 में पुराने पैकेजों के साथ आसान नहीं है (सेवा नए सिरे से स्थापित नहीं होगी)
एडम सी।

जवाबों:


14

यह थोड़ा हैक है लेकिन हां, यह किया जा सकता है। वास्तव में सेवा शुरू करने के लिए एक अनैच्छिक कदम की जरूरत है और (अजीब तरह से पर्याप्त) जब तक आप मैन्युअल रूप से अपस्टार्ट नौकरी रूपांतरण के साथ फ्यूज नहीं करना चाहते हैं, आपको mongodbपहले उबंटू पैकेज स्थापित करने की आवश्यकता है , फिर इसे हटा दें ताकि आपके पास एक उपयोगी सेवा हो। MongoDB पैकेज की एक सीधी स्थापना आपको एक ताज़ा 16.04 पर काम करने की सेवा नहीं देगी

अपडेट - जुलाई २०१६: इसके लिए आधिकारिक फिक्स (संकुल में १६.०४ के लिए समर्थन जोड़कर) को ३३ देव शाखा में सर्वर -२३४३३ के भाग के रूप में पूरा किया गया है - और ३.२ श्रृंखला में ३.२ के हिस्से के रूप में बैकपोर्ट के रूप में जारी किया गया है । 7 । इसलिए, यदि आप 3.2.7+ का उपयोग कर रहे हैं, तो आपको ऐसा करने की आवश्यकता नहीं है और आधिकारिक MongoDB पैकेज इंस्टॉल बस काम करना चाहिए।

किसी भी मामले में, जोड़ने / हटाने के बाद, 14.04 के लिए सामान्य निर्देशों का पालन करें , यहाँ संक्षेप में प्रस्तुत किया गया है:

# install the Ubuntu package (to get the service set up correctly)
sudo apt-get install mongodb
# Now remove it and continue with the MongoDB instructions
sudo apt-get remove mongodb
sudo apt-get autoremove
# import key
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
# add trusty repos
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
# update apt
sudo apt-get update
# install the MongoDB package
sudo apt-get install -y mongodb-org

स्थापित सफल होता है, और उबंटू पैकेज के लिए धन्यवाद हमारे पास सेवा के लिए आवश्यक सभी टुकड़े हैं, लेकिन सेवा शुरू करने का प्रयास शुरू में होगा:

$ sudo service mongodb start
Failed to start mongodb.service: Unit mongodb.service is masked.

इसे ठीक करना बहुत कठिन नहीं है:

$ sudo systemctl unmask mongodb
Removed symlink /etc/systemd/system/mongodb.service.

अब हम सेवा को सक्षम / शुरू कर सकते हैं, इसकी स्थिति प्राप्त कर सकते हैं आदि।

$ sudo service mongodb enable
$ sudo service mongodb start
$ sudo service mongodb status
● mongodb.service - LSB: An object/document-oriented database
   Loaded: loaded (/etc/init.d/mongodb; bad; vendor preset: enabled)
   Active: active (running) since Thu 2016-04-14 16:40:35 IST; 7s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2849 ExecStart=/etc/init.d/mongodb start (code=exited, status=0/SUCCESS)
 Main PID: 1593 (code=exited, status=0/SUCCESS)
    Tasks: 13 (limit: 512)
   Memory: 51.9M
      CPU: 100ms
   CGroup: /system.slice/mongodb.service
           └─2861 /usr/bin/mongod --config /etc/mongodb.conf

सफलता - और हमें सक्रिय कॉन्फ़िग फ़ाइल में एक अच्छा पॉइंटर मिलता है (जो पुराने key=valueप्रारूप में है, नए अनुशंसित YAML प्रारूप में उदाहरणों के लिए यहाँ देखें )।

नोट: वास्तव में दो कॉन्फिगर फाइलें होंगी /etc/mongod.confऔर /etc/mongodb.confहमारे द्वारा इंस्टॉल किए गए दो पैकेजों के बीच थोड़े अंतर के लिए धन्यवाद। डिफ़ॉल्ट रूप से पुराने प्रारूप से एक के लिए अब सक्रिय सेवा अंक /etc/mongodb.conf- आप चलती / कॉपी करके स्विच कर सकते हैं mongod.confकरने के लिए mongodb.confयदि आप चाहें तो, या बस सीधे फाइल को संपादित।

एक बार शुरू होने के बाद, डेटाबेस से mongoशेल से कनेक्ट करें :

$ mongo
MongoDB shell version: 3.2.5
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
    http://docs.mongodb.org/
Questions? Try the support group
    http://groups.google.com/group/mongodb-user
Server has startup warnings: 
2016-04-14T16:40:34.962+0100 I CONTROL  [initandlisten] 
2016-04-14T16:40:34.962+0100 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2016-04-14T16:40:34.962+0100 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2016-04-14T16:40:34.962+0100 I CONTROL  [initandlisten] 
2016-04-14T16:40:34.962+0100 I CONTROL  [initandlisten] 
2016-04-14T16:40:34.962+0100 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2016-04-14T16:40:34.962+0100 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2016-04-14T16:40:34.962+0100 I CONTROL  [initandlisten] 
2016-04-14T16:40:34.962+0100 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-04-14T16:40:34.962+0100 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2016-04-14T16:40:34.962+0100 I CONTROL  [initandlisten] 

यदि आप THP चेतावनियों से छुटकारा पाना चाहते हैं, तो इस उत्तर को देखें


1
ऊपर कोड के अपने पहले ब्लॉक के बाद, sudo service mongodb startरिटर्न चल रहा है Failed to start mongodb.service: Unit mongodb.service not found
user1063287

1
मैंने सिस्टमड के लिए एक सेवा फ़ाइल बनाकर ( asububuntu.com/a/694226/367134 ) के अनुसार सेवा को हल करने की कोशिश की । यह परिणाम है: sudo service mongodb startकुछ भी नहीं लौटाता है। sudo service mongodb statusके साथ एक विफल संदेश देता है status=2। इसे ठीक करने के लिए, मैं से नए बनाए गए सेवा फाइल में पथ बदल /etc/mongodb.confकरने के लिए /etc/mongod.conf। अपने मूल उत्तर पर निर्माण, आप सिस्टम स्टार्ट अप शुरू करने के लिए मोंगोडब कैसे प्राप्त करते हैं?
user1063287

1
निम्न अतिरिक्त कार्रवाई मेरे लिए सिस्टम स्टार्टअप पर शुरू करने के लिए MongoDB सक्षम: sudo systemctl enable mongodb। देखें: digitalocean.com/community/tutorials/…
user1063287

1
आह, बहुत यकीन है कि मैं अपने निर्देशों को कॉपी / पेस्ट करते समय बस उस लाइन को छोड़ देता हूं, या मैं इसी तरह विफल हो जाता था, सिर के लिए धन्यवाद
एडम सी

1
निश्चित रूप से 3.2.8 में तय नहीं किया गया है। देखें अंतिम टिप्पणी । 3.2.9 में निपटना चाहिए।
गोरान मिस्कोविक

-1

यदि आप इसे पहले ही स्थापित कर चुके हैं, तो मोंगोडब को हटा दें:

sudo apt-get remove mongodb
sudo apt-get autoremove

Digitalocean पर अनुशंसा के साथ प्रयास करें https://www.digitalocean.com/community/tutorials/how-to-install-mongodb-on-ubuntu-16-04


3
हालांकि आपका उत्तर मान्य हो सकता है, लेकिन आपके लिंक में सूचीबद्ध चरणों को यहाँ प्रदान करना बेहतर होगा। लिंक और उनकी सामग्री समय के साथ बदल सकती है जो आपके उत्तर को बेकार कर देगी।
वीडियोनौथ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.