Tại sao bản cập nhật apt-get bảo tôi chạy bản cập nhật apt-get?


10

Vì vậy, tôi có điều này đang diễn ra:

# apt-get update
Get:1 http://ftp.us.debian.org etch Release.gpg [1032B]                     
Hit http://ftp.us.debian.org etch Release                                        
(...bunch more of this elided...)
Hit http://ftp.us.debian.org etch/contrib Sources
Fetched 68.8kB in 1s (37.4kB/s)
Reading package lists... Done
W: There is no public key available for the following key IDs:
9AA38DCD55BE302B
W: GPG error: http://ftp.us.debian.org etch Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9AA38DCD55BE302B
W: You may want to run apt-get update to correct these problems

Rõ ràng tôi không thể chạy apt-get updatevì một vấn đề apt-getmuốn tôi chạy apt-get updateđể khắc phục, điều này gây khó chịu. Làm thế nào để tôi sửa điều này?

Câu trả lời:


16

Hãy thử làm điều này và chạy apt-get lại:

apt-key update

apt-key là một chương trình được sử dụng để quản lý khóa phím gpg để bảo mật apt. Khóa được giữ trong tệp /etc/apt/trusty.gpg (không bị nhầm lẫn với /etc/apt/trustdb.gpg liên quan nhưng không thú vị lắm). khóa apt có thể được sử dụng để hiển thị các phím trong quá trình khóa và để thêm hoặc xóa khóa.

Thông tin thêm về wiki Debian: http://wiki.debian.org/SecureApt

Nếu điều đó không hiệu quả, hãy thử:

gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 9AA38DCD55BE302B
apt-key add /root/.gnupg/pubring.gpg
apt-get update 

Thử nó; không thay đổi. :(
hỗn loạn

5
Cập nhật khóa apt chỉ làm một cái gì đó nếu gói debian-archive-keyring được cài đặt. Nói chung, không cần thiết, gói cài đặt sẽ tự động cập nhật khóa của APT. Gợi ý thứ hai không an toàn lắm vì bạn không xác minh rằng khóa thuộc về dự án Debian. Bạn thực sự nên kiểm tra chữ ký của nó trước khi kích hoạt nó. Hơn nữa, việc thêm toàn bộ khóa là không tốt, bạn chỉ muốn khóa mới được tải xuống vì vậy, gpg --export 9AA38DCD55BE302B | tiện ích bổ sung apt-key sẽ tốt hơn ...
Raphaël Hertzog

12

hoặc làm sudo apt-get install debian-archive-keyringtrước.

sau đó bạn có thể tiếp tục một bình thường


Điều này đã giải quyết vấn đề cho tôi trên một máy chủ Etch cổ đại, với các định nghĩa kho lưu trữ trỏ đến archive.debian.org/debian
Amos Shapira

Có thể xác nhận điều này hoạt động trên etch cũ trên ppc
Ross W

6

Để đảm bảo nguồn gốc của gói mà bạn tải xuống, APT sẽ muốn xác minh chữ ký của tệp Phát hành. Nếu nó không thể xác minh nó, nó sẽ khiếu nại với tin nhắn mà bạn đã thấy. Trong trường hợp đó, bạn phải cài đặt khóa GPG tương ứng để APT có thể xác minh tệp đúng. Thật không may, bạn không nên mù quáng tải xuống bất kỳ khóa nào vì bạn thực sự muốn chỉ cho phép các khóa đáng tin cậy thuộc sở hữu của chủ sở hữu kho lưu trữ. Do đó, bạn phải tải xuống theo cách đảm bảo nguồn gốc của nó và chỉ cần tải xuống gpg --recv-keymà không đảm bảo điều đó.

Cài đặt một khóa mới được thực hiện với apt-key add <key-file>. Hầu hết các kho lưu trữ không chính thức cung cấp cho bạn khóa trên trang web của họ và cung cấp cho bạn các hướng dẫn như thế này (tất nhiên là URL khác nhau):

wget -O - http://ftp-master.debian.org/keys/archive-key-5.0.asc | sudo apt-key add -

Trong trường hợp máy nhân bản Debian chính thức, bạn sẽ tự động cài đặt khóa bên phải, nó được chứa trong gói debian-archive-keyringvà cấu hình của nó sẽ tự động kích hoạt các khóa. Vì vậy, đảm bảo bạn đã cài đặt nó và đảm bảo cập nhật:

apt-get install debian-archive-keyring

Nếu bạn không tin vào gương của mình, bạn cũng chỉ có thể cài đặt nó sau khi đã cài đặt đúng khóa với phương pháp trước đó, tôi thực sự đã đưa URL của khóa chính thức mà bạn cần.

Để biết thêm thông tin về cách xử lý Khóa lưu trữ Debian, bạn có thể kiểm tra http://ftp-master.debian.org/keys.html .


3

Tôi gặp vấn đề tương tự trên Juanty 9.04 64 bit. Đã thử một số gợi ý nhưng điều này đã làm được mẹo:

wget -O - http://ftp-master.debian.org/keys/archive-key-5.0.asc | sudo apt-key add -

Việc làm:

sudo apt-get cập nhật

Cảm ơn

Quạt


2

Tôi gặp vấn đề này do một proxy trong suốt cung cấp cho tôi phiên bản cũ của khóa GPG, tôi đã giải quyết nó bằng cách sử dụng wget để buộc proxy để có phiên bản mới, ví dụ:

wget --no-cache -O /tmp/Z http://security.debian.org/dists/lenny/updates/Release.gpg
wget --no-cache -O /tmp/Z2 http://security.debian.org/dists/lenny/updates/Release

vì vậy tôi hy vọng rằng trong trường hợp của bạn, các lệnh sau sẽ giải quyết nó: -

wget --no-cache -O /tmp/Z http://ftp.us.debian.org/dists/etch/Release.gpg
wget --no-cache -O /tmp/Z2 http://ftp.us.debian.org/dists/etch/Release

Rõ ràng là chúng ta đã đi quá xa Etch rằng điều này không còn nữa, nhưng tôi đang ghi lại nó ở đây trong trường hợp nó giúp được ai đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.