सवाल एपीटी-अपडेट अपडेट के बाद मुझे KEYEXPIRED त्रुटि संदेश मिलने पर मुझे क्या करना चाहिए?


एक द्वारा डेबियन आधारित प्रणाली पर अपने पैकेज अद्यतन करते समय

sudo apt-get update

मुझे वह त्रुटि संदेश मिला है:

Reading package lists... Done
W: GPG error: ftp://ftp.fr.debian.org stable/non-US Release: 
The following signatures were invalid: KEYEXPIRED 1138684904

मुझे इसे ठीक करने के लिए क्या करना चाहिए ?


65
2018-05-11 19:58


मूल




जवाब:


किसी भी समय सीमा समाप्त भंडार कुंजी और उनकी आईडी खोजने के लिए, उपयोग करें apt-key निम्नलिखित नुसार:

LANG=C apt-key list | grep expired

आपको निम्न के परिणाम मिलेंगे:

pub   4096R/BE1DB1F1 2011-03-29 [expired: 2014-03-28]

कुंजी आईडी के बाद थोड़ा सा है / अर्थात। BE1DB1F1 इस मामले में।

कुंजी को अद्यतन करने के लिए, चलाएं

sudo apt-key adv --recv-keys --keyserver keys.gnupg.net BE1DB1F1

ध्यान दें: कुंजी को अपडेट करना स्पष्ट रूप से होगा नहीं अगर पैकेज रखरखाव ने अभी तक एक नई कुंजी अपलोड नहीं की है तो काम करें। उस स्थिति में रखरखाव से संपर्क करने के अलावा आप अपने वितरण आदि के खिलाफ एक बग दर्ज करने के अलावा कुछ भी नहीं कर सकते हैं।

सभी कालबाह्य कुंजी अपडेट करने के लिए एक लाइनर: (@ryanpcmcquen के लिए धन्यवाद)

for K in $(apt-key list | grep expired | cut -d'/' -f2 | cut -d' ' -f1); do sudo apt-key adv --recv-keys --keyserver keys.gnupg.net $K; done

109
2017-07-24 23:44



कुंजी को अपडेट करने के लिए आदेश के बाद, मेरे लिए काम नहीं करता है, कुंजी अभी भी समाप्त हो चुकी है। - Karl Forner
@ कर्लफोर्नर कुंजी सफल जोड़ रहा था? - kynan
हाँ यह सफल था। - Karl Forner
एक लाइन: for K in $(apt-key list | grep expired | cut -d'/' -f2 | cut -d' ' -f1); do sudo apt-key adv --recv-keys --keyserver keys.gnupg.net $K; done - ryanpcmcquen
Grep भाग के लिए बस एक संकेत: "कालबाह्य" i18ned है, इसलिए LANG * सेटिंग्स के आधार पर यह काम नहीं कर सकता है, उदाहरण के लिए सेटिंग्स pl_PL.UTF-8 को इसे "समाप्त" करने के लिए "wygasł" में बदलना है, काम करने के लिए लाइनर। - Cromax


आपको नई कुंजी प्राप्त करने और उसे जोड़ने की आवश्यकता है, जिस बिंदु पर एपीटी इसका पता लगाएगा और शिकायत नहीं करेगा। यह आमतौर पर नहीं होना चाहिए, लेकिन यह कभी-कभी करता है। आपको वास्तव में जो चीज चाहिए उसे हेक्स कोड को जानने की जरूरत है; एक बार आपके पास यह हो जाने के बाद, यह वहां से काफी नीचे की ओर है।

कुछ उदाहरण:


6
2018-05-11 20:09





पर SecureAPT के बारे में डेबियन विकी, मैंने पाया है कि मुझे लाइन को हटा देना चाहिए non-us /etc/apt/sources.list से।

मैंने वास्तव में ऐसा किया और यह काम किया।


2
2018-05-12 20:12



यह एक विशेष मामले में काम किया हो सकता है लेकिन है नहीं एक सामान्य समाधान - kynan


मुझे भी इसी तरह की त्रुटि थी, लेकिन समस्या सिस्टम समय में थी। वर्ष 1 9 61 था :)

मैंने सिस्टम दिनांक / समय को सही किया और उसके बाद प्रो के बिना अपडेट किया जा सकता था


2
2018-04-03 16:25





यह तब भी हो सकता है जब तिथि सही न हो।

तिथि की जांच करें

date

यदि यह गलत कॉन्फ़िगर किया गया है, तो अपना टाइमज़ोन सेट करने और ऑटो सिंक्रनाइज़ेशन की तारीख निर्धारित करने के लिए निम्न कार्य करें।

apt-get install ntp ntpdate && service ntp stop
dpkg-reconfigure tzdata
ntpdate-debian
service ntp start

1
2018-03-24 14:43





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

यह हो सकता है, जैसा कि यह मेरे लिए किया गया था, अपनी खुद की कुंजी के साथ अपने खुद के भंडार की मेजबानी करते समय। यदि आप, जब कुंजी समाप्त होने वाली है, तो इसे बदलने के बजाए बस अपने जीवनकाल का विस्तार करें, और यदि आपने प्रीडीडिंग का उपयोग करके मूल कुंजी स्थापित की है लेकिन एक डेब पैकेज का उपयोग कर अद्यतन कुंजी है, तो पुरानी कुंजी होगी /etc/apt/trusted.gpg, जबकि नया एक अलग फ़ाइल के रूप में समाप्त होता है /etc/apt/trusted.gpg.d/। पुरानी कुंजी नई छाया को छाया देगी, जिसे पूरी तरह नजरअंदाज कर दिया जाएगा apt-key। चलकर पुरानी कुंजी निकालें gpg --keyring /etc/trusted.gpg --delete-keys <keyid>, और आपकी नई कुंजी का पता चला जाएगा।

यह एक गैर-मानक कोने कॉन्फ़िगरेशन का एक छोटा सा है, लेकिन मुझे आशा है कि मेरा जवाब कुछ भ्रम को बचा सकता है अगर किसी और ने इस मुद्दे के कारण इस मुद्दे का सामना किया हो।


1
2018-01-11 20:45





एक और सरल ऑनलाइनर:

for key in $(sudo apt-key list | awk -v FS='[ /:]+' '/expire[sd]/ {print $3}'); do sudo apt-key adv --recv-keys --keyserver keys.gnupg.net $key; done

मुझे लगता है कि अगर आप चीजों की तरह काम कर रहे हैं cut एक से अधिक बार, एक बेहतर उपकरण है। (इसके अलावा, मैंने इसे बनाया है एक अलग सवाल।)


1
2018-04-24 18:37





आप नहीं करते यह करना है कुछ भी करो। यह सिर्फ एक चेतावनी है, आप इसे देख सकते हैं W: उपसर्ग।


0
2018-06-03 11:53



अगर उसे कुछ भी करने की ज़रूरत नहीं थी तो रीपोज़ के लिए पूरी साइनिंग सिस्टम बेकार होगी। यह एक सुरक्षा सुविधा है और उत्पादन परिवेश में सुरक्षा के लिए महत्वपूर्ण अखंडता महत्वपूर्ण है। - Broco