SSD Nodes Learn Hosting plans →
ガイド Matt Connor著者 Matt Connor ・更新日 2026-10-23

Omarchyの更新でkeyringエラーが出る場合の直し方

Omarchyの更新が「invalid or corrupted package PGP signature」で止まる場合は、まずarchlinux-keyringを更新します。直らない場合のpacman keyring手動修復手順も紹介します。

Verified Every command ran end-to-end on a fresh Ubuntu 24.04 server, September 4, 2026.

Omarchy の更新が keyring エラーで失敗する理由

invalid or corrupted package (PGP signature)で停止する Omarchy の更新は、ダウンロードの失敗ではなく keyring エラーです。使用しているarchlinux-keyringは、現在 Arch が使用している署名キーより古いため、pacman は信頼できるキーにたどれないパッケージを拒否します。まず keyring を更新してから、もう一度更新を実行してください。

これは Omarchy に特有の問題ではありません。Arch で通常発生する失敗モードであり、最初に使う Arch マシンが Omarchy マシンである多くのユーザーが、この問題に直面します。

コマンドを実行する前に、対象範囲を確認します。Omarchy は Arch ベースの Hyprland デスクトップ環境なので、以下の内容は手元のマシンを対象としています。VPS への Omarchy のインストール手順ではありません。サーバーでは別のものを実行しており、最後のセクションでその手順を案内するページを示します。

最小限の修正

2 つのコマンドを実行し、その後に更新します。

sudo pacman -Sy
sudo pacman -S archlinux-keyring
omarchy update

sudo pacman -S archlinux-keyring は ==> Appending keys from archlinux.gpg... を出力し、その後に時間のかかる ==> Locally signing trusted keys in keyring... の処理を実行します。これらの行は、新しい開発者キーが keyring に追加されたことを示します。1 分前に失敗した更新が、今度は最後まで実行されます。

この手順は、ユーザーが Omarchy issue 4608 で報告したものです。この報告を受けて、updater 自体に keyring の更新処理が追加されました。

pacman -Sy 単体の実行には注意が必要です。既存のパッケージを更新せずに、新しいパッケージデータベースだけをダウンロードするためです。その状態で任意のソフトウェアをインストールすると、部分更新になります。部分更新は Arch マシンを壊します。新しくビルドされたパッケージは新しいデータベースに記載されたライブラリのバージョンを要求しますが、システム上のバージョンは古いままだからです。archlinux-keyring は認められた例外です。これはリンク済みバイナリではなく key material を配布するため、直後に完全な更新を実行します。

omarchy update は Omarchy 4 のコマンドです。Omarchy 4 は Quattro と呼ばれ、2026 年 8 月にリリースされました。2026 年 10 月時点では現行シリーズであり、2026 年 10 月 19 日にリリースされた v4.0.6 が最新リリースです。v4.5.0 の release candidate は 2026 年 10 月 20 日に公開され、pre-release として扱われています。このコマンドの内部で実行されるスクリプトは omarchy-update で、これを直接実行することもできます。単純な pacman -Syu より、どちらかを使用してください。Omarchy updater は最初にファイルシステムのスナップショットを作成し、新しいリリースに合わせて設定を更新する migration を実行するためです。手動の pacman -Syu では、そのどちらも実行されません。

What omarchy update keyring の動作

Omarchy 4 では、keyring の処理を独立して実行します。

omarchy update keyring

2 つの keyring を個別に処理します。2026 年 10 月 18 日にリリースされた v4.0.5 以降は sudo pacman -Sy --needed --noconfirm archlinux-keyring を実行します。そのため、新しいバージョンが公開された場合にだけ keyring を再インストールします。新しい key や失効した key は、新しい package version として repository に反映されるためです。v4.0.4 までは --needed を省略し、更新のたびに keyring を再インストールしていました。この判断の理由は、そのバージョンの script に記載されているとおり、package version が変わらなくても keyring の内容が変わる可能性があるためです。どちらの場合も、この処理は最初に database を同期し、メインの upgrade より前に実行されます。また、Omarchy の signing key、または omarchy-keyring package が存在しない場合は、その key を取得してローカルで署名します。

sudo pacman-key --recv-keys 40DFB630FF42BCFFB047046CF0134EE680CAC571 --keyserver keys.openpgp.org
sudo pacman-key --lsign-key 40DFB630FF42BCFFB047046CF0134EE680CAC571

2 つの keyring があるのは、machine が 2 か所から package をインストールするためです。archlinux-keyring は core repository にある Arch 自身の package で、Arch の developer と trusted user の key を保持します。omarchy-keyring は third party の keyring です。これは Omarchy が /etc/pacman.conf に追加する [omarchy] repository から取得されます。stable channel では、その repository は Server = https://pkgs.omarchy.org/stable/$arch です。ここには、すべての omarchy-* package に署名する key が含まれます。Omarchy 4 は SigLevel = Required DatabaseOptional を使用するため、署名を trusted key に対応付けられない package は、どの repository から取得したものでも拒否されます。

未知の信頼がダウンロードの問題ではなく、重要な問題である理由

失敗時には、次のように表示されます。パッケージ名と署名者はマシンごとに異なります。最後の 2 行は異なりません。

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 にインストールする鍵ファイルを基に初期化されます。Arch は独自のスケジュールで開発者の鍵を追加および失効させます。そのため、数か月使用されていなかったマシンには、今朝のパッケージに署名した開発者が追加される前の鍵一覧が残っている可能性があります。関連するメッセージ signature from ... is marginal trust も原因は同じです。鍵自体は存在しますが、ローカルの鍵リングでその鍵を信頼の起点にするローカル署名が不足しています。

キーリング自体が壊れている場合の完全な修復

sudo pacman -S archlinux-keyringが修正しようとしているエラーそのもので失敗したり、sudo pacman-key --list-keysが有用な情報を返さなかったりすることがあります。この場合、キーリングは古くなっているのではなく破損しているため、再構築する必要があります。

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

古いディレクトリは削除せず、移動してください。再構築に失敗した場合は元に戻せます。復元可能なキーリングを確保するために必要な容量は、わずか数 KB です。

実行順序が重要です。--initは、新しいローカル署名鍵を含む空のキーリングを作成します。空のキーリングは何も信頼しないため、その時点でダウンロードすると検証に失敗します。--populate archlinuxは、/usr/share/pacman/keyrings/archlinux.gpgからキーを追加します。これは、数か月前にインストールしたパッケージによってディスク上に保存されたファイルです。これらの鍵は古い可能性がありますが、現在のキーリングパッケージのダウンロードを検証するには十分です。4 行目でこのパッケージを取得します。最後の行で、ダウンロードされた更新済みの鍵ファイルを読み込みます。

次に、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

最後のコマンドは、そのフィンガープリントに対応する pub 行を出力するはずです。代わりに keyserver receive failed 行が表示される場合は、gpg が keyserver との通信に使用するヘルパーである dirmngr が鍵を取得できなかったことを意味します。ネットワークによってリクエストがブロックされている可能性があります。前にスキームを付けない単独の keys.openpgp.org には、443 ではなくポート 11371 のプレーンな HKP で接続します。一部のネットワークでは、このポートがブロックされます。--keyserver hkps://keys.openpgp.orgと記述すると、同じリクエストをポート 443 経由で送信します。DNS リゾルバーが dirmngr の名前解決を正しく処理できない場合も同じ行が表示されるため、再試行する前に DNS も確認してください。Omarchy 4 では、最初の 2 つのコマンドの代わりに omarchy update keyring を実行できます。これら 2 つの処理をまとめて実行するためです。最後に omarchy update を実行します。

キーリングが最新なのに更新に失敗する場合

時刻が正しくありません。 鍵と署名にはタイムスタンプが含まれており、gpg はそれらをシステム時刻と比較します。時刻が大幅に過去に設定されていると、正しい署名でも鍵が存在する前に作成されたように見えるため、パッケージが拒否されます。timedatectl を実行し、System clock synchronized: yes を確認してください。CMOS バッテリーが切れたノート PC で発生するほか、サーバーでは別の理由で発生します。詳しくは VPS の時刻がずれる理由と同期を維持する方法 を参照してください。

キャッシュされたファイルが 1 つ破損しています。 不安定なミラーによってダウンロードが途中で切れると、同じ invalid or corrupted package の行が表示されます。キーリングを操作しても解決しません。どのパッケージ名が表示されるかで、この問題と区別できます。毎回同じパッケージなら、そのファイルを /var/cache/pacman/pkg/ から削除して、更新を再度実行してください。sudo pacman -Sc は、現在インストールされていないキャッシュ済みバージョンを削除します。

問題は pacman ではなく yay にあります。 AUR のビルドでは、makepkg を使ってアップストリームのソースアーカイブを検証します。makepkg が読み取るのは、~/.gnupg にある自分のユーザーキーリングです。pacman のキーリングは読み取りません。メッセージは ==> ERROR: One or more PGP signatures could not be verified! で、通常は gpg: Can't check signature: No public key の近くに表示されます。通常のユーザーとして gpg --recv-keys <key-id> を実行し、sudo は使用しないでください。sudo pacman-key --recv-keys では解決できません。sudo pacman-key --recv-keys は /etc/pacman.d/gnupg に書き込みますが、makepkg はそこを参照しないためです。

pacman-key --refresh-keys は使用しないでください。 保持しているすべての鍵について keyserver に問い合わせるため、処理が遅くなります。また、keyserver が混雑していると完全に失敗します。キーリングに存在しない鍵を追加することもできません。今回の問題はまさにその点です。archlinux-keyring を更新する方法が正式な手順です。

アップデートが途中で停止した場合

/tmp/omarchy-update.logを確認します。ここにはomarchy-updateの出力が記録されています。ターミナルを確認する時点では、最初に発生した実際のエラーが進行状況バーの背後にスクロールされて見えなくなっていることがよくあります。

開始時よりもシステムの状態が悪化している場合は、スナップショットを使用します。snapper が利用可能なシステムでは、Omarchy がアップデート前にスナップショットを作成します。そのため、再起動してブートメニューからアップデート前のスナップショットを選択できます。正常な状態が確認できているその状態から keyring を修復し、もう一度アップデートします。

サーバーはデスクトップではありません

Omarchy はデスクトップ環境です。SSH で接続するサーバーは別の問題を抱えており、必要な対処も異なります。サーバーには、サポート期間が長く、デスクトップスタックを追加しないディストリビューションが適しています。詳しくは VPS に適した OS の選び方を参照してください。そのサーバーで最初に行うべきことは 鍵を使って SSH を保護し、強化した sshd 設定を適用することです。次に、パッケージがこの keyring のように古くならないよう、継続的な メンテナンス手順を整えます。Omarchy の組み込みコーディングエージェント用ショートカットが気に入っている場合、そのエージェントはサーバーでも実行できます。VPS でコーディングエージェントを実行するではセットアップを説明し、tmux セッションで Claude Code を実行し続けるでは、ノート PC を閉じてその場を離れる場合の方法を説明します。

FAQ

sudo pacman -Sy を archlinux-keyring のインストール前に実行しても安全ですか?

このケースに限り安全です。ただし、直後に 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 は Arch のパッケージで、core リポジトリから提供され、Arch の開発者と信頼されたユーザーの鍵を保持します。omarchy-keyring はサードパーティーのパッケージです。Omarchy が pacman の設定に追加する pkgs.omarchy.org の [omarchy] リポジトリから提供され、omarchy-* パッケージに署名するフィンガープリント 40DFB630FF42BCFFB047046CF0134EE680CAC571 の鍵を保持します。Omarchy では、両方の鍵セットによる有効な署名が必要です。そのため、どちらか一方を失うと更新が停止します。

署名エラーを修正するために pacman-key --refresh-keys を実行すべきですか?

いいえ。keyring 内のすべての鍵について keyserver に問い合わせるため、時間がかかります。また、keyserver に接続できない場合は失敗します。keyring に一度も存在しなかった鍵をインポートすることもできません。不足している鍵は archlinux-keyring パッケージに含まれています。そのため、sudo pacman -Sy の後に sudo pacman -S archlinux-keyring を実行する方法が、より高速でサポートされている手順です。

VPS に Omarchy をインストールして、2 台のマシンを同じ状態にできますか?

Omarchy は、画面、GPU、キーボードが目の前にあるマシン向けに構築された Hyprland デスクトップです。VPS では表示するものがなく、更新対象となる大量のデスクトップパッケージだけが増えます。VPS ではサーバー向けディストリビューションを実行し、ラップトップでは Omarchy を使ってください。2 台のマシンではパッケージ構成と更新コマンドが異なることを受け入れる必要があります。

この記事は役に立ちましたか?

#omarchy#arch-linux#pacman#troubleshooting#updates