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 /
ie BE1DB1F1
dalam hal ini.
Untuk memperbarui kunci, jalankan
sudo apt-key adv --recv-keys --keyserver keys.gnupg.net BE1DB1F1
Catatan: Memperbarui kunci jelas tidak akan berfungsi 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 yang 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
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
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 kadang-kadang terjadi. Yang benar-benar Anda butuhkan adalah mengetahui kode heks dari kunci yang perlu Anda tambahkan; setelah Anda memilikinya, cukup jauh dari sana.
Beberapa contoh:
menambahkan kunci untuk backport : beberapa baris pertama adalah yang Anda cari, meskipun Anda harus memiliki kunci yang diinginkan.
menambahkan kunci ala Ubuntu
sumber
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
sumber
Pada Wiki Debian 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.
sumber
Itu mungkin juga terjadi ketika tanggal tidak benar.
Periksa tanggal dengan
Jika salah konfigurasi, lakukan hal berikut untuk mengatur zona waktu dan sinkronisasi otomatis tanggal Anda.
sumber
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 kedaluwarsa, cukup perpanjang masa pakainya daripada mengubahnya, dan jika Anda menginstal kunci asli menggunakan preseeding tetapi kunci yang diperbarui menggunakan paket deb, maka kunci lama akan ada
/etc/apt/trusted.gpg
, sedangkan yang baru berakhir sebagai file terpisah di bawah/etc/apt/trusted.gpg.d/
. Kunci lama akan membayangi yang baru, yang akan sepenuhnya diabaikan olehapt-key
. Hapus kunci lama dengan menjalankangpg --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.
sumber
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 .)sumber
Anda tidak perlu melakukan apa pun. Ini hanya peringatan, Anda bisa melihatnya dari
W:
awalan.sumber