it-swarm-korea.com

제시 백 포트 저장소를 가져 오지 못했습니다.

Docker 파일에 jessie backports 저장소를 추가하고 종속성을 설치하는 데 사용하는 자체 개발의 기반으로 도커 이미지를 사용하고 있습니다. 이 이미지는 다음 명령을 사용하여 저장소를 추가합니다.

echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list

문제는 백 포트 리포지토리에서 패키지를 가져 오는 데 이제 다음 오류 (이전에 작동 했음)와 함께 실패한다는 것입니다.

W: Failed to fetch
http://ftp.debian.org/debian/dists/jessie-backports/main/binary-AMD64/Packages
404  Not Found

W: Failed to fetch
http://deb.debian.org/debian/dists/jessie-updates/main/binary-AMD64/Packages
 404  Not Found

나는 그 서버를 보았고 그 경로는 실제로 존재하지 않습니다.

데비안 백 포트 사이트에서이 특정 리포지토리를 계속 사용할 수 있는지 확인하려고했지만 더 이상 사용되지 않는다는 표시를 찾지 못했습니다.

저장소에 일시적인 문제입니까, 아니면 jessie-backports 저장소를 더 이상 사용할 수 없습니까? 그리고 이것이 일시적인 문제가 아닌 경우, 새로운 데비안 안정 버전으로 업그레이드하지 않고이 옵션 또는 이와 동등한 저장소를 사용해야하는 옵션은 무엇입니까?

175
user12345

Wheezy와 Jessie는 최근 미러 네트워크에서 제거되었습니다 따라서 Jessie 백 포트를 계속 가져 오려면 대신 archive.debian.org를 사용해야합니다.

deb [check-valid-until=no] http://archive.debian.org/debian jessie-backports main

(저장소가 더 이상 업데이트되지 않기 때문에 유효성 검사를 비활성화해야합니다. Jessie의 aptcheck-valid-until 플래그를 지원하지 않습니다. 자세한 내용은 inostia 's answer 를 참조하십시오. 이 답변에서 구성 요약을 더 자세히 설명합니다.)

jessie-updates 리포지토리가 제거되었습니다. 모든 업데이트가 기본 리포지토리와 병합되었으며 더 이상 비보안 업데이트가 없습니다. 따라서 jessie-updates 또는 sources.list 파일에서 sources.list.d에 대한 참조를 제거해야합니다. 2020 년 6 월 30 일까지 보안 저장소에서 LTS 지원 아키텍처의 보안 업데이트 계속 제공 .

컨테이너 이미지를 작성하고 있기 때문에 I highly 대신 데비안 9 (스트레치)를 기반으로하는 것이 좋습니다. 데비안 8 (Jessie)을 유지하려면 리포지토리가 다음과 같이 보입니다.

deb http://cdn-fastly.deb.debian.org/debian/ jessie main
deb-src http://cdn-fastly.deb.debian.org/debian/ jessie main

deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main

deb http://archive.debian.org/debian jessie-backports main
deb-src http://archive.debian.org/debian jessie-backports main

(jessie-updates 저장소없이).

또한 /etc/apt/apt.conf에서 유효성 검사를 비활성화해야합니다 (모든 리포지토리에 적용됨).

Acquire::Check-Valid-Until "false";
206
Stephen Kitt

@inostia와 @Stephen Kitt가 제안한 솔루션을 시도한 후에도 여전히 다음과 같은 오류가 발생했습니다.

W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/main/binary-AMD64/Packages  404  Not Found

E: Some index files failed to download. They have been ignored, or old ones used instead.

줄을 제거하여 해결할 수 있음을 알아 냈습니다. deb http://deb.debian.org/debian jessie-updates main에서 /etc/apt/sources.list.

Dockerfile에서 다음 스 니펫으로 끝났습니다.

RUN echo "deb [check-valid-until=no] http://cdn-fastly.deb.debian.org/debian jessie main" > /etc/apt/sources.list.d/jessie.list
RUN echo "deb [check-valid-until=no] http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
RUN sed -i '/deb http:\/\/deb.debian.org\/debian jessie-updates main/d' /etc/apt/sources.list
RUN apt-get -o Acquire::Check-Valid-Until=false update
47
henadzit

이것은 데비안 "Jessie"를 사용하는 Vagrant 박스를 프로비저닝하는 데 일어났습니다.

Stephen Kitt 's answer 다음에 archive.debian.org로 전환하면 효과가 있었지만 /etc/apt/sources.list.d/jessie-backports.list가 아니라 /etc/apt/sources.list에 추가해야했습니다.

provision.sh에 다음 줄을 추가했습니다.

echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list

그런 다음 apt-get update를 실행하는 보안 오류가 발생했습니다.

다음 로컬 미러에서 "파일 릴리스가 만료되었습니다"문제를 해결하는 방법 다음 오류가 수정되었습니다.

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

또는 검사를 영구적으로 비활성화하려면 다음을 provision.sh에 추가하십시오.

echo "Acquire::Check-Valid-Until \"false\";" > /etc/apt/apt.conf.d/100disablechecks

그런 다음 -o 플래그없이 모든 apt 명령을 실행할 수 있습니다.

30
inostia

오래된 docker 이미지 기반으로 NodeJS를 사용하는 사람들을 위해. 여분의 라이브러리를 컴파일하기 위해 오래된 소스가있는 고정 된 이미지가 있습니다.

컨텍스트 : 도커 빌드 중에 python)을 설치하려는 경우 이미지가 도커 빌드 중에 종속성을 찾지 못하여 이미지를 빌드하는 동안 (최근 24 시간 이내에)이 문제가 발생했습니다.

이 게시물에서 아카이브 경로 권장 사항을 시도했지만 404를 넘을 수 없었습니다. (또한 오늘 현재 archive.debian.org 위치에서 제공)

솔루션 : 나는 최신 컨테이너 버전의 노드 (python libs가 이미 설치되어 있음)로 전환하고 패키지 json에서 일부 libs를 업데이트했습니다 (이제 바이너리 lib도 포함합니다) pythyon을 원했던 경우) 문제가 더 이상 사용되지 않습니다.

결국 컨테이너 스택 (노드 : 최신)의 기본 이미지를 업데이트하는 것이 가장 간단한 해결 방법이었습니다.

이진 종속성이 포함 된 오래된 이미지 스택에주의해야합니다. 코어 OS 계층을 업데이트하는 데 다소 시간이 걸릴 수 있습니다.

4
Glen C.

더 이상 아무것도 작동하지 않으면 해당 오류 패널이 표시됩니다.

Unable to correct missing packages.
WARNING: The following packages cannot be authenticated!
W: GPG error
W: An error occurred during the signature verification.
Updates for this repository will not be applied.
E: Failed to fetch
E: Aborting install 

전체 배포 업그레이드 와 시스템을 저장하기 위해 소스 목록을 정리하십시오. 그 메모에는 몇 분 밖에 걸리지 않지만 최악입니다.

첫 방문 /etc/apt/sources.list.d/하고 모든 것을 제거하십시오. ( 백업 ).

편집하다 /etc/apt/sources.list,이 줄만 남겨주세요 :

deb http://ftp.us.debian.org/debian stable main contrib 

그런 다음 루트로 다음을 실행하십시오.

aptitude update
aptitude full-upgrade

다양한 메시지를 확인하십시오. 그런 다음 시도하십시오.

Sudo apt update

다음을 확인하면 오류가 발생하지 않습니다.

Reading package lists... Done

일부 다양한 패키지는 충돌 을 발생시켜 한 번만 사용하면 여러 가지 충돌을 해결할 수 있습니다.

Sudo aptitude -y install packagename otherpackagename

가능한 다른 오류 :

W: There is no public key available for the following key IDs:
*648ACFXXXXX2FAB138*

해결하려면 지정된 공개 키를 가져 오십시오.

Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFXXXXX2FAB138

매우 드문 메시지가 나타날 수 있습니다!

A reboot is required to replace the running dbus-daemon.
Please reboot the system when convenient.

오래된 커널과 libc에 문제가있을 수 있습니다 :

Kernel must be upgraded

This version of the GNU libc requires kernel version 3.2 or later.  Please upgrade your kernel 

공용 서버에는이 메모를 적용하지 마십시오. 항상 마지막 LTS로 가십시오.


https://www.debian.org/doc/manuals/debian-faq/ch-uptodate.en.html

https://askubuntu.com/questions/364404/e-unable-to-fetch-some-archives-maybe-run-apt-get-update-or-try-with-fix-mis

https://askubuntu.com/questions/766883/there-is-no-public-key-available-for-the-following-key-ids-1397bc53640db551

0
NVRM