우분투에서 "NO_PUBKEY" GPG 오류를 해결하는 방법

NO_PUBKEY 오류 는 APT가 저장소를 찾았지만 해당 저장소의 공개 서명 키가 없어서 서명된 패키지 메타데이터를 확인할 수 없음을 의미합니다. 소스를 확인하고 게시자로부터 키를 받아 전체 지문을 확인한 다음 해당 저장소에만 연결하십시오 Signed-By. 그런 다음 APT를 새로 고치십시오. 오류를 숨기기 위해 서명 검사를 우회하지 마십시오.

APT의 검사 기능은 패키지 메타데이터와 다운로드 파일이 변조되는 것을 방지합니다. Ubuntu는 타사 키를 해당 소스에만 사용하도록 권장합니다. Canonical의 타사 저장소 지침 및 아카이브 무결성 문서를 참조하십시오 .

1. 오류를 발생시킨 저장소를 식별합니다.

터미널을 열고 다음 명령을 실행하세요:

sudo apt update

옆에 있는 저장소 URL을 확인하세요 NO_PUBKEY. APT는 와 같은 짧은 키 ID를 표시할 수 있습니다 ABCD1234EF567890. 이는 누락된 키를 식별하는 데 도움이 되지만, 키의 소유자를 증명하는 것은 아닙니다. 신뢰 설정을 변경하기 전에 어떤 소프트웨어 소스에서 오류가 발생했는지 확인하세요.

Ubuntu 터미널에서 타사 APT 저장소에 대한 NO_PUBKEY 오류를 강조 표시하는 화면입니다.
강조 표시된 줄은 APT가 서명 키를 확인할 수 없는 저장소를 나타냅니다. URL과 키 ID는 예시입니다.

2. 게시자 키를 가져와서 확인합니다.

저장소 소유자의 공식 설치 페이지 또는 키 다운로드 위치를 사용하십시오. Launchpad PPA의 경우 Launchpad에서 소유자와 아카이브를 확인하십시오. Ubuntu는 add-apt-repository키를 설정하는 명령어를 사용하여 PPA를 추가하는 방법을 문서화하고 있습니다.

sudo add-apt-repository ppa:OWNER/ARCHIVE

공식 페이지에서 정확한 PPA 주소로 교체하십시오 OWNER/ARCHIVE. 벤더 저장소의 경우, 벤더의 지침에 따라서만 키를 다운로드하십시오. 이 예시에서는 자리 표시자 URL을 사용했는데, 게시된 URL로 교체하십시오.

curl -fsSLo /tmp/vendor-archive-keyring.asc https://repo.example/ubuntu/vendor-archive-keyring.asc
gpg --show-keys --with-fingerprint /tmp/vendor-archive-keyring.asc

제공업체가 공식 채널을 통해 공개한 지문과 전체 지문을 비교하십시오. 지문이 다르거나 검증할 수 없는 경우 진행하지 마십시오.

소프트웨어 게시자의 저장소 서명 키 다운로드 화면을 보여주는 브라우저 페이지
출판사에서 제공하는 지침을 사용하여 키와 해당 지문을 찾으십시오.

3. 열쇠는 열쇠고리에 보관하세요.

ASCII로 암호화된 .asc키의 경우, 키링 디렉터리를 생성하고 키를 변환한 다음 APT가 해당 키를 읽을 수 있도록 허용하십시오.

sudo install -d -m 0755 /etc/apt/keyrings
sudo gpg --dearmor --yes --output /etc/apt/keyrings/vendor-archive-keyring.gpg /tmp/vendor-archive-keyring.asc
sudo chmod 0644 /etc/apt/keyrings/vendor-archive-keyring.gpg

게시자가 바이너리 .gpg키를 제공하는 경우, 해당 키를 저장 /etc/apt/keyrings하고 권한을 설정하십시오 0644. 삭제하지 마십시오. 나중에 쉽게 식별할 수 있도록 파일 이름을 게시자의 이름으로 지정하십시오.

4. 키를 해당 저장소에 연결합니다.

일반적으로 . 경로에 있는 저장소의 기존 소스 파일을 편집합니다 /etc/apt/sources.list.d/. 게시자가 제공한 URI, Ubuntu 제품군 및 구성 요소는 그대로 유지합니다. 아래의 자리 표시자를 바꾸고, 중복된 소스 파일을 생성하지 마십시오.

deb822 .sources파일에 필드를 추가하세요 Signed-By.

Types: deb
URIs: https://repo.example/ubuntu
Suites: YOUR_UBUNTU_CODENAME
Components: main
Signed-By: /etc/apt/keyrings/vendor-archive-keyring.gpg

기존 .list파일에서 해당 줄에 옵션을 추가합니다 deb.

deb [signed-by=/etc/apt/keyrings/vendor-archive-keyring.gpg] https://repo.example/ubuntu YOUR_UBUNTU_CODENAME main

해당 소스에 이미 있는 형식을 사용하십시오. 우분투 sources.list설명서Signed-By 에 지원되는 형식이 설명되어 있습니다 .

Ubuntu 텍스트 편집기에서 Signed-By가 저장소별 키링을 가리키는 deb822 소스 파일이 표시됩니다.
원본 항목은 에 있는 열쇠고리 하나를 가리킵니다 /etc/apt/keyrings.

5. APT를 새로 고침하고 확인합니다.

소스 파일을 저장하고 실행하세요:

sudo apt update

업데이트는 해당 저장소의 NO_PUBKEY경고 없이 완료되어야 합니다. 그런 다음 패키지를 정상적으로 설치하거나 업데이트할 수 있습니다. 이 명령은 패키지 메타데이터를 새로 고치는 것이며, 이미 설치된 패키지를 업그레이드하는 것은 아닙니다.

Ubuntu 터미널에서 `sudo apt update` 명령이 NO_PUBKEY 오류 없이 완료되는 것을 보여줍니다.
패키지 목록을 새로 고침하면 APT가 구성된 저장소를 확인할 수 있음을 알 수 있습니다.

오류가 계속되는 경우

  • 지문 불일치: 키가 오래되었거나 다른 저장소에서 가져온 것일 수 있습니다. 게시자로부터 최신 키를 받으세요.
  • 키를 찾을 수 없습니다. 소스 Signed-By경로가 키링 파일과 정확히 일치하는지, 그리고 파일을 읽을 수 있는지 확인하십시오.
  • 릴리스 파일이 없거나 404 오류가 발생합니다. 저장소가 사용 중인 Ubuntu 코드명을 지원하지 않을 수 있습니다. 게시자의 호환성 지침을 따르거나 소스를 비활성화하십시오. 다른 제품군을 추측하지 마십시오.
  • 공식 우분투 아카이브: 소스가 공식 우분투 아카이브를 가리키고 있으며 해당 아카이브가 ubuntu-keyring손상되지 않았는지 확인하십시오. 비공식 대체 키를 가져오지 마십시오.

Ubuntu Desktop에서 타사 소스를 더 이상 사용하지 않는 경우, [소프트웨어 및 업데이트]를 열고 [기타 소프트웨어] 에서 해당 소스를 비활성화한 다음 패키지 정보를 다시 로드하십시오. 레이블은 릴리스에 따라 다릅니다. 이전의 전역 인증 가져오기 워크플로는 게시자의 현재 키를 확인하고 사용하는 것을 대체할 수 없습니다 Signed-By.

서명 확인 기능을 활성화 상태로 유지하세요.

trusted=yes임시 해결책으로 , , 또는 안전하지 않은 저장소 설정을 사용하지 마십시오 --allow-unauthenticated. 게시자가 키를 확인할 수 없거나 더 이상 저장소를 관리하지 않는 경우 해당 저장소를 비활성화하고 지원되는 소스를 사용하십시오. Ubuntu APT 아카이브 인증 설명서를 참조하십시오 .

댓글 남기기

손실된 파티션과 하드 디스크 데이터를 안전하게 복구하는 방법

손실된 파티션과 하드 디스크 데이터를 안전하게 복구하는 방법

TestDisk와 PhotoRec을 사용하여 손실된 파티션과 파일을 복구하는 방법을 알아보세요. 원본 드라이브를 보호하고 안전하게 스캔한 다음 복구된 데이터를 다른 디스크에 저장하세요.

리눅스 데스크톱에서 QR 코드를 스캔하는 방법

리눅스 데스크톱에서 QR 코드를 스캔하는 방법

웹캠이나 이미지 파일을 사용하여 CoBang으로 Linux에서 QR 코드를 스캔하세요. Flatpak 카메라 접근 관련 설치 옵션, 설정 단계 및 문제 해결 방법을 참조하세요.

Cameractrls를 사용하여 Linux에서 웹캠 설정을 변경하는 방법

Cameractrls를 사용하여 Linux에서 웹캠 설정을 변경하는 방법

Cameractrls를 사용하여 Linux에서 웹캠 설정을 변경하세요. 노출, 색상, 깜빡임 감소 및 기타 지원되는 제어 기능을 조정하고 호환되는 비디오 모드를 확인하세요.

Linux에 PhpStorm을 설치하는 방법: Toolbox, Tar.gz, Snap 및 AUR

Linux에 PhpStorm을 설치하는 방법: Toolbox, Tar.gz, Snap 및 AUR

Linux에 PhpStorm을 설치하려면 JetBrains Toolbox 또는 독립 실행형 tar.gz 아카이브를 사용하세요. Snap 및 Arch AUR 옵션도 제공됩니다. Java는 이미 포함되어 있습니다.

리눅스에 Cisco Packet Tracer를 설치하는 방법

리눅스에 Cisco Packet Tracer를 설치하는 방법

Cisco Packet Tracer 9.0.1 for Ubuntu 64비트 버전을 다운로드하고, APT를 사용하여 DEB 패키지를 설치한 다음, 터미널에서 라이선스에 동의하고 로그인하여 실습을 시작하십시오.

XFCE 4에서 듀얼 패널을 설정하는 방법

XFCE 4에서 듀얼 패널을 설정하는 방법

각 디스플레이마다 별도의 XFCE 4 패널을 생성하고, 두 번째 패널을 올바른 출력에 할당하고, 위치와 크기를 조정한 다음, 필요한 실행기와 상태 항목을 추가합니다.

리눅스에서 CD-ROM을 ISO 파일로 백업하는 방법

리눅스에서 CD-ROM을 ISO 파일로 백업하는 방법

GNOME Disks 또는 dd 명령어를 사용하여 Linux에서 CD-ROM ISO 파일을 생성합니다. 광학 드라이브를 식별하고, 복사 과정을 모니터링하고, 이미지 유효성을 검사하고, 손상된 디스크나 오디오 디스크에 다른 도구가 필요한 경우를 알 수 있습니다.

리눅스에서 GIMP를 사용하여 이미지를 잘라내는 방법

리눅스에서 GIMP를 사용하여 이미지를 잘라내는 방법

GIMP를 사용하여 Linux에서 사진 배경 제거하기: 피사체를 따라 그리고, 선택한 배경을 삭제하고, 투명도를 유지한 다음, 재사용 가능한 PNG 파일로 내보낼 수 있습니다.

FlightGear 무료 다운로드: 공식 설치 가이드

FlightGear 무료 다운로드: 공식 설치 가이드

FlightGear를 공식 사이트에서 무료로 다운로드하세요. Windows, macOS, Linux 패키지를 비교하고, 데이터 파일을 설치한 후 첫 비행을 시작하세요.

Google Tasks 데스크톱 애플리케이션: 컴퓨터에서 사용하는 방법

Google Tasks 데스크톱 애플리케이션: 컴퓨터에서 사용하는 방법

브라우저에서 Google Tasks를 열거나, Chrome 바로가기 또는 앱 스타일 실행을 추가하고, 캘린더 및 Gmail을 통해 날짜별 할 일을 관리하세요.