ทำไมฉันถึงได้รับข้อผิดพลาดการรับรองความถูกต้องสำหรับแพ็คเกจจากที่เก็บ Ubuntu


186

ฉันกำลังทดลองกับ VPN ดังนั้นฉันต้องการติดตั้ง pptpd

john@desktop:~$ sudo apt-get install pptpd
[sudo] password for john: 
<snip>
The following extra packages will be installed:
  bcrelay
The following NEW packages will be installed:
  bcrelay pptpd
0 upgraded, 2 newly installed, 0 to remove and 11 not upgraded.
Need to get 90.5 kB of archives.
After this operation, 442 kB of additional disk space will be used.
Do you want to continue [Y/n]? y

และทุกอย่างทำงานได้ดีจนกระทั่งฉันลงที่นี่:

WARNING: The following packages cannot be authenticated!
  bcrelay pptpd
Install these packages without verification [y/N]? n
E: Some packages could not be authenticated

ไม่มีการรับรองความถูกต้อง? ฉันไม่มีผู้เชี่ยวชาญด้านความปลอดภัย แต่ฉันค่อนข้างแน่ใจว่าเป็นสิ่งที่ไม่ดี ดังนั้นฉันตรวจสอบเพื่อดูว่าแพคเกจมาจากไหน

john@desktop:~$ apt-cache policy pptpd
pptpd:
  Installed: (none)
  Candidate: 1.3.4-3ubuntu1
  Version table:
     1.3.4-3ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ natty/main i386 Packages
john@desktop:~$ apt-cache policy bcrelay
bcrelay:
  Installed: (none)
  Candidate: 1.3.4-3ubuntu1
  Version table:
     1.3.4-3ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ natty/main i386 Packages

พวกเขามาจาก Ubuntu.com และไม่ได้รับการรับรองความถูกต้องใช่ไหม เกิดอะไรขึ้นที่นี่?

คำตอบ:


227

โปรแกรมอรรถประโยชน์ apt-key

apt-key ใช้สำหรับจัดการรายการของปุ่มที่ apt ใช้ในการตรวจสอบแพ็คเกจ แพคเกจที่ได้รับการยืนยันโดยใช้คีย์เหล่านี้จะถือว่าเชื่อถือได้ หากต้องการอัปเดตพวงกุญแจในท้องที่โดยใช้พวงกุญแจของคีย์เก็บถาวรของอูบุนตูและลบออกจากพวงกุญแจกุญแจเก็บถาวรที่ใช้ไม่ได้อีกต่อไป

$ sudo apt-key update
$ sudo apt-get update

ลองติดตั้งบางสิ่ง ...


15
มันใช้งานได้ แต่apt-keyบอกว่ามันไม่เปลี่ยนแปลงอะไรเลย ความคิดใดที่ปัญหาของฉันคืออะไร
จอห์น

5
สิ่งนี้สามารถเกิดขึ้นได้จากข้อผิดพลาดจำนวนมากในฝั่งเซิร์ฟเวอร์แพ็คเกจ บางครั้งการทำงานapt-get updateจะแก้ไขได้
ixtmixilix

4
ในกรณีของฉัน Ctrl + C ในระหว่างการaptitudeทำงานนานทำให้เกิดปัญหา sudo apt-key updateไม่ได้เปลี่ยนแปลงอะไร แต่sudo apt-get updateแก้ไขปัญหาได้
musiphil

1
มันแสดง "คีย์การลงชื่ออัตโนมัติของ Ubuntu Archive <- @ ubuntu.com> ไม่เปลี่ยนแปลง" .. ข้อเสนอแนะอื่น ๆ !
CoDe

2
ผมสงสัยว่าทำไมapt-key updateไม่ได้ทำงานโดยอัตโนมัติหลังจากที่เผชิญหน้ากับThe following packages cannot be authenticated!ปัญหา ...
Mateusz Konieczny

17
sudo apt-get update

ก็เพียงพอที่จะซ่อมให้ฉันได้


1
ทำงานให้ฉันด้วยเช่นกันบน Ubuntu 14.04 พร้อมเซิร์ฟเวอร์ที่ติดตั้งใหม่ (Ansible bug github.com/ansible/ansible-modules-core/issues/1497ในaptโมดูลทำให้apt-get updateไม่ต้องเรียกใช้) ก่อนหน้านี้ฉันวิ่งapt-key updateไปวินิจฉัยสิ่งนี้ แต่มันไม่ได้ ' ไม่อัปเดตคีย์ใด ๆ ดังนั้นจึงไม่ใช่วิธีแก้ปัญหา
RichVel

5

ฉันมีปัญหานี้ใน Ubuntu 12.10 (Quantal Quetzal) ปัญหาเดียวกันนี้เกิดขึ้นถ้าฉันพยายามใช้ Synaptic Package Manager GUI

มันกลับกลายเป็นว่าระบบของฉันยังคงตั้งค่าให้ใช้พร็อกซีเซิร์ฟเวอร์สำหรับเครือข่ายที่ฉันไม่ได้เชื่อมต่ออีกต่อไปและไม่สามารถใช้งานได้อีกต่อไป เมื่อฉันปิดใช้งานพร็อกซีเซิร์ฟเวอร์aptก็สามารถตรวจสอบแพ็คเกจได้อย่างถูกต้อง

ในการปิดการใช้งานพรอกซีใน Ubuntu 12.10 (Quantal Quetzal) ให้ทำตามขั้นตอนเหล่านี้:

  1. กดปุ่มSuperบนแป้นพิมพ์ของคุณ (ปุ่มโลโก้ AKA ของ Windows)
  2. พิมพ์Networkและกด Enter
  3. เลือกNetwork Proxy
  4. เปลี่ยนวิธีการเป็นไม่มี
  5. คลิกใช้ทั้งระบบ
  6. apt ตอนนี้ควรจะสามารถตรวจสอบแพคเกจ

2

ฉันมีปัญหานี้มันกลายเป็นความผิดพลาดบางอย่างกับเซิร์ฟเวอร์ของออสเตรเลีย - จิงโจ้ที่หลวมในคอกข้างบนอาจเป็นไปได้ ฉันแก้ไขโดยการเปลี่ยนแหล่งซอฟต์แวร์ใน Muon จากเซิร์ฟเวอร์ออสเตรเลียไปเป็นเซิร์ฟเวอร์หลัก


2

ระวังผู้รับมอบฉันทะขององค์กร!

ผมได้รับWARNING: The following packages cannot be authenticated!สำหรับopenjdk-7-jdk(ในหมู่แพคเกจอื่น ๆ ) ในขณะนั่งอยู่ข้างหลังพร็อกซี่ แม้แต่การกำหนดค่า `/etc/apt/apt.conf 'และการตั้งค่า -> การตั้งค่าเครือข่ายด้วยการกำหนดค่าพร็อกซีไม่อนุญาตให้มีการรับรองความถูกต้องหรือติดตั้งแพคเกจ

พยายามแล้ว (ในขณะที่อยู่หลังพร็อกซี): $ sudo apt-key update $ sudo apt-get update

คีย์ไม่ได้รับการอัพเดตอัปเดapt-get updateตบางอย่างไม่มีคำเตือนหรือข้อผิดพลาด แต่ฉันก็ยังติดตั้งopenjdk-7-jdkไม่ได้

วิธีการแก้:

  1. เชื่อมต่อโดยตรงกับเน็ต (เช่นหลีกเลี่ยงพร็อกซีขององค์กร)
  2. ปิดการกำหนดค่าพร็อกซีในการตั้งค่าและ /etc/apt/apt.conf
  3. sudo apt-key update
  4. sudo apt-get update
  5. sudo apt-get install openjdk-7-jdk

แพคเกจจะรับรองความถูกต้องดาวน์โหลดและติดตั้ง


3
แต่ทำไม ? เหตุใดการผ่านพร็อกซีขององค์กรจึงป้องกันการตรวจสอบความถูกต้องของแพคเกจอย่างเหมาะสม
Mikhail T.

1

ntc2 นั้นถูกต้องเป็นหลัก (สำหรับกรณีของฉันอยู่แล้ว) แต่ให้ฉันทำอย่างละเอียดในการแก้ปัญหา

ไม่ว่าจะด้วยเหตุผลใดก็ตามฉันติดอยู่ที่ 15.04 แม้ว่าจะมีการตั้งค่าให้อัพเกรดอัตโนมัติ ไม่ว่าฉันจะอัปเดต / อัปเดตไม่ได้มีการแสดงรีลีสใหม่กี่ครั้งและฉันยังคงได้รับข้อผิดพลาดในการตรวจสอบสิทธิ์เมื่อทำการติดตั้งแพ็คเกจ

อย่างไรก็ตามในที่สุดฉันก็หาวิธีบังคับให้อัปเกรดผ่านบันทึกย่อประจำรุ่น Ubuntu 15.10 (Wily Werewolf) อย่างเป็นทางการ กลายเป็นว่าค่อนข้างง่ายและในกรณีของฉันสิ่งที่ฉันต้องการจริงๆคือขั้นตอนสุดท้าย

การอัพเกรดจาก Ubuntu 15.04:

  • ติดตั้งupdate-manager-coreแพ็กเกจหากยังไม่ได้ติดตั้ง
  • ตรวจสอบให้แน่ใจว่า/etc/update-manager/release-upgradesตั้งค่าเป็นปกติ
  • sudo do-release-upgradeเปิดตัวเครื่องมืออัปเกรดที่มีคำสั่ง

ตอนนี้ฉันได้อัพเกรดข้อผิดพลาดการพิสูจน์ตัวตนแล้วและฉันสามารถติดตั้งแพ็คเกจได้โดยไม่มีปัญหา

ปัญหาการอัปเกรด - E: วิธีแสดงข้อความการเปลี่ยนเส้นทาง 103 ที่ไม่ถูกต้อง

สิ่งนี้อาจจะหรืออาจจะไม่เกี่ยวข้องกับปัญหาการอัปเกรดดังนั้นฉันจะออกจากที่นี่ในกรณีที่มีคนอื่นพบสิ่งนี้ หากในระหว่างการอัพเกรดคุณพบข้อผิดพลาดต่อไปนี้:

E: วิธีการให้ 103 ข้อความเปลี่ยนเส้นทางที่ไม่ถูกต้อง

คุณอาจต้องล้างไฟล์บางส่วนด้วยด้านล่างและลองอัปเกรดอีกครั้ง:

sudo rm /var/lib/apt/lists/partial/*

(ที่มา: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1479045 )

นี่เป็นชิ้นสุดท้ายที่ทำให้การอัพเกรดผ่านไปสำหรับฉัน

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