วิธีที่ง่ายที่สุดในการแก้ไขข้อผิดพลาด BADSIG GPG apt-get คืออะไร?


129

ฉันมักจะข้ามปัญหานี้และมักจะต้อง google สำหรับคำตอบ ไม่มีใครมีการแก้ไขข้อผิดพลาด BADSIG อย่างถาวรapt-getหรือไม่

W: ข้อผิดพลาดของ GPG: http://download.virtualbox.org lucid การเผยแพร่: ลายเซ็นต่อไปนี้ไม่ถูกต้อง: BADSIG 54422A4B98AB5139 Oracle Corporation (คีย์การลงนามการเก็บถาวร VirtualBox)


คุณใช้ apt-cacher-ng หรือไม่?
lfaraone

4
เป็นสิ่งสำคัญที่คุณจะต้องเข้าใจว่าลายเซ็น GPG ใน APT ใช้สำหรับอะไรลายเซ็น GPG จะตรวจสอบว่าที่เก็บมีแพ็คเกจที่จัดหาจากแหล่งที่เชื่อถือได้ มันทำให้มั่นใจทั้งความสมบูรณ์และความถูกต้อง ทุกครั้งที่คุณเพิ่มที่เก็บใหม่จากผู้ให้บริการบางรายคุณจะต้องเพิ่มคีย์ GPG
João Pinto

ทำตามตัวอย่างในลิงค์ - แทนที่รหัสตัวอย่างในคำตอบที่เชื่อมโยงด้วยรหัส BADSIG ในคำถามของคุณ
fossfreedom

fossfreedom ฉันไม่สามารถแก้ปัญหานั้นให้ทำงานบนระบบของฉันได้ ไม่สามารถเข้าใจการรับ "- keyserver" วิธีแก้ปัญหาที่เสนอโดย Dr.Ubuntu ด้านล่างนี้เหมาะสำหรับฉัน
เดิร์ค

ดูที่นี่askubuntu.com/questions/67594/…ฉันคิดว่าคำสั่งที่คุณใช้นั้นถูกต้องคุณไม่ได้ใช้คีย์ที่ถูกต้อง
Bruno Pereira

คำตอบ:


130

นี่คือทางออกที่ง่ายที่สุด:

พิมพ์คำสั่งต่อไปนี้ใน Terminal:

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

เครดิต: ubuntugeek.com

แก้ไข:

หากข้อผิดพลาดเกิดขึ้นอีกครั้ง (อาจหลังจากไม่กี่วัน / เดือน) ให้เปิด Nautilus ในฐานะ root> ไปที่var/lib/apt> ลบโฟลเดอร์ "lists.old"> จากนั้นเปิดโฟลเดอร์ "รายการ" และลบโฟลเดอร์ "บางส่วน" ตอนนี้รันคำสั่งดังกล่าวอีกครั้ง


10
วิธีนี้ช่วยแก้ไขข้อผิดพลาดทั่วไปสำหรับฉัน - อัปเดตผ่านการเชื่อมต่ออินเทอร์เน็ตด้วยพร็อกซี (WiFi "ร้านกาแฟ" ที่ต้องใช้การเข้าสู่ระบบเว็บ) ซึ่งทำให้รายการบางส่วนของฉันเสียหายหากฉันออกจากระบบหรือลืมเข้าสู่ระบบระหว่างการอัปเดต
hobs

3
ข้อผิดพลาดจริงจะเกิดอะไรขึ้นถ้าคำตอบของ qbi ไม่ได้ช่วยอะไร
ArtOfCode

มันก็เกิดขึ้นกับฉันเพราะ: "ร้านกาแฟ" อินเตอร์เน็ตไร้สายที่ต้องใช้การเข้าสู่ระบบเว็บ
Postadelmaga

5
ฉันหวังว่า OP จะตรวจสอบสิ่งนี้เป็นคำตอบ!
HDave

@ArtOfCode: ข้อผิดพลาดเหมือนกันทุกประการ คำตอบนี้ช่วยฉันได้ แต่บนเว็บคุณจะพบวิธีการที่ qbi ชี้ให้เห็นเท่านั้นและคุณสามารถพบได้ทุกที่บนเว็บ
0xC0000022L

65

ส่วนสำคัญของข้อความแสดงข้อผิดพลาดของคุณมีดังต่อไปนี้เป็นตัวหนา :

W: ข้อผิดพลาดของ GPG: http://download.virtualbox.org lucid การเผยแพร่: ลายเซ็นต่อไปนี้ไม่ถูกต้อง: BADSIG 54422A4B98AB5139 Oracle Corporation (คีย์การลงนามการเก็บถาวร VirtualBox)

คัดลอกเนื้อหาด้วยตัวหนาแล้วเปิดเทอร์มินัลแล้วพิมพ์:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 54422A4B98AB5139

เช่นวางโดยใช้SHIFT+ INSหมายเลขที่คุณคัดลอก - 54422A4B98AB5139

คุณจะต้องป้อนรหัสผ่านรหัสจะถูกดาวน์โหลดและรวมเข้าด้วยกัน


3
ข้อผิดพลาดของฉันเกี่ยวข้องกับ repo ที่ไม่ดีไม่ใช่แค่คีย์หายไป ... แต่คำตอบของคุณน่าจะใช้ได้กับ 99% ของคดีทั้งหมด
cmcginty

4
+1 เพราะนั่นเป็นสิ่งที่มีประโยชน์มากที่ต้องรู้วิธีการทำ อย่างไรก็ตามมันไม่ได้แก้ไขปัญหาของฉัน
Kazark

21
สิ่งนี้ใช้ได้ผลกับทุกคนหรือไม่
Jjed

6
BADSIG นั้นแตกต่างจาก NO_PUBKEY สำหรับ BADSIG คำตอบด้านล่างนี้แก้ไขได้ ฉันไม่แน่ใจว่าฉันจะลงเอยอย่างไรในสถานการณ์นี้ แต่ฉันมี BADSIG ใน 5 PPA ที่แตกต่างกันแม้หลังจากนำเข้ากุญแจ
mfisch

17
ฉันเชื่อว่าสิ่งนี้อาจเป็นอันตรายได้ในสถานการณ์ที่มีคนพยายามทำสิ่งที่น่ารังเกียจ ไม่เพียงแค่เพิ่มคีย์จากข้อความแสดงข้อผิดพลาด เพิ่มคีย์ที่คุณไว้วางใจเท่านั้น
gertvdijk

27

ลองลบรหัส

sudo apt-key del 16126D3A3E5C1192

จากนั้นอัปเดตที่เก็บ

sudo apt-get update

คุณควรได้รับNO_PUBKEYข้อผิดพลาดแทนที่จะเป็นBADSIGข้อผิดพลาดและ

sudo apt-key finger

ไม่ควรหากุญแจ (เรียกว่า "Ubuntu Extras Archive Key Signing Automatic")

ตอนนี้เพิ่มกุญแจ

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 16126D3A3E5C1192

ผลของการapt-key fingerควรมี

pub   1024D/3E5C1192 2010-09-20
      Key fingerprint = C474 15DF F48C 0964 5B78  6094 1612 6D3A 3E5C 1192
uid                  Ubuntu Extras Archive Automatic Signing Key <ftpmaster@ubuntu.com>

หากไม่ได้ผลให้ลอง

apt-get clean            # Remove cached packages
cd /var/lib/apt
mv lists lists.old       # Backup mirror info
mkdir -p lists/partial   # Recreate directory structure
apt-get clean
apt-get update           # Fetch mirror info

ที่มา: นี้หัวข้อฟอรั่มอูบุนตู


ฉันมีข้อผิดพลาด BADSIG หลายข้อซึ่งรวมถึงคลังเก็บ Ubuntu มาตรฐาน เมื่อฉันลบคีย์ VirtualBox ทันใดนั้นข้อผิดพลาดทั้งหมดก็กลายเป็น NO_PUBKEY จากนั้นเมื่อฉันเพิ่มปุ่ม VirtualBox ข้อผิดพลาดจะหายไปสำหรับ repos อื่น ๆ ทั้งหมด ดังนั้นมันกลับกลายเป็นว่าคีย์ดีหนึ่งสร้างข้อผิดพลาดสำหรับ repos ที่ไม่เกี่ยวข้องอื่น ๆ อีกมากมาย
Mateusz Stachowski

11

อีกวิธีที่ง่ายกว่าในการแก้ไขข้อผิดพลาด BADSIG GPG คือผ่านซอฟต์แวร์ที่เรียกว่า Y PPA manager

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

คลิกที่ Advanced
ป้อนคำอธิบายรูปภาพที่นี่

จากนั้นเลือก Fix all GPG Badsig errors
ป้อนคำอธิบายรูปภาพที่นี่


3

หากคุณยังคงมีข้อผิดพลาดนี้หลังจากเพิ่มการลองคีย์:

  1. ไปที่ไดเร็กทอรีแคช apt-cacher-ng ของคุณและลบรายการ Virtualbox:

    cd /var/cache/apt-cacher-ng
    sudo rm -rf download.virtualbox.org
    

2

พบเซิร์ฟเวอร์อื่นที่เราสามารถใช้:

gpg --keyserver hkp://subkeys.pgp.net --recv-keys [YOURKEYINQUESTION]
gpg --armor --export [YOURKEYINQUESTION] | sudo apt-key add -
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.