Apt-get 16.04 या 18.04 पर मोंगोडब स्थापित करने में विफल रहता है


26

जब मैं https://docs.mongodb.com/getting-started/shell/tutorial/install-mongodb-on-ubuntu/16.04 पर निर्देशों का उपयोग करके मोंगोडब स्थापित करने का प्रयास करता हूं तो मुझे इंस्टॉल स्टेप पर निम्न परिणाम मिलता है:

jonathan@poseidon:~$ sudo apt-get install mongodb-org
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package mongodb-org is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'mongodb-org' has no installation candidate

मैंने Wireshark के साथ HTTP ट्रैफ़िक की जाँच की और पाया कि सूची के लिए केवल HTTP HTTP GET था और HTTP 304 प्रतिक्रिया जो यह बताती है कि समस्या मेरी स्थानीय कॉन्फ़िगरेशन फ़ाइलों में है। मेरे स्रोतों.लिस्ट। डीएल फ़ाइल में निम्नलिखित प्रविष्टि है:

mongodb-org-3.4.list

इस समस्या का निवारण करने के लिए मुझे क्या करने की आवश्यकता है?

संपादित करें: मैंने VirtualBox के तहत 16.04 की एक नई स्थापना पर इसे फिर से करने की कोशिश की। मैंने कुंजी पुनर्प्राप्त की, सूची फ़ाइल बनाई, और sudo apt updateनिम्नलिखित परिणामों के साथ किया :

jonathan@Ubuntu-16:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
[sudo] password for jonathan: 
Executing: /tmp/tmp.uWYpRUWfjK/gpg.1.sh --keyserver
hkp://keyserver.ubuntu.com:80
--recv
0C49F3730359A14518585931BC711F9BA15703C6
gpg: requesting key A15703C6 from hkp server keyserver.ubuntu.com
gpg: key A15703C6: public key "MongoDB 3.4 Release Signing Key <packaging@mongodb.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
jonathan@Ubuntu-16:~$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse
jonathan@Ubuntu-16:~$ sudo apt update
Ign:1 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 InRelease
Get:2 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release [3 462 B]
Hit:3 http://mx.archive.ubuntu.com/ubuntu xenial InRelease               
Get:4 http://security.ubuntu.com/ubuntu xenial-security InRelease [94.5 kB]                   
Get:5 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release.gpg [801 B]                      
Get:6 http://mx.archive.ubuntu.com/ubuntu xenial-updates InRelease [95.7 kB]           
Ign:5 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release.gpg                       
Get:7 http://mx.archive.ubuntu.com/ubuntu xenial-backports InRelease [92.2 kB]                    
Reading package lists... Done      
W: GPG error: http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY D68FA50FEA312927
E: The repository 'http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
jonathan@Ubuntu-16:~$ 

जैसा कि आप देख सकते हैं, पुनर्प्राप्त की गई कुंजी Mongodb 3.4 के लिए थी, Mongodb 3.2 के लिए नहीं और यह उपयुक्त अद्यतन में GPG विफलता की व्याख्या करता है। किसी को भी पता है कि सही चाबी कहाँ से मिलेगी?

जवाबों:


74

Ubuntu 16.04 और MongoDB 4.0

सबसे पहले, MongoDB के लिए किसी भी मौजूदा रिपॉजिटरी फ़ाइल को हटा दें।

sudo rm /etc/apt/sources.list.d/mongodb*.list

अगला, कुंजी जोड़ें: (कुंजी के बिना, भंडार लोड नहीं होगा )

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E52529D4

अब, एक नई MongoDB रिपोजिटरी सूची फ़ाइल बनाएं:

sudo bash -c 'echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" > /etc/apt/sources.list.d/mongodb-org-4.0.list'

रिपॉजिटरी के अपडेट के साथ इंस्टॉलेशन पूरा करें फिर इंस्टॉल करें:

sudo apt update
sudo apt install mongodb-org

mongodसेवा सक्षम करें और इसे शुरू करें :

systemctl enable mongod.service
systemctl start mongod.service

अपना मानदंड संस्करण जांचें:

~$ mongo --version
MongoDB shell version v4.0.5
git version: 3739429dd92b92d1b0ab120911a23d50bf03c412
OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
allocator: tcmalloc
modules: none
build environment:
    distmod: ubuntu1604
    distarch: x86_64
    target_arch: x86_64

जांचें कि क्या सेवा चल रही है:

~$ systemctl status mongod.service
● mongod.service - MongoDB Database Server
   Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-01-21 00:33:51 MST; 7s ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 2906 (mongod)
   CGroup: /system.slice/mongod.service
           └─2906 /usr/bin/mongod --config /etc/mongod.conf

Ubuntu 18.04 और MongoDB 4.0

MongoDB 4.0 को स्थिर के रूप में दिखाया गया है जहां 4.1 समय के लिए पूर्वावलोकन के रूप में है।

सबसे पहले, यदि स्थापित किया गया है तो MongoDB को पहले से हटा दें:

sudo apt remove --autoremove mongodb-org

किसी भी मैंगोडब रेपो सूची फ़ाइलों को निकालें:

sudo rm /etc/apt/sources.list.d/mongodb*.list
sudo apt update

अब, नई कुंजी जोड़ें:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E52529D4

नया भंडार जोड़ें:

sudo bash -c 'echo "deb [arch=amd64] http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" > /etc/apt/sources.list.d/mongodb-org-4.0.list'

MongoDB स्थापित करें

sudo apt update
sudo apt install mongodb-org

mongodसर्वर सेवा सक्षम और शुरू करें :

systemctl enable mongod.service
systemctl start mongod.service

अपनी स्थापना जांचें:

~$ mongo --version
MongoDB shell version v4.0.3
git version: 7ea530946fa7880364d88c8d8b6026bbc9ffa48c
OpenSSL version: OpenSSL 1.1.0g  2 Nov 2017
allocator: tcmalloc
modules: none
build environment:
    distmod: ubuntu1804
    distarch: x86_64
    target_arch: x86_64

आप यह भी देख सकते हैं कि आपकी सेवा शुरू हो गई है:

~$ systemctl status mongod.service
● mongod.service - MongoDB Database Server
   Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: e
   Active: active (running) since Sun 2018-10-07 12:33:46 MDT; 2min 34s ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 5573 (mongod)
   CGroup: /system.slice/mongod.service
           └─5573 /usr/bin/mongod --config /etc/mongod.conf

उम्मीद है की यह मदद करेगा!


1
इसके लिए धन्यवाद। सही कुंजी प्राप्त करना महत्वपूर्ण हिस्सा था।
जोनाथन

gpg: कीसेवर विफल हुआ: सर्वर ने विफलता का संकेत दिया
Máxima Alekz

@ MáximaAlekz मेरे जवाब की जाँच करें।
तपोजका

बहुत बहुत धन्यवाद, @Terrance। आपने मुझे बहुत समय बचाया।
अनिरूद्ध थाटीपल्ली

बहुत - बहुत धन्यवाद मेरे मित्र!
जोवाना

10

@Terrance के जवाब के अलावा, यहां बताया गया है कि आप उपयुक्त सिग की कैसे पा सकते हैं। उदाहरण इस मामले में मोंगोडब पर लागू होता है, लेकिन इसी तरह किसी अन्य पैकेज के लिए इस्तेमाल किया जा सकता है। इससे पहले कि आप @Terrance के उत्तर से लाइनें निष्पादित करें:

  1. वास्तविक कुंजी खोजने के लिए ubuntu कुंजी सर्वर पर जाएं

  2. ब्याज की स्ट्रिंग के लिए खोजें (मामले में मंगोल) और पहला फॉर्म जमा करें (इसके लिए आपको दूसरे फॉर्म की आवश्यकता नहीं है) - Search!बटन पर क्लिक करें

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

  1. आपके संस्करण के लिए खोज सूची प्रदान करने पर (यह उदाहरण में मेरे मामले में 3.4 था)

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

  1. आप वहाँ कुंजियों के साथ दो पंक्तियाँ देख सकते हैं। तिथि के अनुसार सबसे वास्तविक पर ध्यान दें। पहला स्ट्रिंग तारीख बनाया गया है, जबकि दूसरा वैध होने के कारण तारीख है।

  2. बिंदु 5 में उल्लिखित पंक्ति से sig का उपयोग करें - चित्र से मामले में यह होगा A15703C6

  3. Terrance के उत्तर के साथ जारी रखें, आपको पैकेज स्थापित करने या खुद की तरह अपग्रेड करने की आवश्यकता है


1
धन्यवाद। इसने मुझे बहुत समय बचाया!
अकाज़ूको

1

मेरे लिए कुछ भी काम नहीं किया, इसलिए मैं mogodb वेबसाइट पर गया और टारबॉल से इंस्टॉल करने के इन निर्देशों का पालन ​​किया :

निर्भरता स्थापित करें:

sudo apt-get install libcurl3 openssl

इस पृष्ठ से टारबॉल डाउनलोड करें

cd डाउनलोड निर्देशिका या जहाँ भी फ़ाइल गई, और उसे निकालें:

tar -zxvf mongodb-linux-*-4.0.1.tgz

बायनेरिज़ binनिकाले गए संरचना की निर्देशिका में हैं। आप इस निर्देशिका को PATH में जोड़ सकते हैं या फ़ाइलों को /usr/local/binकिसी अन्य PATH स्थान पर कॉपी कर सकते हैं ।


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