Cách xử lý xung quanh tập tin Phát hành đã hết hạn của vấn đề trên một máy nhân bản cục bộ


59

Tôi có một máy nhân bản địa phương (được tạo bằng debmirror) và khi tôi chạy apt-get updatesau vài ngày, tôi nhận được điều này:

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

Làm thế nào để tôi làm việc xung quanh đó?


4
Cảnh báo bảo mật: Câu hỏi này yêu cầu một công việc xung quanh. Tuy nhiên, tốt hơn là sửa gương hoặc chỉ vào một cái đang hoạt động. Tôi đã thay đổi để trỏ đến omepredir.debian.org/debian và nó bắt đầu hoạt động trở lại.
ctrl-alt-delor

Chuyển sang một gương khác và nó sẽ hoạt động.
Patrick Mutwiri

2
"Tốt hơn" phụ thuộc vào mục tiêu của bạn là gì. Nếu mục tiêu của bạn là có được các gói mới nhất từ ​​Debian thì việc thay đổi máy nhân bản là giải pháp phù hợp. Nếu mục tiêu của bạn là sử dụng chiếc gương cũ mà bạn có tại địa phương để bạn có thể tiếp tục với công việc của mình khi Internet không có sẵn hoặc đắt tiền thì tắt kiểm tra hết hạn là giải pháp phù hợp. Nếu mục tiêu của bạn là cập nhật lên một phiên bản cũ hơn của repo vì lý do xử lý lỗi thì một lần nữa tắt kiểm tra hết hạn là giải pháp phù hợp.
cắm vào

Thật vậy, tôi đã nhận được thông báo này trong khi sử dụng Lưu trữ Debian cho hệ thống Wheezy Debian không thể cập nhật.
JucaPirama

Câu trả lời:


98

Thêm phần này vào lệnh:

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

Ví dụ:

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

11
Điều này đã làm việc, nhưng một số giải thích về lý do tại sao nó sẽ hữu ích.
Faheem Mitha

4
Điều này sẽ hủy kích hoạt kiểm tra xác minh chữ ký số đã hết hạn, do đó apt cũng sẽ chấp nhận các khóa phát hành cũ và hết hạn.
cười toe toét

6
Cảnh báo bảo mật: Câu trả lời này là một công việc xung quanh (như được yêu cầu). Tuy nhiên, tốt hơn là sửa gương hoặc chỉ vào một cái đang hoạt động. Tôi đã thay đổi để trỏ đến omepredir.debian.org/debian và nó bắt đầu hoạt động trở lại.
ctrl-alt-delor

3
bạn không thể chuyển đổi dễ dàng cho các bản phát hành đã bị phản đối như nói debian 6 khi bạn cần sử dụng archives.debian.org để nhận bất kỳ gói nào ngay bây giờ
Marcin Mitchowski

35

Nếu bạn không quan tâm đến kiểm tra này, bất kể là nhân bản nào, chỉ cần tạo một tệp trong /etc/apt/apt.conf.d/(ví dụ: đặt tên cho nó 10no--check-valid-until) và đặt tùy chọn trực tiếp vào đó:

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

Sau này, bạn sẽ không bao giờ bị làm phiền nữa với cảnh báo được đề cập ở tất cả.


1
Mặc dù cách giải quyết không phải là giải pháp tối ưu, tôi có một hộp phát triển mà tôi không quan tâm, vì vậy sự phiền toái này chỉ đơn giản là cản trở tôi. Tôi đã có thể sử dụng câu trả lời này với Ansible vì tôi không thể tìm thấy bất kỳ cách nào để thêm câu trả lời được chấp nhận vào mô-đun hành động khi sử dụng ansible_pkg_mgr.
jia103

1
một lệnh:echo "Acquire::Check-Valid-Until false;" | tee -a /etc/apt/apt.conf.d/10-nocheckvalid
rubo77

11

Các tệp phát hành có mục nhập hợp lệ cho đến khi, ví dụ: Valid-Until: Thu, 07 Oct 2010 08:17:56 UTC

Nếu tệp phát hành không còn hợp lệ nữa, bạn nên chạy lại debmirror để kiểm tra xem có bất kỳ thay đổi nào trong kho lưu trữ không. Một thay đổi sẽ là tệp phát hành và bạn sẽ có được hiệu lực mới cho nó.

Bạn có thể dễ dàng tự động hóa điều này với một mục crontab.


Cảm ơn vì điều đó Tôi nên đã xem bên trong tập tin đó trước khi hỏi. Thật tò mò, đây có phải là một điều mới? Nó đã không xảy ra trước đây (nhưng một lần).
tshepang

Tôi không sử dụng debian thực sự thường xuyên vào lúc này, nhưng có lẽ họ chỉ thay đổi chu kỳ tệp phát hành thành một ngày ngắn hơn ...
echox

3

Một số gương ngoài đó có thể có các tập tin cũ. Điều này đã xảy ra với tôi gần đây và nó cũng được gắn với máy chủ bộ đệm mà tôi đang sử dụng (apt-cacher-ng) cố gắng tiết kiệm băng thông bằng cách chuyển hướng các kho lưu trữ cho cùng một thực thể (trong trường hợp của tôi nếu là Gương Hungary). Cập nhật trực tiếp qua gương Đức làm việc ok, ví dụ. Hãy thử thay đổi gương bạn đang sử dụng. Trong trường hợp bạn đang sử dụng apt-cacher-ng, bạn sẽ cần phải làm gì đó trong dòng thay đổi nội dung của tệp sau:

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

Sau đó, bạn cũng nên khởi động lại apt-cacher-ng để các thay đổi có hiệu lực.


Lưu ý rằng tôi đã yêu cầu một cách giải quyết, không phải tại sao điều này xảy ra (mặc dù câu trả lời tốt). Trong trường hợp này, tôi đã cố ý có một kho lưu trữ cũ.
tshepang

3

Điều này cũng có thể xảy ra nếu ngày / giờ hệ thống của bạn sai. Tôi đã sửa nó bằng cách sửa giờ địa phương trước khi thực hiện cập nhật.


@AnthonyGeoghegan Nó làm cho tôi. Đây là điều duy nhất làm việc cuối cùng.
Martin Vseticka

1
@MartinVseticka Bạn nói đúng. Tôi đã đưa ra nhận xét đó khi tôi bắt gặp câu trả lời này trong một trong những hàng đợi đánh giá sau khi hệ thống đánh dấu nó để kiểm duyệt. Từ ngữ ban đầu (trước khi Michael chỉnh sửa nó) ít hữu ích hơn nhiều.
Anthony G - công lý cho Monica

1

Không chắc chắn liệu nó có liên quan đến vấn đề hiện tại của Jessie hay không ( https://lists.debian.org/debian-devel-announce/2019/03/msg00006.html ) hay không. nhưng đối với những người có cùng một lỗi thậm chí đã được sử dụng

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

và vẫn xảy ra một vấn đề tương tự, có thể thử điều này thay thế

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

Nó làm việc cho tôi :)


0

Tôi loại bỏ /var/lib/apt/*và chạy lại apt-get update, và nó hoạt động!


Tôi làm điều đó cho một lỗi hoàn toàn khác, và nó hoạt động cho lỗi đó. Lỗi này là hoàn toàn không liên quan.
snetch

0

Chiếc gương có thể không hết hạn.

Thay vào đó một cái gì đó khác trên hệ thống của bạn có thể bị rối tung. Thử đi:


1) Tạm thời nhận xét các dòng liên quan từ /etc/apt/sources.list, hoặc /etc/apt/source.list.d/*. Ví dụ: sau khi tôi nhận xét hai dòng sau, lỗi của tôi đã biến mất, (với hậu quả là các tài liệu lưu trữ này tạm thời không được sử dụng để tải lại):

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) Mở synap và tải lại, hoặc có sudo apt-get updatethể cũng sẽ hoạt động.

3) Nhận xét những dòng này trở lại.

4) Lặp lại bước 2.


Đã sửa lỗi này cho tôi. Tôi đoán bộ nhớ cache apt của tôi có một ngày xấu trong đó.

Sự cố của tôi xảy ra sau khi khôi phục hệ thống tập tin / (root) và / var của tôi từ ảnh chụp nhanh btrfs để giúp khắc phục sự cố cài đặt gói xảy ra. Thông báo lỗi chính xác mà tôi nhận được là:

Tập tin phát hành cho http: //mirrors.ocf.ber siêu.edu / debian / dists / stretch-updates / Infease đã hết hạn (không hợp lệ kể từ 5d 4h 50 phút 18 giây). Cập nhật cho kho lưu trữ này sẽ không được áp dụng. Tập tin phát hành cho http://security.debian.org/dists/stretch/updates/InRelease đã hết hạn (không hợp lệ kể từ 2d 2h 52 phút 43s). Cập nhật cho kho lưu trữ này sẽ không được áp dụng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.