로컬 미러에서 "릴리즈 파일 만료"문제를 해결하는 방법


59

나는 로컬 미러 (debmirror로 생성)를 가지고 있으며 apt-get update며칠 후에 달릴 때 이것을 얻습니다.

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

그 문제를 어떻게 해결합니까?


4
보안 경고 :이 질문은 해결 방법을 요구합니다. 그러나 미러를 수정하거나 작동하는 미러를 가리키는 것이 좋습니다. 나는 httpredir.debian.org/debian 을 가리 키도록 변경 했으며 다시 작동하기 시작했습니다.
ctrl-alt-delor 7

다른 미러로 전환하면 작동합니다.
Patrick Mutwiri

2
"더 나은"것은 목표가 무엇인지에 달려 있습니다. 데비안에서 최신 패키지를 얻는 것이 목표라면 거울을 바꾸는 것이 올바른 해결책입니다. 인터넷을 사용할 수 없거나 비용이 많이 드는 작업에 착수 할 수 있도록 로컬에있는 이전 미러를 사용하는 것이 만료 확인을 끄는 것이 올바른 솔루션입니다. 버그 심사를 위해 특정 이전 버전의 repo로 업데이트하는 것이 목적이라면 만료 확인을 다시 끄는 것이 올바른 해결책입니다.
plugwash

사실, 업데이트 할 수없는 데비안 Wheezy 시스템에 데비안 아카이브를 사용하는 동안이 메시지에 도달했습니다.
JucaPirama

답변:


98

이것을 명령에 추가하십시오 :

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

예를 들면 다음과 같습니다.

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

11
이것은 효과가 있었지만 그것이 왜 유용한 지에 대한 설명입니다.
Faheem Mitha

4
이렇게하면 만료 된 디지털 서명을 확인하는 검사가 비활성화되므로 apt는 이전 및 만료 된 릴리스 키도 허용합니다.
미소

6
보안 경고 :이 답변은 필요한 경우 해결 방법입니다. 그러나 미러를 수정하거나 작동하는 미러를 가리키는 것이 좋습니다. 나는 httpredir.debian.org/debian 을 가리 키도록 변경 했으며 다시 작동하기 시작했습니다.
ctrl-alt-delor

3
당신은 당신이 지금 어떤 패키지를 얻을 수 archives.debian.org를 사용할 필요가 말 데비안 (6)과 같은 이미 사용되지 않는 릴리스 그렇게 쉽게 전환 할 수 없습니다
마르신 ORLOWSKI에게

35

이 검사에 신경 쓰지 않는다면 어떤 미러에 관계없이 파일을 만들고 /etc/apt/apt.conf.d/(예를 들어 이름을 지정하십시오 10no--check-valid-until) 옵션을 직접 거기에 넣으십시오.

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

그 후에는 언급 한 경고로 다시는 신경 쓰지 않을 것입니다.


1
해결 방법 자체가 최적의 솔루션은 아니지만 걱정하지 않는 개발 상자가 있으므로이 성가심은 단순히 방해가됩니다. ansible_pkg_mgr을 사용할 때 승인 된 답변을 작업 모듈에 추가 할 수있는 방법을 찾을 수 없으므로이 답변을 Ansible과 함께 사용할 수있었습니다.
jia103

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

11

릴리스 파일에는 유효한 항목이 있습니다. 예 : Valid-Until: Thu, 07 Oct 2010 08:17:56 UTC

릴리스 파일이 더 이상 유효하지 않으면 debmirror를 다시 실행하여 저장소에 변경 사항이 있는지 확인해야합니다. 한 가지 변경 사항이 릴리스 파일이되며 새로운 유효성을 얻게됩니다.

crontab 항목으로이를 쉽게 자동화 할 수 있습니다.


그거 고마워 묻기 전에 해당 파일을 살펴 봐야했습니다. 흥미롭게도 이것이 새로운 것입니까? 이전에는 발생하지 않았지만 한 번만 발생했습니다.
tshepang

필자는 현재 데비안을 자주 사용하지는 않지만 릴리스 파일주기를 더 짧은 날짜로 변경했을뿐입니다.
echox

3

일부 미러에는 오래된 파일이있을 수 있습니다. 이것은 최근에 나에게 일어 났으며 동일한 아카이브의 리포지토리를 단일 엔터티로 리디렉션하여 대역폭을 절약하려고하는 (apt-cacher-ng) 캐싱 서버에도 연결되었습니다 (내 경우에는 헝가리 거울). 예를 들어 독일어 미러를 통한 직접 업데이트는 정상적으로 작동했습니다. 사용중인 미러를 변경해보십시오. apt-cacher-ng를 사용하는 경우 다음 파일의 내용을 변경하는 작업을 수행해야합니다.

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

그런 다음 변경 사항을 적용하려면 apt-cacher-ng도 다시 시작해야합니다.


왜 이런 일이 일어나지 않았는지 (해결책은 아닙니다) 해결 방법을 요청했습니다. 이 경우 고의로 오래된 저장소가있었습니다.
tshepang

3

시스템 날짜 / 시간이 잘못된 경우에도 발생할 수 있습니다. 업데이트를 수행하기 전에 현지 시간을 수정하여 문제를 해결했습니다.


@AnthonyGeoghegan 그것은 나를 위해 않습니다. 이것이 결국 효과가 있었던 유일한 것입니다.
Martin Vseticka

1
@MartinVseticka 당신이 맞아요. 시스템이 검토를 위해 플래그를 지정한 후 검토 대기열 중 하나 에서이 답변을 발견했을 때 그 의견을 말했습니다. Michael이 편집하기 전의 원래 문구는 그다지 유용하지 않았습니다.
Anthony G-

1

Jessie 현재 문제 ( https://lists.debian.org/debian-devel-announce/2019/03/msg00006.html ) 와 관련이 있는지 확실 하지 않습니다. 그러나 이미 사용 된 것과 동일한 오류가 발생했습니다.

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

여전히 같은 문제가 발생했습니다. 대신 시도해보십시오.

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

그것은 나를 위해 작동합니다 :)


0

제거 /var/lib/apt/*하고 다시 실행 apt-get update하면 작동합니다!


나는 완전히 다른 오류에 대해 그렇게하고 그 오류에 대해 작동합니다. 이 오류는 전혀 관련이 없습니다.
17시

0

미러가 만료되지 않았을 수 있습니다.

오히려 시스템의 다른 것이 엉망이 될 수 있습니다. 이 시도:


1) from /etc/apt/sources.list또는 에서 관련 행을 일시적으로 주석 처리하십시오 /etc/apt/source.list.d/*. 예를 들어 다음 두 줄을 주석 처리 한 후 오류가 사라졌습니다 (결과적으로 이러한 아카이브는 다시로드에 사용되지 않았습니다).

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) 시냅틱을 열고 다시로드하거나 아마도 sudo apt-get update작동합니다.

3)이 줄을 다시 주석 처리하십시오.

4) 2 단계를 반복하십시오.


나를 위해 이것을 고쳤다. 내 apt 캐시에 나쁜 날짜가 있다고 생각합니다.

btrfs 스냅 샷에서 / (루트) 및 / var 파일 시스템을 복원 한 후 발생한 패키지 설치 문제를 해결하는 데 문제가 발생했습니다. 내가 얻은 정확한 오류 메시지는 다음과 같습니다.

http://mirrors.ocf.berkeley.edu/debian/dists/stretch-updates/InRelease의 릴리스 파일 이 만료되었습니다 (5d 4 시간 50 분 18 초 이후 유효하지 않음). 이 저장소에 대한 업데이트는 적용되지 않습니다. http://security.debian.org/dists/stretch/updates/InRelease의 릴리스 파일 이 만료되었습니다 (2d 2 시간 52 분 43 초 이후 유효하지 않음). 이 저장소에 대한 업데이트는 적용되지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.