“GPG 오류 : 릴리스 : 다음 서명이 잘못되었습니다 : BADSIG”


88

터미널 에서이 명령을 실행했습니다.

sudo apt-get update

업데이트는 다음 오류 보고서로 종료됩니다.

W: A error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://extras.ubuntu.com precise Release: The following signatures were invalid: BADSIG 16126D3A3E5C1192 Ubuntu Extras Archive Automatic Signing Key <ftpmaster@ubuntu.com>

W: GPG error: http://ppa.launchpad.net precise Release: The following signatures were invalid: BADSIG 4C1CBC1B69B0E2F4 Launchpad PPA for Jonathan French
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/precise/Release  

이것이 무엇을 의미하며 왜 발생합니까?


4
12.04를 처음 설치할 때 비슷한 문제가 발생했습니다. 그 후 인도의 소프트웨어 관리자에서 다른 서버로 "소프트웨어 소스"를 변경했습니다. 이제이 문제가 보이지 않습니다. 인도 서버를 사용하는 경우 변경하여 알려주십시오.
Abhijeet

감사합니다 Abhijeet. 나는 인도인이지만 카타르에 머무르고 서버를 사우디 아라비아로 변경했지만 같은 결과를 얻었습니다.
beeju

답변:


90

이 시도:

sudo apt-get clean
sudo mv /var/lib/apt/lists /tmp
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get clean
sudo apt-get update

4
partial하위 디렉토리 를 만들 필요가 없습니다 . sudo apt-get update그 자체를 할 것입니다.
바이트 사령관

9
위의 작업을 수행 한 후에도 여전히이 오류가 발생합니다.Reading package lists... Done W: GPG error: http://developer.download.nvidia.com Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F60F4B3D7FA2AF80
Mona Jalal

요청한 질문에 답할 가치가 있습니다 (그리고 더 많은 공의를 벌 수 있습니다 ;-)).
Witold Kaczurba

두 번째 단계에서 오류가 발생했습니다 :mv: cannot move '/var/lib/apt/lists' to '/tmp/lists': Directory not empty
인터넷 사용자

이것이 정확히 무엇을 할 수 있습니까? 감사합니다
Hendrik

64

해당 리포지토리의 gpg 키가 apt-key 데이터베이스에 없기 때문에이 메시지가 표시됩니다.

키를 가져 오려면 터미널을 열고 다음 명령을 입력하십시오

gpg --keyserver keyserver.ubuntu.com --recv-keys 16126D3A3E5C1192 

pgp 키는 대부분 여러 키 저장소에 배포됩니다. 우분투 관련 키는 일반적으로에 keyserver.ubuntu.com있습니다. 그러나 이것이 실패하면 대안을 사용할 수 있습니다. 처럼 -

gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16126D3A3E5C1192

영숫자 부분을 특정 키로 바꿔야합니다. 열쇠가 당신이 신뢰하는 열쇠인지 확인하십시오 . 이 키가있는 모든 저장소는 경고없이 모든 패키지를 설치할 수 있습니다.

위의 내용이 성공하면 다음과 같은 결과가 나타납니다.

gpg: Total number processed: 1
gpg:               imported: 1

그런 다음이 명령을 실행하십시오.

gpg --export --armor 16126D3A3E5C1192 | sudo apt-key add - 

-뒤에 부호를 적어 둡니다 add.

그러면 sudo apt-get update이 후에는 그러한 메시지가 표시되지 않습니다.


1
Hi @ anwar 신뢰하는 키를 어디서 / 어떻게 얻습니까?
Minnie Shi

1
@MinnieShi 키는 오류 메시지 자체에 있습니다The following signatures were invalid: BADSIG 16126D3A3E5C1192
Kalyan Raghu

1
apt-key add명령은 "OK"를 반환해야합니다.
코일

대단한 대답이어야합니다! 감사.
야곱

13

나는 그냥하고 있음을 발견했다.

sudo rm -rf /var/lib/apt/lists
sudo mkdir /var/lib/apt/lists

나를 위해 일했다.


sudo rm -rf / var / lib / apt / lists / * && sudo mkdir -p / var / lib / apt / lists를 사용하여 / var / lib / apt / lists 권한이 가진 모든 것을 보존하십시오
131

1
partial하위 디렉토리 를 만들 필요가 없습니다 . sudo apt-get update그 자체를 할 것입니다.
바이트 사령관

9

사용하는 PPA에 대한 모든 GPG 키를 자동으로 받도록 스크립트를 사용해보십시오 : smartupdate.sh .

시작한 apt-get update다음 모든 GPG 오류를 찾고 찾은 GPG 서명에 대한 키를받습니다. 귀하의 경우, 그것은 단지 시작됩니다

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4C1CBC1B69B0E2F4

그러나 서명되지 않은 PPA를 몇 개 추가하면 GPG 키를 수동으로 추가하는 것이 지루해집니다. :)


6

다음 명령으로 문제가 해결되었습니다.

sudo -i
apt-get clean
cd /var/lib/apt
mv lists lists.old
mkdir -p lists/partial
apt-get clean
apt-get update

1
partial하위 디렉토리 를 만들 필요가 없습니다 . sudo apt-get update그 자체를 할 것입니다.
바이트 사령관

4

비슷한 오류가 발생했습니다. 그러나 대신 PostgreSQL 저장소를 BADSIG얻었 KEYEXPIRED습니다.

W: A error occurred during the signature verification.
  The repository is not updated and the previous index files will be used.
  GPG error: http://apt.postgresql.org precise-pgdg Release:
  The following signatures were invalid: KEYEXPIRED 1381654177

해결책은 여기에 완벽하게 설명되어 있지만 이것이 내가 해결하기 위해 한 것입니다.

$ sudo apt-key list | grep -B1 PostgreSQL
$ sudo apt-key del ACCC4CF8
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

이제 $ sudo apt-get update완벽하게 작동합니다!


1

actionparsnip 의이 팁 은 저에게 효과적 이었습니다.

시험:

sudo fuser -vvv /var/lib/dpkg/lock
sudo rm /var/lib/apt/lists/lock
sudo cp -arf /var/lib/dpkg /var/lib/dpkg.backup
sudo cp /var/lib/dpkg/status-old /var/lib/dpkg/status
sudo cp /var/lib/dpkg/available-old /var/lib/dpkg/available
sudo rm -rf /var/lib/dpkg/updates/*
sudo rm -rf /var/lib/apt/lists
sudo rm /var/cache/apt/*.bin
sudo mkdir /var/lib/apt/lists
sudo mkdir /var/lib/apt/lists/partial
LANG=C;sudo apt-get clean
LANG=C;sudo apt-get autoclean
LANG=C;sudo apt-get --purge autoremove
LANG=C;sudo apt-get update -o APT::Cache-Limit=25165824
sudo dpkg --clear-avail
sudo dpkg --configure -a
LANG=C;sudo apt-get -f install
LANG=C;sudo apt-get --fix-missing install
LANG=C;sudo apt-get update -o APT::Cache-Limit=25165824 && sudo apt-get dist-upgrade

:에서 발견
https://answers.launchpad.net/ubuntu/+source/update-manager/+question/194077


1

이는 HTTP 프록시의 캐싱 문제 때문일 수 있습니다. 나 같은 경로를 따라 어딘가에 있다면 Apt에게 캐시를 일시적으로 우회하도록 요청할 수 있습니다.

sudo apt-get update -o Acquire::http::No-Cache=True

-2

launchpad-getkeys이 문제를 해결 하는 데 사용할 수 있습니다 . 터미널을 열고 다음을 입력하십시오.

sudo apt-get install launchpad-getkeys
sudo launchpad-getkeys

그때

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