Come aggirare il problema "Rilascio file scaduto" su un mirror locale


61

Ho un mirror locale (creato con debmirror) e quando corro apt-get updatedopo alcuni giorni, ottengo questo:

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

Come aggirarlo?


4
Avviso di sicurezza: questa domanda richiede una soluzione. Tuttavia è meglio riparare il mirror o puntare a uno funzionante. Sono passato a httpredir.debian.org/debian e ho ricominciato a funzionare.
ctrl-alt-delor,

Passa a un altro mirror e funzionerà.
Patrick Mutwiri,

2
Ciò che è "migliore" dipende da quali sono i tuoi obiettivi. Se il tuo obiettivo è quello di ottenere gli ultimi pacchetti da Debian, cambiare mirror è la soluzione giusta. Se il tuo obiettivo è quello di utilizzare il vecchio mirror che hai localmente in modo da poter andare avanti con il tuo lavoro dove Internet non è disponibile o costoso, disattivare il controllo di scadenza è la soluzione giusta. Se il tuo obiettivo è aggiornare a una versione precedente specifica del repository per motivi di bug triage, disattivare nuovamente il controllo di scadenza è la soluzione giusta.
lavaggio:

In effetti, ho raggiunto questo messaggio mentre usavo Debian Archive per un sistema Debian Wheezy che non può essere aggiornato.
JucaPirama,

Risposte:


99

Aggiungi questo al comando:

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

Per esempio:

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

11
Questo ha funzionato, ma alcune spiegazioni del perché sarebbe stato utile.
Faheem Mitha,

4
Questo disattiva il controllo che verifica le firme digitali scadute, quindi apt accetterà anche le chiavi di rilascio vecchie e scadute.
sorridi

6
Avviso di sicurezza: questa risposta è una soluzione (come richiesto). Tuttavia è meglio riparare il mirror o puntare a uno funzionante. Sono passato a httpredir.debian.org/debian e ho ricominciato a funzionare.
ctrl-alt-delor,

3
non è possibile passare facilmente a versioni già deprecate come dire debian 6 dove è necessario utilizzare archives.debian.org per ottenere subito i pacchetti
Marcin Orlowski,

35

Se non ti interessa questo controllo, non importa per quale mirror, crea un file /etc/apt/apt.conf.d/(es. Nominalo 10no--check-valid-until) e inserisci l'opzione direttamente lì:

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

Dopo questo, non sarai mai più disturbato dall'avvertimento menzionato.


1
Sebbene la soluzione alternativa in sé non sia la soluzione ottimale, ho una scatola di sviluppo che non mi interessa, quindi questo fastidio si mette semplicemente sulla mia strada. Sono stato in grado di utilizzare questa risposta con Ansible poiché non riesco a trovare alcun modo per aggiungere la risposta accettata al modulo di azione quando si utilizza ansible_pkg_mgr.
jia103,

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

11

I file di rilascio hanno una voce valida fino ad es Valid-Until: Thu, 07 Oct 2010 08:17:56 UTC

Se il file di rilascio non è più valido, è necessario eseguire nuovamente debmirror per verificare se sono presenti modifiche nel repository. Una modifica sarà il file di rilascio e otterrai una nuova validità per esso.

Si potrebbe facilmente automatizzare questo con una voce crontab.


Grazie per quello. Avrei dovuto guardare dentro quel file prima di chiedere. Curiosamente, questa è una novità? Non è successo prima (ma una volta).
Tshepang,

Al momento non uso Debian molto spesso, ma forse hanno appena cambiato i cicli del file di rilascio in una data più breve ...
echox

3

Alcuni dei mirror là fuori potrebbero avere file non aggiornati. Questo mi è successo di recente, ed era anche legato al server di cache che sto usando (apt-cacher-ng) che cerca di risparmiare larghezza di banda reindirizzando i repository per lo stesso archivio su una singola entità (nel mio caso se fosse un Specchio ungherese). Gli aggiornamenti diretti tramite il mirror tedesco hanno funzionato bene, ad esempio. Prova a cambiare il mirror che stai utilizzando. Nel caso in cui stai usando apt-cacher-ng, dovrai fare qualcosa in linea con la modifica del contenuto del seguente file:

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

Dopodiché dovresti anche riavviare apt-cacher-ng per rendere effettive le modifiche.


Nota che stavo chiedendo una soluzione alternativa, non il motivo per cui ciò stava accadendo (buona risposta però). In questo caso, consapevolmente, avevo un repository stantio.
Tshepang,

3

Questo può accadere anche se la data / ora del sistema è errata. L'ho corretto correggendo l'ora locale prima di eseguire l'aggiornamento.


@AnthonyGeoghegan Lo fa per me. Questa è l'unica cosa che ha funzionato alla fine.
Martin Vseticka,

1
@MartinVseticka Hai ragione. Ho fatto quel commento quando mi sono imbattuto in questa risposta in una delle code di revisione dopo che il sistema l'ha contrassegnata per moderazione. La formulazione originale (prima che Michael la modificasse) era molto meno utile.
Anthony G - giustizia per Monica,

2

Non sono sicuro che sia correlato al problema attuale di Jessie ( https://lists.debian.org/debian-devel-announce/2019/03/msg00006.html ) oppure no. ma per quelli ha ottenuto lo stesso errore anche già utilizzato

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

e si è ancora verificato lo stesso problema, puoi provare questo

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

Per me funziona :)


0

Ho rimosso /var/lib/apt/*e rieseguito apt-get update, e funziona!


Lo faccio per un errore completamente diverso, e funziona per quello. Questo errore è completamente irrilevante.
scarica il

0

Il mirror potrebbe non essere scaduto.

Piuttosto qualcos'altro sul tuo sistema potrebbe essere incasinato. Prova questo:


1) Commenta temporaneamente le righe correlate da /etc/apt/sources.list, o /etc/apt/source.list.d/*. Ad esempio, dopo aver commentato le due righe seguenti, il mio errore è scomparso (con la conseguenza che questi archivi non sono stati temporaneamente utilizzati per le ricariche):

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) Apri sinaptico e ricarica, o probabilmente sudo apt-get updatefunzionerebbe anche.

3) Commenta queste righe.

4) Ripetere il passaggio 2.


Risolto questo per me. Immagino che la mia cache apt abbia una brutta data.

Il mio problema si è verificato dopo aver ripristinato i filesystem / / (root) e / var dalle istantanee di btrfs per aiutare a risolvere un problema di installazione del pacchetto che si è verificato. Il messaggio di errore esatto che stavo ricevendo era:

Il file di rilascio per http://mirrors.ocf.berkeley.edu/debian/dists/stretch-updates/InRelease è scaduto (non valido da 5d 4h 50min 18s). Gli aggiornamenti per questo repository non verranno applicati. Il file di rilascio per http://security.debian.org/dists/stretch/updates/InRelease è scaduto (non valido da 2d 2h 52min 43s). Gli aggiornamenti per questo repository non verranno applicati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.