गुम जीपीजी कुंजियों को कैसे ठीक करें?


154

मैंने अभी Ubuntu १२.०४ को स्थापित किया है और मैंने कुछ रेपो जोड़े हैं, और जब मैंने किया apt-get update, मुझे gpg कुंजी गायब मिली।

निम्नलिखित कमांड मेरे लिए काम नहीं करती है:

apt-get update 2> /tmp/keymissing; for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //"); do echo -e "\nProcessing key: $key"; gpg --keyserver subkeys.pgp.net --recv $key && sudo gpg --export --armor $key | apt-key add -; done

इस समस्या से कैसे निपटा जाए?


1
यह अच्छा होगा यदि इस प्रश्न के उत्तर में शामिल है कि यह त्रुटि पहले स्थान पर क्यों हो रही है, और भविष्य में इससे बचने के लिए क्या करना चाहिए।
फ्लिमल जूल

मैंने Y-ppa-manager का उपयोग करके अपनी समस्या हल की। समाधान के लिए आशु को धन्यवाद!

1
स्क्रीनशॉट के साथ विस्तृत समाधान खुलता है sourceourcegegeeks.blogspot.in/2013/04/…
अनिकेत ठाकुर

1
सम्बंधित: askubuntu.com/q/13065/178596
Wilf

जवाबों:


222

मुझे यह समाधान पसंद आया, उबंटू कुंजी सर्वर से लापता कुंजियों को फिर से डाउनलोड करें।

उबंटू के लिए

मेरे मामले में

 Reading package lists... Done  
 W: GPG error: http://ppa.launchpad.net precise 
 Release: The following signatures couldn't be verified because the public key is not available: 
 NO_PUBKEY 2EA8F35793D8809A

यहां त्रुटि संदेश में उल्लिखित गायब कुंजी को जोड़ने का आदेश दिया गया है।

sudo apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys 2EA8F35793D8809A

इसलिए मैं लापता कुंजी लेता हूं 2EA8F35793D8809Aऔर keyserver.ubuntu.com से पूछता हूं कि इसे उन कुंजियों की सूची में जोड़ा जाए जो मेरे पास हैं।

लिनक्स मिंट के लिए
आपका मुख्य सर्वर थोड़ा अलग हैkeyserver.linuxmint.com

sudo apt-key adv --recv-key --keyserver keyserver.linuxmint.com "missing key"

वैकल्पिक कुंजी सर्वर का प्रयास करने के लिए
keyserver.ubuntu.com


1
askubuntu.com/a/136735/10998 ने मेरे लिए काम नहीं किया।
नेलारो

5
क्या ऐसा करने के लिए कोई सुरक्षा निहितार्थ हैं? मैं मूल रूप से http, सही पर एक सार्वजनिक कुंजी डाउनलोड कर रहा हूं?
अजादि32

1
@iamcreasy, उबंटू प्रतिष्ठानों को यह साबित करने के लिए कि आपके द्वारा इंस्टॉल किए जा रहे पैकेज सुरक्षित हैं और मैलवेयर मुक्त हैं प्रत्येक पैकेज ubuntu कुंजी सर्वर द्वारा हस्ताक्षरित है। इसलिए आपका इंस्टॉलर यह जांचता है कि क्या आप जो पैकेज स्थापित कर रहे हैं वह विश्वसनीय और सत्यापित स्रोत से है। मुझे इसके बारे में कोई बहुत अच्छा दस्तावेज नहीं मिला है, लेकिन इससे [gpg doc] ( help.ubuntu.com/community/… )
nelaaro

1
मैंने एक फ़ंक्शन बनाया है जिसमें आवश्यक कुंजियाँ शामिल हैं adkeys (){ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys "$1";}और मैं ऐसा करने के लिए उपयोग की जा रही डुप्लिकेट या समस्याग्रस्त कुंजियों को हटाने के लिए:grep -ril "pattern" /etc/apt | sudo xargs rm -f
SergioAraujo

1
मैं सलाह देता हूं --keyserver ha.pool.sks-keyservers.net। यह मुख्य सर्वरों का एक उच्च उपलब्धता वाला पूल है, जो आपके इच्छित कुंजी प्राप्त करने की संभावना को बहुत बढ़ा देता है।
रॉबिन

21

एक सॉफ्टवेयर है जिसे Y PPA managerGPG कुंजी त्रुटियों को ठीक करने में मदद मिलती है।
Y पीपीए प्रबंधक

स्थापित करने के लिए -

sudo add-apt-repository ppa:webupd8team/y-ppa-manager  
sudo apt-get update  
sudo apt-get install y-ppa-manager    

एक बार जब आप इसे स्थापित कर लेते हैं, तो इसे शुरू कर दें, advanceऔर फिर "सभी अनुपलब्ध GPG कुंजी आयात करें" चुनें


2
आपको इस कमांड में sudo जोड़ना होगा! sudo apt-get...
'22:

यह मेरे लिए भी काम करता है और मैं वाई पीपीए प्रबंधक के इंटरफ़ेस का उपयोग करने के लिए आसान आसान से बहुत प्रभावित हूं, यह एक अच्छी खोज थी, धन्यवाद आशु।
19

मैंने वही किया जो आप कहते हैं लेकिन कुछ नहीं हुआ। मेरा मतलब है कि मुझे मेनू में कहीं भी ऐप नहीं मिल रहा है।
क्रिस्टियाना निकोले

@CristianaNicolae एक बार स्थापित होने पर, आप एप्लिकेशन> सिस्टम टूल्स के तहत Y पीपीए प्रबंधक पा सकते हैं।
आशू

सॉरी आशु, मैंने चेक किया और डबल चेक किया। मैं अब भी इसे वहां नहीं देख सकता। ऐसा लगता है कि यह सिस्टम में कहीं स्थापित है, लेकिन कुछ कारणों से, यह मेनू में कहीं भी दिखाई नहीं देता है।
क्रिस्टियाना निकोले

14

स्वचालित डाउनलोड का उपयोग apt-key adv --recv-keysफ़ायरवॉल के पीछे काम नहीं कर सकता है।

इस स्थिति में, अपने वेब ब्राउजर में उबंटू की सर्वर का वेबपेज खोलें और स्ट्रिंग को खोजें 0x<hexadecimal code of your missing key>

पब अनुभाग में लिंक खोलें । (से महत्वपूर्ण सामग्री को बचाने -----BEGIN PGP PUBLIC KEY BLOCK-----के लिए -----END PGP PUBLIC KEY BLOCK-----एक फ़ाइल के रूप में)।

तो भागो:

sudo apt-key add <file-with-saved-key>

स्रोत: http://opensourceforgeeks.blogspot.in/2013/04/w-gpg-error-httpppalaunchpadnet-precise.html


12

पहले टर्मिनल में निम्नलिखित कमांड दर्ज करें

 sudo rm /var/lib/apt/lists/* -vf

फिर टर्मिनल में निम्न कमांड दर्ज करके अपने सिस्टम को अपडेट करें

 sudo apt-get update && sudo apt-get upgrade

इसके बाद कोई त्रुटि नहीं होनी चाहिए और सब कुछ ठीक होना चाहिए।


उत्तर के लिए thx मेरी समस्या के लिए sudo su
सावधानी

जबकि इससे आपको मदद मिलेगी, sudo suसही मायनों में सही तरीका नहीं है - इस मामले में sudo -sआपने जो किया है, वह जरूरी होगा।
गुंटबर्ट

मुझे लगता है कि आपका मतलब sudo rm /var/lib/apt/lists/* -rf(विकल्प "r" "v" के बजाय)
Oliboy50

9
दोनों का उपयोग करना sudoऔर rmखतरनाक है। दोनों का उपयोग करना rmऔर *खतरनाक है। एक ही कमांड में तीनों का उपयोग करें और एक शार्क आपको, या आपकी फाइलों को काट देगी।
जेबी

यह मेरे लिए काम नहीं कर रहा है।
WiSaGaN

9

उबंटू 12.04 के लिए सटीक: स्थायी समाधान

इस त्रुटि संदेश में एक नया भंडार जोड़ने और रिपॉजिटरी सूची को अपडेट करने के बाद उत्पन्न हुआ। यह एक सर्वर के कारण है जो पता नहीं है। तो बस एक अच्छे से पता बदलें।

  1. फ़ाइल ~/.gnupg/gpg.confको टेक्स्ट एडिटर से खोलें ।

    टर्मिनल में: gedit ~/.gnupg/gpg.conf

  2. फिर, इस फ़ाइल में, निम्न बोल्ड लाइन (116 वीं पंक्ति) खोजें (जो डिफ़ॉल्ट रूप से अनुसरण की जानी चाहिए):

    [...]
    कीसर्वर hkp: //keys.gnupg.net
    # की -सर्वर mailto: pgp-public-keys@keys.nl.pgp.net
    # keyserver ldap: //keyserver.pgp.com

  3. फिर निम्न बोल्ड लाइन जोड़ें, अंत में निम्नलिखित परिणाम दें:

    (पुराने पते पर टिप्पणी करने के लिए # दूसरी पंक्ति में जोड़ें)

    [...] कीसर्वर hkp: //keys.gnupg.net # की -सर्वर mailto: pgp-public-keys@keys.nl.pgp.net # keyserver ldap: //keyserver.pgp.com
    keyserver http://keyserver.ubuntu.com
    #

  4. फ़ाइल सहेजें और फिर से अपडेट करने का प्रयास करें:

    टर्मिनल में: sudo apt-get update


7

नायला उत्तर पर आधारित:

sudo apt-get update 2>&1 1>/dev/null | sed -ne 's/.*NO_PUBKEY //p' |
while read key; do
    echo 'Processing key:' "$key"
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys "$key"
done

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


6

सबसे आसान तरीका वाई पीपीए MAnager के साथ है

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager 

डैश से ओपन वाई पीपीए मैनेजर

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

अपना व्यवस्थापक पासवर्ड दर्ज करें

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

उन्नत विकल्प पर डबल क्लिक करें

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

सभी गुम GPG कुंजी आयात करने के लिए प्रयास करें पर क्लिक करें

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

इसे ठीक करने के लिए ठीक क्लिक करें


4

पहले टर्मिनल में निम्नलिखित कमांड दर्ज करें

sudo rm /var/lib/apt/lists/* -vf

फिर टर्मिनल में निम्न कमांड दर्ज करके अपने सिस्टम को अपडेट करें

sudo apt-get update && sudo apt-get upgrade

इसके बाद कोई त्रुटि नहीं होनी चाहिए और सब कुछ ठीक होना चाहिए।


2

मेरे लिए जो काम किया गया था, वह पहले कुंजी को हटाना और फिर पुनर्स्थापित करना था। यह प्राप्त करने के लिए कि मैंने निम्नलिखित कार्य किया है:

root@ > ~: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 630239CC130E1A7FD81A27B140976EAF437D05B5

साथ हटाना

root@ > ~: sudo apt-key del 630239CC130E1A7FD81A27B140976EAF437D05B5

फिर, टाइप करके फिर से इंस्टॉल करें

root@ > ~: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 630239CC130E1A7FD81A27B140976EAF437D05B5

1

मैंने एक ही मुद्दे का सामना किया है, एक ppa ( ppa:nathandyer/vocal-stable) जोड़कर , इसने मेरे रिपॉजिटरी को तोड़ दिया। मुझे वेब अपडेट 8 के लेखक से निर्देशित किया गया था कि मैं इसे कैसे ठीक करने की कोशिश कर सकता हूं, यहां उनके कदम हैं जिन्होंने मुझे काम किया।

अपनी .gpgकुंजियों का बैकअप लें , बस अगर कुछ गलत हो जाता है।

एक फ़ोल्डर बनाते हैं जिसमें हम अपने बैकअप को घर में रखेंगे।

  • mkdir ~/gpg-backups

    यह /etc/apt/trusted.gpg.d/फ़ोल्डर की सभी फाइलों का बैकअप लेता है ।

  • sudo cp /etc/apt/trusted.gpg.d/*.* ~/gpg-backups/

अब, हम सभी .gpgकुंजियों को हटा देंगे ।

  • sudo rm /etc/apt/trusted.gpg.d/

  • sudo cp /etc/apt/trustdb.gpg ~/gpg-backups/

  • sudo rm /etc/apt/trustdb.gpg

सॉफ्टवेयर और अपडेट में, "प्रमाणीकरण" टैब पर, "पुनर्स्थापना डिफ़ॉल्ट" पर क्लिक किया

सभी अनुपलब्ध GPG कुंजियों को आयात करने के लिए y-ppa प्रबंधक स्थापित करें

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager

संदर्भ :


1
एक पंक्ति में त्रुटि होती है, अवश्य होनी चाहिए sudo rm /etc/apt/trusted.gpg.d/*। ईओएल में ओमिटिंग *संभव नहीं है, क्योंकि rmजब आप -rविकल्प निर्दिष्ट नहीं करते हैं, तो आप गैर-रिक्त निर्देशिका को हटा नहीं सकते हैं ।-- आह, और आप लाइन से 1 पत्थर के साथ 2 पक्षियों को मार सकते हैं sudo mv /etc/apt/trustdb.gpg ~/gpg-backups/। क्योंकि यदि आप फ़ाइल को स्थानांतरित करते हैं, तो आपको rmस्रोत फ़ाइल की आवश्यकता नहीं है।
वाक्य रचना

1

मैं इस तरह से बैश स्क्रिप्ट में स्वचालित रूप से त्रुटियों को ठीक करना चाहता था। रुचि रखने वाले किसी के लिए भी यह उपाय करना चाहिए:

sudo apt-get update 2> /tmp/keymissing
if [ -f /tmp/keymissing ]
then
    for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //")
        do 
        echo -e "\nProcessing key: $key"
        sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key
        sudo apt-get update
    done
    rm /tmp/keymissing
fi

0

यदि आपके पास ऐसा कुछ है:

# aptitude update
...
Ign http://archive.canonical.com wily/partner Translation-en_US
Fetched 422 kB in 3s (130 kB/s)
W: GPG error: http://ubuntu.volia.net wily InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32

सबसे पहले कोशिश करें:

# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32

अंतिम कमांड का आउटपुट हो सकता है:

gpg: keyblock resource `/etc/apt/trusted.gpg.d/webupd8team_ubuntu_experiments.gpg': resource limit
gpg: keyblock resource `/etc/apt/trusted.gpg.d/webupd8team_ubuntu_gthumb.gpg': resource limit

इसलिए आपको /etc/apt/trusted.gpg.d/अप्रयुक्त कुंजियों को जाने और हटाने की आवश्यकता है और फिर दोहराएं apt-key advऔरaptitude update



-1

यह समस्या मुझे तब हुई जब मैंने जर्मन सेटिंग्स का उपयोग करके 12.04 स्थापित किया। रिपॉजिटरी सूची फिर डिफ़ॉल्ट रूप से जर्मन मिरर रिपॉजिटरी का उपयोग कर रही है। यदि ऐसा है तो आप रिपॉजिटरी सूची को संपादित कर सकते हैं और सभी जर्मन मिरर रिपॉजिटरी को उबंटू मानक रिपॉजिटरी में बदल सकते हैं।

आप निम्नलिखित विधि का उपयोग कर सकते हैं:

sudo nano /etc/apt/sources.list

नैनो का उपयोग करके खोजें और बदलें Alt-r

खोजें (प्रतिस्थापित करने के लिए): /de.

से बदलो: /

बदलें सभी (प्रेस A)

फ़ाइल सहेजें Ctrl-x

फिर टर्मिनल में निम्न कमांड दर्ज करके अपने सिस्टम को अपडेट करें:

sudo apt-get update && sudo apt-get upgrade

इसके बाद कोई त्रुटि नहीं होनी चाहिए और सब कुछ ठीक होना चाहिए।


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