Omarchy 업데이트 키링 오류 해결 방법
Omarchy 업데이트 시 발생하는 PGP 서명 오류 및 키링 손상 문제를 해결합니다. archlinux-keyring을 새로 고치고 pacman 키링을 수동으로 복구하여 시스템 업데이트를 정상적으로 완료하는 구체적인 명령어와 주의 사항을 확인하십시오.
Omarchy 업데이트가 키링 오류로 실패하는 이유
Omarchy 업데이트가 invalid or corrupted package (PGP signature) 오류와 함께 중단되는 것은 다운로드 문제가 아니라 키링 오류입니다. 사용 중인 archlinux-keyring 사본이 현재 Arch에서 사용하는 서명 키보다 오래되었기 때문에, pacman은 신뢰할 수 있는 키로 추적할 수 없는 패키지 설치를 거부합니다. 키링을 새로 고친 다음 업데이트를 다시 실행하십시오.
이 문제는 Omarchy에만 국한된 것이 아닙니다. 이는 일반적인 Arch 실패 유형이며, Omarchy는 이 기기를 첫 Arch 머신으로 사용하는 많은 사용자에게 이 문제를 노출하게 됩니다.
명령어를 실행하기 전에 한 가지 참고할 사항이 있습니다. Omarchy는 Arch 기반의 Hyprland 데스크톱이므로 아래의 모든 내용은 사용자의 데스크톱 기기에 관한 것입니다. 이 가이드는 VPS에 Omarchy를 설치하는 방법을 다루지 않습니다. 서버는 다른 운영체제를 사용하며, 마지막 섹션에서 해당 운영체제에 대한 페이지를 안내합니다.
최소 수정
두 명령을 실행한 다음 업데이트를 수행한다.
sudo pacman -Sy
sudo pacman -S archlinux-keyring
omarchy updatesudo pacman -S archlinux-keyring는 ==> Appending keys from archlinux.gpg...를 출력한 뒤 더 느린 ==> Locally signing trusted keys in keyring... 단계를 실행한다. 이 메시지는 새로운 개발자 키가 keyring에 추가되었다는 뜻이다. 1분 전에 실패한 업데이트가 이제 끝까지 실행된다.
이 순서는 사용자가 Omarchy issue 4608에서 보고한 내용이다. 이 보고로 인해 updater 자체에 keyring 새로 고침 기능이 추가되었다.
pacman -Sy만 단독으로 실행할 때는 주의해야 한다. 이 명령은 이미 설치된 패키지를 업그레이드하지 않고 최신 package database를 다운로드한다. 이 상태에서 임의의 소프트웨어를 설치하면 부분 업그레이드가 된다. 부분 업그레이드는 Arch 시스템을 손상시킨다. 새로 빌드된 패키지는 새 database에 기재된 library 버전을 요구하지만, 시스템에는 이전 버전이 남아 있기 때문이다. archlinux-keyring는 허용된 예외다. 이 명령은 link된 binary가 아니라 key material을 배포하며, 바로 뒤에 전체 업그레이드를 실행하기 때문이다.
omarchy update는 Omarchy 4의 명령이다. Quattro라고도 하는 Omarchy 4는 August 2026에 출시되었으며, October 2026 현재 최신 시리즈다. 19 October 2026에 출시된 v4.0.6이 최신 release다. v4.5.0 release candidate는 20 October 2026에 게시되었으며 pre-release로 표시되었다. 이 명령의 기반이 되는 script는 omarchy-update이며, 이 script를 직접 실행할 수도 있다. bare pacman -Syu보다 이 둘 중 하나를 사용하는 편이 좋다. Omarchy updater는 먼저 filesystem snapshot을 생성하고, 새 release에 맞게 configuration을 동기화하는 migration을 실행하기 때문이다. 수동 pacman -Syu은 이 두 작업을 모두 건너뛴다.
omarchy update keyring의 동작
Omarchy 4에서는 keyring 단계가 별도로 표시된다.
omarchy update keyring이 단계는 서로 다른 두 keyring을 처리한다. 18 October 2026에 출시된 v4.0.5부터는 sudo pacman -Sy --needed --noconfirm archlinux-keyring을 실행한다. 따라서 더 새로운 버전이 있을 때만 keyring을 다시 설치한다. 새 키 또는 폐기된 키는 새로운 package version으로 repository에 제공되기 때문이다. v4.0.4까지는 --needed가 빠져 있었다. 해당 버전의 script에 명시된 이유는 package version이 바뀌지 않아도 keyring의 내용이 변경될 수 있다는 것이었다. 그래서 업데이트할 때마다 keyring을 다시 설치했다. 어느 경우든 이 단계는 먼저 database를 동기화하고 main upgrade 전에 실행된다. 또한 해당 키 또는 omarchy-keyring package가 없으면 Omarchy signing key를 가져와 로컬에서 서명한다.
sudo pacman-key --recv-keys 40DFB630FF42BCFFB047046CF0134EE680CAC571 --keyserver keys.openpgp.org
sudo pacman-key --lsign-key 40DFB630FF42BCFFB047046CF0134EE680CAC571두 개의 keyring을 사용하는 이유는 시스템이 두 곳에서 패키지를 설치하기 때문이다. archlinux-keyring은 core repository에 있는 Arch의 자체 package이며, Arch developer와 trusted user의 키를 포함한다. omarchy-keyring은 third party다. Omarchy가 /etc/pacman.conf에 추가하는 [omarchy] repository에서 제공되며, stable channel에서는 Server = https://pkgs.omarchy.org/stable/$arch이다. 이 keyring에는 모든 omarchy-* package에 서명하는 키가 포함되어 있다. Omarchy 4는 SigLevel = Required DatabaseOptional을 제공하므로, 어떤 repository에서 가져온 package든 서명이 trusted key로 확인되지 않으면 거부된다.
알 수 없는 신뢰가 다운로드 문제가 아닌 핵심 문제인 이유
실패는 다음과 같은 형태로 나타납니다. 패키지 이름과 서명자는 기기마다 다르지만, 마지막 두 줄은 동일합니다.
error: archlinux-keyring: signature from "Christian Hesse <eworm@archlinux.org>" is unknown trust
:: File /var/cache/pacman/pkg/archlinux-keyring-20230704-1-any.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
error: failed to commit transaction (invalid or corrupted package (PGP signature))unknown trust을 문자 그대로 읽어 보십시오. gpg는 서명을 구문 분석하여 형식이 올바르다는 것을 확인했습니다. 하지만 해당 서명 뒤에 있는 키를 사용자의 기기가 신뢰하는 키와 연결하지는 못했습니다. pacman의 관점에서 검증할 수 없는 패키지와 손상된 패키지는 동일한 결과를 초래하므로, pacman은 해당 패키지를 손상된 것으로 간주합니다.
신뢰할 수 있는 키는 /etc/pacman.d/gnupg에 저장됩니다. 해당 디렉터리는 로컬 복사본이며, 업데이트 중에 실시간으로 가져오지 않습니다. 이 디렉터리는 archlinux-keyring 패키지가 /usr/share/pacman/keyrings에 설치하는 키 파일로부터 시드(seed)를 생성합니다. Arch는 자체 일정에 따라 개발자 키를 추가하고 취소하므로, 몇 달 동안 사용하지 않은 기기에는 오늘 아침 패키지에 서명한 개발자의 키보다 이전의 키 목록만 존재하게 됩니다. 관련 메시지인 signature from ... is marginal trust도 동일한 근본 원인을 가집니다. 키는 존재하지만, 해당 키를 사용자의 키링에 연결하는 로컬 서명이 누락된 상태입니다.
keyring 자체가 손상된 경우의 전체 복구
때로는 sudo pacman -S archlinux-keyring이 해결하려는 오류와 동일한 오류로 실패하거나, sudo pacman-key --list-keys이 유용한 결과를 전혀 반환하지 않을 수 있다. 이 경우 keyring은 오래된 것이 아니라 손상된 것이므로 다시 만들어야 한다.
sudo mv /etc/pacman.d/gnupg /etc/pacman.d/gnupg.broken
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman -Sy archlinux-keyring
sudo pacman-key --populate archlinux기존 디렉터리를 삭제하지 말고 이름을 변경해 보관한다. 다시 만드는 과정에서 문제가 발생하면 원래대로 되돌릴 수 있다. 복원할 수 있는 keyring이라면 몇 KB의 디스크 공간을 사용할 가치가 있다.
순서가 중요하다. --init은 새 로컬 서명 키가 포함된 빈 keyring을 만든다. 빈 keyring은 아무것도 신뢰하지 않으므로, 이 시점에 다운로드를 수행하면 검증에 실패한다. --populate archlinux은 /usr/share/pacman/keyrings/archlinux.gpg에서 keyring을 채운다. 이 파일은 몇 달 전에 설치한 패키지가 디스크에 남긴 파일이다. 해당 키가 오래되었더라도 현재 keyring 패키지의 다운로드를 검증하기에는 충분하다. 네 번째 줄에서 바로 이 패키지를 다운로드한다. 마지막 줄은 다운로드된 최신 키 파일을 불러온다.
이제 Omarchy 키를 복원한다. /etc/pacman.d/gnupg을 삭제하면서 해당 키를 신뢰하게 만든 로컬 서명도 제거되었다. 따라서 키를 복원하기 전에는 모든 omarchy-* 패키지가 unknown trust과 함께 실패한다.
sudo pacman-key --recv-keys 40DFB630FF42BCFFB047046CF0134EE680CAC571 --keyserver keys.openpgp.org
sudo pacman-key --lsign-key 40DFB630FF42BCFFB047046CF0134EE680CAC571
sudo pacman-key --list-keys 40DFB630FF42BCFFB047046CF0134EE680CAC571마지막 명령은 해당 fingerprint에 대한 pub 줄을 출력해야 한다. 대신 keyserver receive failed 줄이 출력되면, gpg가 keyserver 트래픽에 사용하는 보조 프로그램인 dirmngr이 키를 가져오지 못한 것이다. 네트워크가 요청을 차단하는 경우가 많다. 앞에 scheme이 없는 단순한 keys.openpgp.org은 443이 아니라 port 11371의 일반 HKP를 통해 접속한다. 일부 네트워크는 해당 port를 차단한다. --keyserver hkps://keys.openpgp.org로 지정하면 동일한 요청을 port 443을 통해 전송한다. dirmngr의 조회를 잘못 처리하는 DNS resolver도 동일한 줄을 출력할 수 있으므로, 다시 시도하기 전에 DNS도 확인한다. Omarchy 4에서는 첫 두 명령 대신 omarchy update keyring을 실행할 수 있다. 이 명령이 두 작업을 정확히 수행하기 때문이다. 마지막으로 omarchy update을 실행한다.
키링이 최신 상태인데도 업데이트가 실패하는 경우
시스템 시간이 잘못되었습니다. 키와 서명에는 타임스탬프가 포함되어 있으며, gpg는 이를 시스템 시간과 비교합니다. 시간이 과거로 설정되어 있으면 유효한 서명이라도 키가 생성되기 전에 만들어진 것으로 간주되어 패키지가 거부됩니다. timedatectl를 실행하여 System clock synchronized: yes 항목을 확인하십시오. 이 문제는 CMOS 배터리가 방전된 노트북에서 흔히 발생하며, 서버의 경우 VPS 시간이 어긋나는 이유와 동기화 유지 방법에서 다루는 여러 이유로 발생합니다.
캐시 파일이 손상되었습니다. 불안정한 미러 서버로 인해 다운로드가 중단되면 동일한 invalid or corrupted package 메시지가 출력되며, 키링을 아무리 수정해도 해결되지 않습니다. 어떤 패키지에서 오류가 발생하는지 확인하여 문제를 구분하십시오. 매번 같은 패키지에서 문제가 발생한다면 /var/cache/pacman/pkg/에서 해당 파일을 삭제한 뒤 업데이트를 다시 실행하십시오. sudo pacman -Sc는 더 이상 설치되어 있지 않은 캐시 버전을 정리합니다.
오류가 pacman이 아닌 yay에서 발생합니다. AUR 빌드는 makepkg을 사용하여 업스트림 소스 아카이브를 검증하며, 이는 ~/.gnupg에 있는 사용자 키링을 참조합니다. pacman의 키링은 참조하지 않습니다. 이때 발생하는 메시지는 ==> ERROR: One or more PGP signatures could not be verified!이며, 보통 gpg: Can't check signature: No public key과 함께 나타납니다. sudo를 사용하지 말고 일반 사용자 권한으로 gpg --recv-keys <key-id>를 실행하여 키를 가져오십시오. sudo pacman-key --recv-keys는 makepkg가 참조하지 않는 /etc/pacman.d/gnupg 디렉터리에 키를 쓰기 때문에 이 문제를 해결할 수 없습니다.
pacman-key --refresh-keys 사용을 피하십시오. 이 명령은 이미 보유한 모든 키에 대해 키 서버에 질의하므로 속도가 느리고 키 서버가 바쁠 경우 즉시 실패합니다. 또한 이 명령은 키링에 존재하지 않는 새로운 키를 추가할 수 없으며, 이는 본질적인 문제 해결책이 아닙니다. archlinux-keyring을 업데이트하는 것이 공식적으로 지원되는 방법입니다.
업데이트가 도중에 중단된 경우
/tmp/omarchy-update.log를 확인하십시오. omarchy-update의 출력 결과가 기록되는 곳이며, 터미널을 확인할 때쯤이면 실제 첫 번째 오류는 진행률 표시줄 뒤로 밀려나 보이지 않는 경우가 많습니다.
시스템 상태가 업데이트 시작 전보다 악화되었다면 스냅샷을 사용하십시오. snapper를 사용할 수 있는 시스템에서는 Omarchy가 업데이트 전에 스냅샷을 생성하므로, 재부팅 후 부팅 메뉴에서 업데이트 이전 스냅샷을 선택할 수 있습니다. 정상 상태로 확인된 해당 시점에서 키링을 복구한 뒤 다시 업데이트를 진행하십시오.
서버는 데스크톱이 아닙니다
Omarchy는 데스크톱 환경이며, SSH로 접속하는 서버는 다른 문제와 해법을 가진 별개의 대상입니다. 서버에는 지원 기간이 길고 데스크톱 스택이 포함되지 않은 배포판이 적합하며, 이에 관한 내용은 VPS를 위한 올바른 OS 선택에서 다룹니다. 서버를 구축할 때 가장 먼저 해야 할 일은 키 기반 인증과 강화된 sshd 설정으로 SSH 보안 강화이며, 그다음은 패키지가 이 키링처럼 오래된 상태로 방치되지 않도록 유지보수 루틴을 확립하는 것입니다. Omarchy의 내장 코딩 에이전트 단축키 기능을 선호한다면, 해당 에이전트 역시 서버에서 실행할 수 있습니다. VPS에서 코딩 에이전트 실행하기에서 설정 방법을, tmux 세션에서 Claude Code 유지하기에서 노트북을 닫고 자리를 비울 때의 처리 방법을 설명합니다.
FAQ
archlinux-keyring을 설치하기 전에 sudo pacman -Sy을 실행해도 안전합니까?
이 경우에는 안전합니다. 단, 즉시 keyring을 설치하고 전체 업그레이드를 진행해야 합니다. -Sy는 패키지 데이터베이스를 새로 고치지만 설치된 패키지는 이전 버전에 머물러 있습니다. 이 상태에서 일반 소프트웨어를 설치하면 부분 업그레이드가 발생하며, 시스템에 없는 라이브러리 버전에 링크된 바이너리가 생성될 수 있습니다. archlinux-keyring은 링크된 코드가 아닌 데이터이므로 예외적으로 허용됩니다. pacman -Sy를 실행한 후 작업을 멈추고 자리를 떠나지 마십시오.
Omarchy가 keyring을 새로 고쳐주는데도 왜 여전히 keyring 오류가 발생합니까?
업데이터는 패키지를 업그레이드하기 전에 archlinux-keyring를 새로 고치므로, 오류가 발생했다면 업데이터를 거치지 않았을 가능성이 큽니다. pacman -Syu이나 yay을 직접 실행하면 해당 단계를 건너뛰게 됩니다. 다른 원인으로는 단순히 오래된 것이 아니라 로컬 keyring 자체가 손상되어 keyring 패키지조차 검증되지 않는 경우, 또는 해당 단계가 존재하기 이전의 구버전 Omarchy 릴리스를 사용하는 경우가 있습니다. pacman-key --init과 pacman-key --populate archlinux를 사용한 전체 재구축은 손상된 경우를 해결합니다.
omarchy-keyring은 무엇이며, archlinux-keyring과 같은 것입니까?
두 패키지는 서로 다른 곳에서 제공하는 별개의 패키지입니다. archlinux-keyring은 core 저장소에서 제공하는 Arch의 패키지이며, Arch 개발자와 신뢰할 수 있는 사용자의 키를 포함합니다. omarchy-keyring는 제3자 패키지입니다. 이는 Omarchy가 pacman 설정에 추가하는 pkgs.omarchy.org의 [omarchy] 저장소에서 제공되며, omarchy-* 패키지에 서명하는 지문 40DFB630FF42BCFFB047046CF0134EE680CAC571의 키를 포함합니다. Omarchy는 두 세트 모두에서 유효한 서명을 요구하므로, 어느 하나라도 누락되면 업데이트가 차단됩니다.
서명 오류를 해결하기 위해 pacman-key --refresh-keys을 실행해야 합니까?
아니요. 해당 명령은 keyring의 모든 키에 대해 키 서버에 질의하는데, 이는 속도가 느리고 키 서버에 연결할 수 없을 때 실패하며, 애초에 keyring에 없던 키는 가져올 수 없습니다. 누락된 키는 archlinux-keyring 패키지와 함께 제공되므로, sudo pacman -Sy를 실행한 후 sudo pacman -S archlinux-keyring을 수행하는 것이 더 빠르고 권장되는 방법입니다.
두 기기를 맞추기 위해 VPS에 Omarchy를 설치해도 됩니까?
Omarchy는 화면, GPU, 키보드가 연결된 기기를 위한 Hyprland 데스크탑 환경입니다. VPS에 설치하면 볼 수 있는 화면도 없을뿐더러, 업데이트해야 할 방대한 데스크탑 패키지만 늘어날 뿐입니다. VPS에는 서버용 배포판을 운영하고, Omarchy는 노트북에서 유지하십시오. 두 기기의 패키지 구성과 업데이트 명령이 서로 다르다는 점을 받아들여야 합니다.