"GPG त्रुटि: रिलीज़: निम्नलिखित हस्ताक्षर अमान्य थे: BADSIG"


88

मैंने इस कमांड को टर्मिनल में चलाया:

sudo apt-get update

निम्नलिखित त्रुटि रिपोर्ट के साथ अपडेट समाप्त होता है:

W: A error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://extras.ubuntu.com precise Release: The following signatures were invalid: BADSIG 16126D3A3E5C1192 Ubuntu Extras Archive Automatic Signing Key <ftpmaster@ubuntu.com>

W: GPG error: http://ppa.launchpad.net precise Release: The following signatures were invalid: BADSIG 4C1CBC1B69B0E2F4 Launchpad PPA for Jonathan French
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/precise/Release  

इसका क्या मतलब है और यह क्यों हो रहा है?


4
जब मैंने पहली बार 12.04 स्थापित किया था तो मैंने इसी तरह का मुद्दा देखा था। उसके बाद मैंने भारत के सॉफ्टवेयर मैनेजर से "सॉफ्टवेयर सोर्स" को दूसरे सर्वर में बदल दिया। अब मैं इस मुद्दे को नहीं देख रहा हूं। यदि आप भारत सर्वर का उपयोग कर रहे हैं, तो इसे बदल दें और हमें बताएं।
अभिजीत

थैंक्स अभिजीत। मैं एक भारतीय हूं लेकिन कतर में रह रहा हूं। मैंने सर्वर बदलकर सऊदी अरब कर दिया।
बीजू

जवाबों:


90

इसे इस्तेमाल करे:

sudo apt-get clean
sudo mv /var/lib/apt/lists /tmp
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get clean
sudo apt-get update

4
partialउपनिर्देशिका बनाने की आवश्यकता नहीं है । sudo apt-get updateखुद ही करेंगे।
बाइट कमांडर

9
उपरोक्त कार्य करने के बाद भी मुझे यह त्रुटि मिलती है:Reading package lists... Done W: GPG error: http://developer.download.nvidia.com Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F60F4B3D7FA2AF80
मोना जलाल

यह पूछे जाने वाले प्रश्न का उत्तर देने के लायक हो सकता है (और अधिक अपवित्र ;-)) अर्जित करता है।
विटोल्ड काकज़ुरबा

दूसरे चरण में त्रुटि आई:mv: cannot move '/var/lib/apt/lists' to '/tmp/lists': Directory not empty
इंटरनेट उपयोगकर्ता

क्या आप बता सकते हैं कि यह वास्तव में क्या करता है? धन्यवाद,
Hendrik

64

यह संदेश प्रदर्शित हो रहा है क्योंकि उस रिपॉजिटरी के लिए gpg कुंजी आपके उपयुक्त-कुंजी डेटाबेस में गायब है।

कुंजी आयात करने के लिए, एक टर्मिनल खोलें और इन कमांड को दर्ज करें

gpg --keyserver keyserver.ubuntu.com --recv-keys 16126D3A3E5C1192 

pgp कीज को ज्यादातर कई कीस्टोर में वितरित किया जाता है। उबंटू संबंधित कुंजियाँ आमतौर पर इसमें पाई जाती हैं keyserver.ubuntu.com। लेकिन अगर वह विफल रहता है तो आप विकल्पों का उपयोग कर सकते हैं। पसंद -

gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16126D3A3E5C1192

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

उपरोक्त सफल होने पर आप निम्न आउटपुट देखेंगे

gpg: Total number processed: 1
gpg:               imported: 1

फिर यह कमांड चलाएँ:

gpg --export --armor 16126D3A3E5C1192 | sudo apt-key add - 

नोट -साइन के बाद add

फिर sudo apt-get update, इसके बाद आपके पास इस तरह के कोई संदेश नहीं आएंगे।


1
हाय @ अनवर जहाँ / मुझे कैसे कुंजी मिलती है जिस पर मुझे भरोसा है?
मिन्नी शि

1
@MinnieShi कुंजी त्रुटि संदेश में ही मौजूद हैThe following signatures were invalid: BADSIG 16126D3A3E5C1192
कल्याण रघु

1
ध्यान दें कि apt-key addकमांड को "ओके" वापस करना चाहिए।
कॉयल

महान, स्वीकृत उत्तर होना चाहिए! धन्यवाद।
याकूब

13

मैंने पाया कि बस कर

sudo rm -rf /var/lib/apt/lists
sudo mkdir /var/lib/apt/lists

मेरे लिए काम किया।


सूडो rm -rf / var / lib / apt / सूचियों / * && sudo mkdir -p / var / lib / apt / सूचियों को संरक्षित करने के लिए जो कुछ भी / var / lib / apt / सूचियों की अनुमति हो सकती है
131

1
partialउपनिर्देशिका बनाने की आवश्यकता नहीं है । sudo apt-get updateखुद ही करेंगे।
बाइट कमांडर

9

आप PPA के लिए आपके द्वारा उपयोग की जाने वाली सभी GPG कुंजियों को स्वचालित रूप से प्राप्त करने के लिए मेरी स्क्रिप्ट आज़मा सकते हैं: smartupdate.sh

यह लॉन्च होगा apt-get update, फिर सभी GPG त्रुटियों को ढूंढें और पाया GPG हस्ताक्षर के लिए कुंजी प्राप्त करेंगे। आपके मामले में, यह सिर्फ लॉन्च होगा

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4C1CBC1B69B0E2F4

लेकिन जब आप कुछ अहस्ताक्षरित PPA जोड़ते हैं, तो मैन्युअल रूप से GPG कुंजी जोड़ना उबाऊ हो जाता है। :)


6

निम्नलिखित आदेशों ने मेरे लिए समस्या हल कर दी:

sudo -i
apt-get clean
cd /var/lib/apt
mv lists lists.old
mkdir -p lists/partial
apt-get clean
apt-get update

1
partialउपनिर्देशिका बनाने की आवश्यकता नहीं है । sudo apt-get updateखुद ही करेंगे।
बाइट कमांडर

4

मुझे एक समान त्रुटि मिली। लेकिन इसके बजाय BADSIGमुझे KEYEXPIREDPostgreSQL रेपो के लिए मिला :

W: A error occurred during the signature verification.
  The repository is not updated and the previous index files will be used.
  GPG error: http://apt.postgresql.org precise-pgdg Release:
  The following signatures were invalid: KEYEXPIRED 1381654177

समाधान पूरी तरह से यहाँ वर्णित है लेकिन यह वही है जो मैंने इसे हल करने के लिए किया था:

$ sudo apt-key list | grep -B1 PostgreSQL
$ sudo apt-key del ACCC4CF8
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

और अब $ sudo apt-get updateपूरी तरह से काम करेगा!


1

इस टिप ( एक्शनपार्सनिप से ) ने मेरे लिए काम किया:

प्रयत्न, कोशिश:

sudo fuser -vvv /var/lib/dpkg/lock
sudo rm /var/lib/apt/lists/lock
sudo cp -arf /var/lib/dpkg /var/lib/dpkg.backup
sudo cp /var/lib/dpkg/status-old /var/lib/dpkg/status
sudo cp /var/lib/dpkg/available-old /var/lib/dpkg/available
sudo rm -rf /var/lib/dpkg/updates/*
sudo rm -rf /var/lib/apt/lists
sudo rm /var/cache/apt/*.bin
sudo mkdir /var/lib/apt/lists
sudo mkdir /var/lib/apt/lists/partial
LANG=C;sudo apt-get clean
LANG=C;sudo apt-get autoclean
LANG=C;sudo apt-get --purge autoremove
LANG=C;sudo apt-get update -o APT::Cache-Limit=25165824
sudo dpkg --clear-avail
sudo dpkg --configure -a
LANG=C;sudo apt-get -f install
LANG=C;sudo apt-get --fix-missing install
LANG=C;sudo apt-get update -o APT::Cache-Limit=25165824 && sudo apt-get dist-upgrade

इसमें पाया गया:
https://answers.launchpad.net/ubuntu/+source/update-manager/+question/194077


1

यह एक HTTP प्रॉक्सी के कैशिंग इश्यू के कारण हो सकता है। यदि आपके पास मेरे जैसे मार्ग में कहीं एक है, तो आप एप से पूछ सकते हैं कि इसे अस्थायी रूप से कैश को रोकने के लिए कहा जाए:

sudo apt-get update -o Acquire::http::No-Cache=True

-2

आप इसे launchpad-getkeysठीक करने के लिए उपयोग कर सकते हैं । एक टर्मिनल खोलें और दर्ज करें:

sudo apt-get install launchpad-getkeys
sudo launchpad-getkeys

फिर

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