Comment faire pour contourner le problème de «Publication du fichier expiré» sur un miroir local


61

J'ai un miroir local (créé avec debmirror), et quand je cours apt-get updateaprès quelques jours, j'obtiens ceci:

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

Comment est-ce que je travaille autour de ça?


4
Avertissement de sécurité: Cette question demande un travail de contournement. Cependant, il est préférable de fixer le miroir ou de le pointer vers un autre J'ai changé pour indiquer httpredir.debian.org/debian et cela a recommencé à fonctionner.
ctrl-alt-delor

Passez à un autre miroir et ça va marcher.
Patrick Mutwiri

2
Ce qui est "meilleur" dépend de vos objectifs. Si votre objectif est d’obtenir les derniers paquets de Debian, alors changer de miroir est la bonne solution. Si votre objectif consiste à utiliser votre ancien miroir local, vous pouvez ainsi continuer à travailler lorsque Internet est indisponible ou coûteux, puis désactiver le contrôle d'expiration est la bonne solution. Si votre objectif est de mettre à jour une ancienne version spécifique du référentiel pour des raisons de tri des bogues, alors, désactiver à nouveau le contrôle d'expiration est la bonne solution.
plugwash

En effet, j’ai atteint ce message en utilisant Archive Debian pour un système Debian Wheezy qui ne peut pas être mis à jour.
JucaPirama

Réponses:


99

Ajoutez ceci à la commande:

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

Par exemple:

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

11
Cela a fonctionné, mais une explication de son utilité serait utile.
Faheem Mitha

4
Ceci désactive le contrôle qui vérifie les signatures numériques expirées, ainsi apt acceptera également les clés de version anciennes et expirées.
sourire

6
Avertissement de sécurité: Cette réponse est un moyen de contourner le problème (comme demandé). Cependant, il est préférable de réparer le miroir ou de le placer sur un miroir en état de marche. J'ai changé pour indiquer httpredir.debian.org/debian et cela a recommencé à fonctionner.
ctrl-alt-delor

3
vous ne pouvez pas basculer aussi facilement vers des versions déjà dépréciées, comme par exemple debian 6, où vous devez utiliser archives.debian.org pour obtenir les paquets immédiatement
Marcin Orlowski

Ne fonctionne pas avec Raspbian 10.
Yanick Rochon Il y a

35

Si vous ne vous souciez pas de cette vérification, quel que soit le miroir, créez simplement un fichier /etc/apt/apt.conf.d/(par exemple, nommez-le 10no--check-valid-until) et placez-y directement l'option:

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

Après cela, vous ne serez plus jamais dérangé par l'avertissement mentionné.


1
Bien que la solution de contournement elle-même ne soit pas la solution optimale, j'ai une boîte de développement qui ne me dérange pas, alors cette gêne me gêne tout simplement. J'ai pu utiliser cette réponse avec Ansible car je ne trouve aucun moyen d'ajouter la réponse acceptée au module d'action lorsque j'utilise ansible_pkg_mgr.
Jia103

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

11

Les fichiers de version ont une entrée valide jusqu'à ce que, par exemple Valid-Until: Thu, 07 Oct 2010 08:17:56 UTC

Si le fichier de version n'est plus valide, vous devez réexécuter debmirror pour vérifier s'il y a des modifications dans le référentiel. Une modification sera le fichier de version et vous obtiendrez une nouvelle validité.

Vous pouvez facilement automatiser cela avec une entrée crontab.


Merci pour celui-là. J'aurais dû regarder à l'intérieur de ce fichier avant de demander. Curieusement cependant, est-ce une chose nouvelle? Cela n'est pas arrivé avant (mais une fois).
Tshepang

Je n'utilise pas très souvent debian pour le moment, mais peut-être ont-ils simplement changé les cycles de fichier de version pour une date plus courte ...
echox

3

Certains des miroirs peuvent contenir des fichiers périmés. C’est ce qui m’est arrivé récemment, lié au serveur de mise en cache que j’utilise (apt-cacher-ng), qui tente de gagner de la bande passante en redirigeant les référentiels de la même archive vers une seule entité (dans mon cas, si Miroir hongrois). Les mises à jour directes via le miroir allemand ont bien fonctionné, par exemple. Essayez de changer le miroir que vous utilisez. Si vous utilisez apt-cacher-ng, vous devez modifier le contenu du fichier suivant:

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

Après cela, vous devrez également redémarrer apt-cacher-ng pour que les modifications prennent effet.


Notez que je demandais une solution de contournement, pas pourquoi cela se produisait (bonne réponse cependant). Dans ce cas, j'avais, en toute connaissance de cause, un référentiel obsolète.
Tshepang

3

Cela peut également se produire si la date / heure de votre système est erronée. Je l'ai corrigé en corrigeant mon heure locale avant de faire la mise à jour.


@ AnthonyGeoghegan Cela me convient. C'est la seule chose qui a fonctionné à la fin.
Martin Vseticka le

1
@ MartinVseticka Vous avez raison. J'ai fait ce commentaire lorsque je suis tombé sur cette réponse dans l'une des files d'attente de vérification après que le système l'ait signalée pour modération. Le libellé original (avant que Michael l'édite) était beaucoup moins utile.
Anthony G - justice pour Monica le

2

Je ne sais pas s'il est lié au numéro actuel de Jessie ( https://lists.debian.org/debian-devel-announce/2019/03/msg00006.html ) ou non. mais pour ceux qui ont la même erreur, même déjà utilisé

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

et toujours eu un même problème, peut essayer cela à la place

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

Ça marche pour moi :)


Ne fonctionne pas avec Raspbian 10 ....
Yanick Rochon Il y a

1

J'ai enlevé /var/lib/apt/*et relance apt-get update, et ça marche!


Je le fais pour une erreur complètement différente, et cela fonctionne pour celle-là. Cette erreur est complètement sans importance.
snetch

Erreur stupide .... cela ne fonctionne toujours pas avec Raspbian 10
Yanick Rochon Il y a

0

Le miroir peut ne pas être expiré.

Plutôt, quelque chose d'autre sur votre système pourrait être gâché. Essaye ça:


1) Mettez temporairement en commentaire les lignes en relation de /etc/apt/sources.list, ou /etc/apt/source.list.d/*. Par exemple, après avoir commenté les deux lignes suivantes, mon erreur a disparu (avec pour conséquence que ces archives n'étaient temporairement pas utilisées pour les rechargements):

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) Ouvrez synaptic et reload, ou fonctionneriez probablement sudo apt-get updateaussi.

3) Commentez ces lignes en retour.

4) Répétez l'étape 2.


Correction de cela pour moi. Je suppose que mon cache d'apt a une mauvaise date.

Mon problème est survenu après la restauration de mes systèmes de fichiers / (racine) et / var à partir d'instantanés btrfs afin d'aider à résoudre un problème d'installation de package survenu. Le message d'erreur exact que je recevais était le suivant:

Le fichier de version pour http://mirrors.ocf.berkeley.edu/debian/dists/stretch-updates/InRelease a expiré (invalide depuis 5j 4h 50min 18s). Les mises à jour pour ce référentiel ne seront pas appliquées. Le fichier de version pour http://security.debian.org/dists/stretch/updates/InRelease a expiré (invalide depuis 2j 2h 52min 43s). Les mises à jour pour ce référentiel ne seront pas appliquées.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.