bestsource

하나 이상의 잘못된 서명이 발견되었습니다.

bestsource 2023. 7. 28. 22:29
반응형

하나 이상의 잘못된 서명이 발견되었습니다.

미니큐브를 사용하여 개발 머신에서 실행되는 단일 노드 Kubernetes 클러스터에 마이크로서비스 이미지를 구축하고 배포하려고 합니다.저는 클라우드 네이티브 마이크로서비스 데모 애플리케이션인 구글의 온라인 부티크를 사용하여 쿠버네티스, 이스티오 등과 같은 기술의 사용을 이해하고 있습니다.

github repo 링크: microservices-demo

프로세스를 하는 동안 및 시skaffold run애플리케이션을 구축하고 배포하기 위해 다음과 같은 오류가 발생합니다.

Step 10/11 : RUN apt-get -qq update     && apt-get install -y --no-install-recommends         curl
 ---> Running in 43d61232617c
W: GPG error: http://deb.debian.org/debian buster InRelease: At least one invalid signature was encountered.
E: The repository 'http://deb.debian.org/debian buster InRelease' is not signed.
W: GPG error: http://deb.debian.org/debian buster-updates InRelease: At least one invalid signature was encountered.
E: The repository 'http://deb.debian.org/debian buster-updates InRelease' is not signed.
W: GPG error: http://security.debian.org/debian-security buster/updates InRelease: At least one invalid signature was encountered.
E: The repository 'http://security.debian.org/debian-security buster/updates InRelease' is not signed.
failed to build: couldn't build "loadgenerator": unable to stream build output: The command '/bin/sh -c apt-get -qq update     && apt-get install -y --no-install-recommends         curl' returned a non-zero code: 100

로드 제너레이터를 빌드할 때 이러한 오류가 발생합니다.이 문제를 해결하려면 어떻게 해야 합니까?

다음과 같은 오류가 발생하는 몇 가지 이유가 있습니다.

  1. 기존 캐시 및/또는 디스크 공간에 문제가 있을 수 있습니다. 캐시를 하려면 다음을.sudo apt-get clean그리고.sudo apt-get update.

  2. 기존 도커 이미지도 마찬가지입니다. 실행:docker image prune -f그리고.docker container prune -f사용하지 않는 데이터를 제거하고 디스크 공간을 확보합니다.을 실행하는 중docker image prune -f사용되지 않는 이미지가 모두 삭제됩니다.크기의 하려면 를 합니다.docker images한 후 를 실행합니다.docker rmi -f <IMAGE-ID1> <IMAGE-ID2> <IMAGE-ID3>.

  3. 보안 위험에 대해 신경 쓰지 않는 경우, 다음을 실행할 수 있습니다.apt-get합니다.--allow-unauthenticated또는--allow-insecure-repositories깃발입니다 문서에 따르면:

패키지를 인증할 수 없는 경우 무시하고 확인 메시지를 표시하지 않습니다.이는 로컬 리포지토리로 작업하는 동안 유용할 수 있지만 사용자가 다른 방식으로 데이터 신뢰성을 보장하지 않는 경우에는 보안 위험이 큽니다.

그게 도움이 됐는지 알려주세요.

저도 같은 문제가 있었는데 이전에 이미지나 용기를 잘라내라는 응답이 하나도 작동하지 않았습니다.그 이유는 도커 빌드 캐시가 공간의 대부분을 차지하고 있었기 때문입니다.다음 명령을 실행하여 문제를 해결했습니다.

docker system prune

그런 다음 다음을 실행하여 작동했는지 확인할 수 있습니다.

docker system df

업데이트:

위의 명령을 실행하면 전체 도커 시스템이 삭제됩니다.빌드 캐시만 지우려면 다음 명령(credit to saraf.gahl)을 사용하여 이를 수행할 수 있습니다.

docker builder prune

도커의 디스크 공간이 부족하기 때문에 문제가 발생한다는 표시가 거의 없기 때문입니다. 필요.prune명령어 https://docs.docker.com/config/pruning/ .

warning 이렇게 하면 모든 이미지가 삭제됩니다.

$ docker image prune 
$ docker container prune 

누적된 이미지가 많은 경우 기존 컨테이너와 연결되지 않은 이미지를 모두 제거하려면 다음을 수행합니다.

$ docker image prune -a 

또는 이전 이미지만 제거할 수 있습니다.

$ docker image prune -a --filter "until=24h"

마지막으로 Docker가 전용 VM 내에서 실행되는 MacOS에서는 Docker Desktop 애플리케이션(설정 -> 리소스 -> 고급 -> 디스크 이미지 크기)에서 Docker가 사용할 수 있는 디스크를 늘려야 할 수 있습니다.

@잭 카웰이 맞췄습니다.

docker builder prune

이 명령은 효과가 있습니다."docker system prune" 명령은 모든 이미지를 삭제하므로 주의하십시오(매우 파괴적).빌더 제거는 이전(캐시된) 모든 빌드 단계가 있는 빌드 캐시만 삭제합니다.

저도 같은 문제가 있었습니다.공간이 부족했던 것 같습니다.오래된 이미지를 제거하고 작동하기 시작했습니다.

$ docker images

더 이상 상관없는 항목을 선택합니다(삭제).

$ docker rmi <image_id>

다음 명령은 매달린 이미지를 필터링하고 제거합니다.

docker rmi $(docker images -q --filter "dangling=true")

저는 그것이 도커 공식 이미지(이 경우 armhf)의 LSM 구성 요소 및 exec/capabilities 권한과 관련이 있다고 생각합니다.이 간단한 경우 사이드 맛은 시간을 제대로 처리할 수 없습니다.그리고 이것은 인증서 검사와 관련된 것으로, 잘못된 서명의 원인입니다.우분투 포커스에서도 발생합니다.

# docker run -it debian:buster /bin/date
Sun Nov 15 11:30:44 UTC 2020
# docker run -it debian:sid /bin/date 
Thu Jan  1 00:00:00 UTC 1970

이것들 중 어느 것도 저에게 효과가 없었습니다.하지만 이 명령은 효과를 발휘했습니다.

docker volume prune

말 그대로 249개가 있었습니다.GB 단위의 볼륨을 회수할 수 있었습니다.

저는 위의 답변 중 몇 가지를 시도해 보았지만, 어떤 답변도 저에게 효과가 없었습니다.진짜 방아쇠는 제가 사용했을 때입니다.--allow-unauthenticated그리고.--allow-insecure-repositories@Wytrzymawy Wiktor답변에서, 그리고 나는 보여주는 알림을 받았습니다.

tar: ./conffiles: Cannot utime: Operation not permitted
tar: ./control: Cannot utime: Operation not permitted
tar: ./md5sums: Cannot utime: Operation not permitted
tar: ./postinst: Cannot utime: Operation not permitted
tar: .: Cannot utime: Operation not permitted
tar: Exiting with failure status due to previous errors

이것은 제가 libseccomp2가 오래된 문제일 수도 있다는 이 게시물을 발견한 경로로 이끌었습니다.

해결책은 다음과 같습니다.

# Get signing keys to verify the new packages, otherwise they will not install
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC 648ACFD622F3D138

# Add the Buster backport repository to apt sources.list
echo 'deb http://httpredir.debian.org/debian buster-backports main contrib non-free' | sudo tee -a /etc/apt/sources.list.d/debian-backports.list

sudo apt update ; sudo apt install libseccomp2 -t buster-backports

이것은 당신이 Raspbian과 19.04 이후의 도커 버전을 사용하고 있다고 가정합니다.

제 경우에는 도커를 운영하려고 했습니다.debian:stable(지금은 bullseye) 라즈베리 파이에서.buster운영 체제의 배포.

로변됨경으로 debian:buster그리고 그것은 성공하였다.

이것이 누군가에게 도움이 되길 바랍니다.

@BoyArmy_89는 저의 비슷한 문제를 해결했습니다. 다른 모든 해결책을 시도했지만 다음과 같은 방법만 성공했습니다.

docker volume prune

하나 이상의 잘못된 서명이 발견되었습니다.

오류는 의 파일 중 하나가/var/lib/apt/lists하나 이상의 잘못된/잘못된 서명으로 구성됩니다(결과일 수 있음).apt-key오용 또는 기타).

디버깅 메시지를 사용하여 Appt 업데이트를 실행해 보십시오.

apt-get -oDebug::pkgAcquire::Worker=1 update

손상된 파일을 가리켜야 합니다. 예를 들어,

0% [작동 중] <- gpgv:400%20URI%20 실패%0a 메시지:%20At20 적어도%20%20%20은 유효하지 않은 %20 서명%20이 발견되었습니다.%0aURI:%20gpgv:/var/lib/apt/lists/부분/손상된 파일_InRelease

파일을 편집하거나 손상된 부분을 찾아 제거하거나 전체 파일을 제거하여 다시 만들 수 있습니다.

x64에서 나만의 사이드 이미지 만들기

# variables
$WORKPLACE=/space_change_me
$BASEIMG=debian:buster
$TAG=my/debian
$RELEASE=sid
$PLATFORM=arm

# multiarch preparation
apt-get update
apt-get -y install apt-transport-https ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get -y install qemu binfmt-support qemu-user-static docker-ce byobu make
export DOCKER_CLI_EXPERIMENTAL=enabled

#build image
docker run  -i --rm -v $WORKPLACE:/data $BASEIMG /bin/bash  << EOF
export DEBIAN_FRONTEND="noninteractive" 
apt-get -y update
apt-get -y install debootstrap
debootstrap --verbose --include=iputils-ping --arch $PLATFORM $RELEASE /data/$RELEASE-$PLATFORM $REPO
chroot /data/$RELEASE-$PLATFORM/ /bin/bash << SEOF 
export DEBIAN_FRONTEND="noninteractive"
apt-get -y update
apt-get -y upgrade
apt-get -y clean
SEOF
rm -R /data/$RELEASE-$PLATFORM/debootstrap
EOF

cd $WORKPLACE/$RELEASE-$PLATFORM
tar cpf - . | docker import - $TAG:$RELEASE-$PLATFORM --platform $PLATFORM
docker save $TAG:$RELEASE-$PLATFORM  > debian-$RELEASE-$PLATFORM.tar

나중에 암 호스트에서 로드할 수 있습니다.

cat debian-$RELEASE-$PLATFORM.tar |docker load

언급URL : https://stackoverflow.com/questions/62473932/atleast-one-invalid-signature-was-encountered

반응형