이제 문제가 생겼습니다. 데비안 버전 9.13에서 다음 명령을 실행할 때 sudo apt-get update 이 오류가 발생합니다:
Fetched 21.6 kB in 0s (34.9 kB/s)
Reading package lists... Done
W: GPG error: http://repo.mysql.com/apt/debian stretch InRelease: The following signatures
couldn't be verified because the public key is not available: NO_PUBKEY 8C718D3B5072E1F5
W: The repository 'http://repo.mysql.com/apt/debian stretch InRelease' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous
to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
이 키는 만료되었기 때문에 삭제했습니다. mysql에서 새 키를 다운로드했습니다. 이것은 내 적절한 키 목록입니다.
하지만 지금까지는 업데이트 명령을 실행할 수 없으며 매번 이 오류가 발생합니다. 저는 가능한 모든 방법을 시도했지만 실패했습니다. 특히 웹 호스팅 서버에만 해당되는 문제이므로 누구든지 이 문제를 해결하도록 도와줄 수 있습니까?
답변1
복사이 GPG 키mysql_pubkey.asc
파일 로 이동하여 다음을 실행하십시오.
gpg --import mysql_pubkey.asc
gpg --fingerprint 5072E1F5
MySQL 문서를 참조하세요.2.1.4.2 GnuPG를 이용한 서명 확인
답변2
apt-key
더 이상 사용되지 않습니다. 일반적으로 apt-get
여기에는 아직 키가 저장되어 있다는 경고가 표시 됩니다 /etc/apt/trusted.gpg
. 스크린샷에 따르면 MySQL 키만 여기에 저장되어 있습니다. 출력에는 경고가 표시되지 않지만 apt-get
맨페이지의 지원 중단 섹션에 있는 조언을 따르도록 노력하겠습니다 apt-key
.
유지 관리자 스크립트에서 apt-key del을 사용하는 경우를 제외하고 apt-key 사용은 더 이상 사용되지 않습니다. 이 섹션에서는 기존 apt-key 사용을 바꾸는 방법을 설명합니다. 기존 apt-key 추가 사용법이 다음과 같은 경우:
wget -qO-https://myrepo.example/myrepo.asc| sudo apt-key add -
그런 다음 다음으로 직접 바꿀 수 있습니다(아래 조언에 유의하세요):
wget -qO-https://myrepo.example/myrepo.asc| sudo tee /etc/apt/trusted.gpg.d/myrepo.asc
ASCII 아머드 키에는 "asc" 확장자를 사용하고 바이너리 OpenPGP 형식("GPG 키라고도 함)에는 "gpg" 확장자를 사용해야 합니다. 공개 링") ). 바이너리 OpenPGP 형식은 모든 apt 버전에서 작동하는 반면, ASCII armor 형식은 apt 버전 >= 1.4에서 작동합니다.
권장 사항: 키를 /etc/apt/trusted.gpg에 넣는 대신 source.list의 Signed-By 옵션을 사용하고 d 디렉터리의 파일 이름을 지정하여 파일 시스템의 어느 곳에나 키를 넣을 수 있습니다. 자세한 내용은 source.list(5)를 참조하세요. APT 2.4부터 패키지에서 관리하지 않는 키의 권장 위치로 /etc/apt/keyrings가 제공됩니다. deb822 스타일 resources.list 및 apt 버전 >= 2.4를 사용하는 경우 서명자 옵션을 사용하여 파일을 첨부하지 않고 전체 ASCII 아머드 키링을 resources.list에 직접 포함시킬 수도 있습니다.