pengembangan-web-mp-pd.com

Apa yang harus saya lakukan ketika saya mendapatkan pesan kesalahan KEYEXPIRED setelah pembaruan apt-get?

Saat memperbarui paket saya pada sistem berbasis debian oleh a

Sudo apt-get update

Saya mendapat pesan kesalahan itu:

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

Apa yang harus saya lakukan untuk memperbaikinya?

74
paulgreg

Pada Debian Wiki tentang SecureAPT , saya menemukan bahwa saya harus menghapus baris yang mengandung non-us dari /etc/apt/sources.list.

Saya benar-benar melakukan itu dan itu berhasil.

1
paulgreg

Untuk menemukan kunci repositori yang sudah kadaluwarsa dan ID-nya, gunakan apt-key sebagai berikut:

LANG=C apt-key list | grep expired

Anda akan mendapatkan hasil yang serupa dengan yang berikut:

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

ID kunci adalah bit setelah / yaitu _ BE1DB1F1 pada kasus ini.

Untuk memperbarui kunci, jalankan

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

Catatan: Memperbarui kunci jelas akan tidak bekerja jika pengelola paket belum (belum) mengunggah kunci baru. Dalam hal ini ada sedikit yang dapat Anda lakukan selain menghubungi pengelola, mengajukan bug terhadap distribusi Anda dll.

Satu liner untuk memperbarui semua kunci kadaluarsa: (terima kasih kepada @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
118
kynan

Anda perlu mendapatkan kunci yang lebih baru dan menambahkannya, pada saat itu apt akan mendeteksi dan tidak mengeluh. Ini seharusnya tidak terjadi secara normal, tetapi terkadang memang demikian. Yang benar-benar Anda butuhkan adalah mengetahui kode heks dari kunci yang perlu Anda tambahkan; setelah Anda memilikinya, cukup jauh dari sana.

Beberapa contoh:

6
Avery Payne

Saya memiliki kesalahan yang sama, tetapi masalah ada dalam waktu sistem. Tahun itu 1961 :)

Saya mengoreksi tanggal/waktu sistem dan setelah itu dapat memperbarui tanpa pro

2
slava

Itu mungkin juga terjadi ketika tanggal tidak benar.

Periksa tanggal dengan

date

Jika salah konfigurasi, lakukan hal berikut untuk mengatur zona waktu dan sinkronisasi otomatis tanggal Anda.

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

Salah satu penyebab yang sangat tidak mungkin, tetapi kadang-kadang mungkin, untuk kesalahan ini adalah jika telah menambahkan kunci yang sama dua kali dengan tanggal kedaluwarsa yang berbeda. Anda mungkin tahu telah melakukannya agar jawaban ini relevan bagi Anda.

Ini bisa terjadi, seperti yang terjadi pada saya, ketika hosting repositori Anda sendiri dengan kunci Anda sendiri. Jika Anda, ketika kunci akan kadaluwarsa, cukup perpanjang masa pakainya daripada mengubahnya, dan jika Anda menginstal kunci asli menggunakan preseeding tetapi kunci yang diperbarui menggunakan paket deb, maka kunci yang lama akan berada di /etc/apt/trusted.gpg, sementara yang baru berakhir sebagai file terpisah di bawah /etc/apt/trusted.gpg.d/. Kunci lama akan membayangi yang baru, yang akan sepenuhnya diabaikan oleh apt-key. Hapus kunci lama dengan menjalankan gpg --keyring /etc/trusted.gpg --delete-keys <keyid>, dan kunci baru Anda akan terdeteksi.

Ini sedikit konfigurasi sudut non-standar, tapi saya harap jawaban saya dapat menyimpan beberapa kebingungan jika ada orang lain yang mengalami masalah ini karena alasan yang sama seperti yang saya lakukan.

1
sampi

Oneliner yang lebih sederhana:

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

Saya hanya merasa bahwa jika Anda melakukan hal-hal seperti menggunakan cut lebih dari sekali, ada alat yang lebih baik. (Juga, saya membuat ini berdasarkan pertanyaan yang berbeda .)

1
Bruno Bronosky

Anda tidak harus melakukan apa pun. Itu hanya peringatan, Anda bisa melihatnya dari W: awalan.

0
Michael Franzl