Cara mengatasi masalah "Rilis file kedaluwarsa" di mirror lokal


61

Saya memiliki mirror lokal (dibuat dengan debmirror), dan ketika saya menjalankan apt-get updatesetelah beberapa hari, saya mendapatkan ini:

E: Release file expired, ignoring file:/home/wena/.repo_bin/dists/sid/Release (invalid since 14h 31min 45s)

Bagaimana saya mengatasinya?


4
Peringatan Keamanan: Pertanyaan ini meminta penyelesaian. Namun lebih baik untuk memperbaiki cermin atau menunjuk ke cermin yang berfungsi. Saya mengubah ke titik di httpredir.debian.org/debian dan mulai bekerja lagi.
ctrl-alt-delor

Beralih ke cermin yang berbeda dan itu akan berhasil.
Patrick Mutwiri

2
Apa yang "lebih baik" tergantung pada apa tujuan Anda. Jika tujuan Anda adalah untuk mendapatkan paket terbaru dari Debian maka mengubah mirror adalah solusi yang tepat. Jika tujuan Anda adalah menggunakan mirror lama yang Anda miliki secara lokal sehingga Anda dapat melanjutkan pekerjaan Anda di mana Internet tidak tersedia atau mahal, maka mematikan cek kadaluwarsa adalah solusi yang tepat. Jika tujuan Anda adalah memperbarui ke versi repo tertentu yang lebih lama karena alasan bug triage, maka sekali lagi mematikan pemeriksaan kedaluwarsa adalah solusi yang tepat.
plugwash

Memang, saya mencapai pesan ini saat menggunakan Arsip Debian untuk sistem Debian Wheezy yang tidak dapat diperbarui.
JucaPirama

Jawaban:


99

Tambahkan ini ke perintah:

-o Acquire::Check-Valid-Until=false

Sebagai contoh:

sudo apt-get -o Acquire::Check-Valid-Until=false update

11
Ini berhasil, tetapi beberapa penjelasan tentang mengapa itu akan berguna.
Faheem Mitha

4
Ini menonaktifkan pemeriksaan yang memverifikasi tanda tangan digital kadaluwarsa, jadi apt juga akan menerima kunci rilis yang sudah kadaluwarsa.
Seringai

6
Peringatan Keamanan: Jawaban ini adalah solusi (seperti yang diminta). Namun lebih baik untuk memperbaiki cermin atau menunjuk ke cermin yang berfungsi. Saya mengubah ke titik di httpredir.debian.org/debian dan mulai bekerja lagi.
ctrl-alt-delor

3
Anda tidak dapat beralih dengan mudah untuk rilis yang sudah usang seperti say debian 6 di mana Anda perlu menggunakan archives.debian.org untuk mendapatkan paket apa pun sekarang
Marcin Orlowski

35

Jika Anda tidak peduli dengan pemeriksaan ini, apa pun mirrornya, buat saja file di /etc/apt/apt.conf.d/(mis. Beri nama 10no--check-valid-until) dan letakkan opsi di sana:

Acquire::Check-Valid-Until "0";

Setelah ini, Anda tidak akan pernah terganggu lagi dengan peringatan yang disebutkan di atas.


1
Meskipun solusi itu sendiri bukan solusi optimal, saya memiliki kotak pengembangan yang tidak saya pedulikan, jadi gangguan ini hanya menghalangi saya. Saya dapat menggunakan jawaban ini dengan Ansible karena saya tidak dapat menemukan cara untuk menambahkan jawaban yang diterima ke modul tindakan saat menggunakan ansible_pkg_mgr.
jia103

1
satu perintah:echo "Acquire::Check-Valid-Until false;" | tee -a /etc/apt/apt.conf.d/10-nocheckvalid
rubo77

11

File rilis memiliki entri valid-hingga, mis Valid-Until: Thu, 07 Oct 2010 08:17:56 UTC

Jika file rilis tidak valid lagi, Anda harus menjalankan debmirror lagi untuk memeriksa apakah ada perubahan dalam repositori. Satu perubahan akan menjadi file rilis dan Anda akan mendapatkan validitas baru untuk itu.

Anda dapat dengan mudah mengotomatisasi ini dengan entri crontab.


Terima kasih untuk yang itu. Saya seharusnya melihat ke dalam file itu sebelum bertanya. Anehnya, apakah ini hal baru? Itu tidak terjadi sebelumnya (tapi sekali).
tshepang

Saya tidak menggunakan debian benar-benar sering saat ini, tapi mungkin mereka hanya mengubah siklus file rilis ke tanggal yang lebih pendek ...
echox

3

Beberapa cermin di luar sana mungkin memiliki file basi. Ini terjadi pada saya baru-baru ini, dan itu juga terkait dengan server caching yang saya gunakan (apt-cacher-ng) yang mencoba untuk menghemat bandwidth dengan mengarahkan repositori untuk arsip yang sama ke satu entitas (dalam kasus saya jika ada Cermin Hongaria). Pembaruan langsung melalui mirror Jerman berfungsi dengan baik, misalnya. Coba ubah cermin yang Anda gunakan. Jika Anda menggunakan apt-cacher-ng, Anda harus melakukan sesuatu sejalan mengubah isi file berikut:

  • / etc / apt-cacher-ng / backends_debian
  • / etc / apt-cacher-ng / backends_debvol

Setelah itu, Anda juga harus memulai kembali apt-cacher-ng agar perubahan diterapkan.


Perhatikan bahwa saya meminta solusi, bukan mengapa ini terjadi (jawaban yang bagus). Dalam hal ini saya, secara sadar, memiliki gudang yang sudah basi.
tshepang

3

Ini juga dapat terjadi jika tanggal / waktu sistem Anda salah. Saya memperbaikinya dengan memperbaiki waktu setempat saya sebelum melakukan pembaruan.


@AnthonyGeoghegan Ini cocok untuk saya. Ini adalah satu-satunya hal yang berhasil pada akhirnya.
Martin Vseticka

1
@MartinVseticka Anda benar. Saya membuat komentar itu ketika saya menemukan jawaban ini di salah satu antrian peninjauan setelah sistem memberi tanda moderasi. Kata-kata aslinya (sebelum Michael mengeditnya) jauh lebih tidak berguna.
Anthony G - keadilan untuk Monica

2

Tidak yakin apakah ini terkait dengan masalah Jessie saat ini ( https://lists.debian.org/debian-devel-announce/2019/03/msg00006.html ) atau tidak. tetapi bagi yang mendapat error yang sama bahkan sudah digunakan

sudo apt-get -o Acquire::Check-Valid-Until=false update

dan masih terjadi masalah yang sama, bisa coba ini sebagai gantinya

echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until

Ini bekerja untuk saya :)


0

Saya dihapus /var/lib/apt/*dan jalankan kembali apt-get update, dan itu berhasil!


Saya melakukan itu untuk kesalahan yang sama sekali berbeda, dan itu berhasil untuk kesalahan itu. Kesalahan ini sama sekali tidak relevan.
ambil

0

Cermin mungkin tidak kedaluwarsa.

Sebaliknya sesuatu yang lain di sistem Anda mungkin kacau. Coba ini:


1) Untuk sementara mengomentari baris terkait dari /etc/apt/sources.list, atau /etc/apt/source.list.d/*. Sebagai contoh setelah saya berkomentar dua baris berikut, kesalahan saya hilang, (dengan konsekuensi bahwa arsip ini sementara tidak digunakan untuk memuat ulang):

deb http://security.debian.org/ stretch/updates non-free contrib main
deb http://mirrors.ocf.berkeley.edu/debian/ stretch-updates main contrib non-free

2) Buka sinaptik dan muat ulang, atau mungkin sudo apt-get updatejuga akan berfungsi.

3) Komentari baris ini kembali.

4) Ulangi langkah 2.


Memperbaiki ini untuk saya. Saya menduga cache apt saya mendapat tanggal yang buruk di dalamnya.

Masalah saya terjadi setelah mengembalikan sistem file / / (root) dan / var saya dari snapshot btrfs untuk membantu memperbaiki masalah instalasi paket yang terjadi. Pesan kesalahan yang saya terima adalah:

File rilis untuk http://mirrors.ocf.berkeley.edu/debian/dists/stretch-updates/InRelease telah kedaluwarsa (tidak valid sejak 5d 4j 50 menit 18dt). Pembaruan untuk repositori ini tidak akan diterapkan. File rilis untuk http://security.debian.org/dists/stretch/updates/InRelease telah kedaluwarsa (tidak valid sejak 2h 2h 52menit 43s). Pembaruan untuk repositori ini tidak akan diterapkan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.