“ ข้อผิดพลาด GPG: ลายเซ็นต่อไปนี้ไม่ถูกต้อง: KEYEXPIRED”


32

ข้อผิดพลาดที่ฉันมีเมื่อพยายามอัปเดตรายการแพคเกจของฉัน

W: GPG error: http://download.opensuse.org ./ Release: The following signatures were invalid: KEYEXPIRED 1436387333
E: Some index files failed to download. They have been ignored, or old ones used instead.

คำตอบ:


11
GPG error: http://download.opensuse.org ./ Release: The following signatures were invalid: KEYEXPIRED 1436387333

นี่เป็นการบอกว่าคีย์ GPG ของคุณสำหรับที่เก็บนั้นหมดอายุซึ่งหมายความว่าหนึ่งในสองสิ่งนี้ทั้งระบบของคุณมีวันที่ไม่ถูกต้องหรือคีย์หมดอายุจริง ๆ ในภายหลังคุณต้องติดต่อผู้ดูแลพื้นที่เก็บข้อมูลและนำเข้าคีย์ใหม่ (อาจต้องลบคีย์เก่า) เมื่อที่เก็บอัปเดตคีย์เพื่อลงนามไฟล์

คุณสามารถละเว้นข้อความเหล่านี้ได้อย่างปลอดภัยหากคุณไม่ได้ใช้แพ็คเกจของที่เก็บเหล่านี้ ข้อความสามารถลบออกได้หากคุณลบที่เก็บออกจากsource.listไฟล์ / ไดเร็กทอรีของคุณ


... แนะนำให้เพิ่มในการยืนยันว่านาฬิการะบบอย่างน้อยก็มีเหตุผลที่ถูกต้อง หากระบบคิดว่าในปี 2020 ฉันเดิมพันว่าจะนำไปสู่ข้อผิดพลาดที่สำคัญหมดอายุ
Derobert

37

ฉันไม่ได้รับคำตอบด้านบนนาฬิการะบบของฉันใช้ได้ การทำงานต่อไปนี้สำหรับฉัน:

sudo apt-key list | grep "expired: "
sudo apt-key adv --keyserver keys.gnupg.net --recv-keys [KEY]

กุญแจสำคัญที่เป็นส่วนหนึ่งที่อยู่เบื้องหลังเฉือน: 0000X/<this part is the key>

หรือใช้ซับนี้:

sudo apt-key list  | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | xargs -n1 sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 

1
ขอบคุณแก้ไขปัญหาให้ฉันด้วย MySQL แต่ใช้--keyserver pgp.mit.eduแล้ว ที่มา: bugs.mysql.com/bug.php?id=85029
Craig van Tonder

7

ppa นั้นถูกลบและไม่มีอยู่อีกต่อไป คุณต้องค้นหาแหล่งอื่นสำหรับแพ็คเกจที่ติดตั้งผ่าน samrog131 ppa

ในระหว่างนี้ให้รันคำสั่งต่อไปนี้เพื่อแก้ไขสถานการณ์

ก่อนอื่นให้ลบคีย์ที่หมดอายุ:

sudo apt-key del 1436387333

จากนั้นในการลบ ppa:

sudo rm /etc/apt/sources.list.d/samrog131*
sudo apt-get clean
sudo apt-get update

หากคุณจำเป็นต้องเพิ่มคีย์ดูที่นี่

sudo apt-get upgrade

คุณอาจต้องการเรียกใช้:

sudo apt-get dist-upgrade

ขึ้นอยู่กับสถานการณ์ของคุณ หากคุณไม่แน่ใจว่าดูที่นี่


สิ่งนี้จะไม่แก้ปัญหาอะไรเลย APT จะพยายามดึงแพคเกจจาก PPA อีกครั้งและล้มเหลวอีกครั้ง
Braiam

@Braiam ที่จริงแล้วมันช่วยแก้ปัญหาข้อผิดพลาด 404 สำหรับ samrog131 ppa ที่หายไปซึ่งเป็นสิ่งที่คุณลบออกจากคำถาม
mchid

เรามีข้อมูลซ้ำที่ครอบคลุมปัญหาดังกล่าวแล้วคุณยังไม่ได้ตอบคำถามทั้งหมดเนื่องจากคุณเพิกเฉยต่อส่วนที่สำคัญที่สุดซึ่งเป็นข้อผิดพลาดของ GPG โปรดอย่าแก้ไขคำถามอีกครั้ง
Braiam

@Braiam ทำไมไม่เพียงเพื่อให้ดูเหมือนว่าคำตอบของฉันไม่ได้แก้อะไรเลย?
mchid

1) หากผู้ใช้เพิ่ม ppa ใน source.list โดยตรงคำตอบของคุณจะล้มเหลวจริง ๆ แล้วมันจะล้มเหลวหากไม่ได้ใช้ add-ppa-repository และ OP เพิ่งตั้งชื่อไฟล์ต่างกัน 2) หากคุณนำกุญแจออกตอนนี้คำเตือนจะถูกแทนที่ด้วยข้อผิดพลาดเนื่องจากไม่พบกุญแจดังนั้นจึงทำให้เกิดปัญหามากขึ้น
Braiam

2

ตามที่ปรากฏก่อนหน้านี้ก่อนเพื่อลบคีย์ที่หมดอายุ:

sudo apt-key del 1436387333 จากนั้นไปที่เว็บไซต์:

http://download.opensuse.org/repositories/home:/sarimkhan/xUbuntu_14.04/

และดาวน์โหลด "Release.key" จากนั้นอิมพอร์ตคีย์โดยใช้ ubuntu14.04 ซอฟต์แวร์ updater หรือตัวจัดการแพคเกจ synaptic


2

สิ่งเหล่านี้ไม่ได้ผลสำหรับฉัน:

$ sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 5072E1F5

หรือ

$ sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 5072E1F5

หรือ

$ sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5

แหล่งข้อมูลเหล่านั้นคือ: https://bugs.mysql.com/bug.php?id=85029และhttps://bugs.mysql.com/bug.php?id=94378

ฉันดำเนินการสงสัยหนึ่งครั้งด้วยความสิ้นคิด (พูดว่า 'y' แทนที่จะเป็น 'N' ด้านล่าง) ซึ่งฉันคิดว่าไม่จำเป็นเลย:

$ sudo apt-get install mysql-apt-config

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  mysql-apt-config
1 upgraded, 0 newly installed, 0 to remove and 294 not upgraded.
Need to get 35.6 kB of archives.
After this operation, 0 B of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  mysql-apt-config
Install these packages without verification? [y/N] y
Get:1 http://repo.mysql.com/apt/ubuntu/ trusty/mysql-apt-config mysql-apt-config all 0.8.13-1 [35.6 kB]
Fetched 35.6 kB in 0s (229 kB/s)      
Preconfiguring packages ...
dpkg-deb: error: archive '/var/cache/apt/archives/mysql-apt-config_0.8.13-1_all.deb' has premature member 'control.tar.xz' before 'contro
l.tar.gz', giving up
dpkg: error processing archive /var/cache/apt/archives/mysql-apt-config_0.8.13-1_all.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
Errors were encountered while processing:
 /var/cache/apt/archives/mysql-apt-config_0.8.13-1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

และตามด้วย:

$ sudo apt-get update

ซึ่งไม่ได้ช่วย

ฉันยังคงได้รับข้อผิดพลาดเดียวกัน

ในที่สุดทำงานต่อไปนี้ :

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 5072E1F5

ฉันคาดเดา (สุ่มสี่สุ่มห้า) ว่าบางที pgp.mit.edu ได้เปลี่ยนโครงสร้างของพวกเขาหรืออาจจะ "MySQL Release Engineering" (เรียกใช้apt-key list) ได้ย้ายกุญแจของพวกเขาไปที่เซิร์ฟเวอร์หลักของอูบุนตูหรือสิ่งอื่น ๆ (ฉันไม่รู้เลยว่า การบำรุงรักษา)

นี้แสดงความคิดเห็นในหัวข้อที่ซ้ำกันกล่าวว่าสิ่งเดียวกัน

หวังว่านี่จะช่วยประหยัดเวลาและความพยายามของใครบางคน


ขั้นตอนสุดท้ายใช้กับอูบุนตู 14.04 LTS ของฉันซึ่งขั้นตอนอื่นทั้งหมดล้มเหลว
a4aravind

1

เรียบง่ายอย่างนี้ควรใช้งานได้:

apt-key adv --refresh-keys

ทำไมต้องใช้sedและxargsหากgpgสามารถจัดเรียงสิ่งต่าง ๆ สำหรับตัวเอง


ฉันได้รับข้อผิดพลาดดังต่อไปนี้: gpg: ไม่รู้จักคีย์เซิร์ฟเวอร์ (ใช้ตัวเลือก - คีย์เซิร์ฟเวอร์) gpg: การรีเฟรช keyserver ล้มเหลว: URI ไม่ดี
MaxiReglisse

0

วิธีนี้ใช้ได้ผลดีที่สุดสำหรับฉัน

wget -nv https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key -O Release.key

sudo apt-key add - < Release.key

เมื่อคำสั่งเหล่านี้ถูกเรียกใช้ฉันสามารถอัปเดตและอัปเกรดได้ตามที่คาดไว้


0

คำตอบเชิง GUI:

นำทางไปยัง /etc/apt/sources.list.d sources.listในตัวจัดการไฟล์ของคุณและดับเบิลคลิก

ควรเปิดกล่องโต้ตอบ "ซอฟต์แวร์และการอัพเดท" คลิก "ซอฟต์แวร์อื่น ๆ " ค้นหา ppa ที่ละเมิดให้คลิกลบ สิ่งนี้หยุดข้อผิดพลาดในตอนท้ายของฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.