3.3. GPG を使用したリポジトリーのメタデータの確認


破損したパッケージを検出して回避するには、DNF パッケージマネージャーを使用して RPM パッケージの GNU Privacy Guard (GPG) 署名を確認し、リポジトリーのメタデータが GPG キーで署名されているかどうかも確認してください。

チェックを行う gpgkey を 入力するには、キー全体を gpgkeys フィールドに埋め込んで、キーを直接インポートします。

前提条件

  • リポジトリーとして使用するディレクトリーが存在し、パッケージが含まれている。

手順

  1. リポジトリーを作成するフォルダーにアクセスします。

    $ cd repo/
  2. createrepo_c を実行して、RPM パッケージからリポジトリーを作成します。

    $ createrepo_c .
  3. リポデータがあるディレクトリーにアクセスします。

    $ cd repodata/
  4. repomd.xml ファイルに署名します。

    $ gpg -u <_gpg-key-email_> --yes --detach-sign --armor /srv/repo/example/repomd.xml
  5. リポジトリーで GPG 署名チェックを有効にするには、以下を行います。

    1. リポジトリーソースで check_repogpg = true を設定します。
    2. 確認したい gpgkey を入力してください。

      以下に例を示します。

      check_gpg = true
      check_ssl = true
      check_repogpg = true
      id = "custom-local"
      name = "signed local packages"
      type = "yum-baseurl"
      url = "https://local/repos/projectrepo/"
      gpgkeys=['''-----BEGIN PGP PUBLIC KEY BLOCK-----
      Version: GnuPG v1.4.10 (GNU/Linux)
      
      mQENBEt+xXMBCACkA1ZtcO…​
      -----END PGP PUBLIC KEY BLOCK-----''']
      • テストで署名が見つからない場合、GPG ツールは次のようなエラーを表示します。

        $ GPG verification is enabled, but GPG signature is not available.
        This may be an error or the repository does not support GPG verification:
        Status code: 404 for http://repo-server/rhel/repodata/repomd.xml.asc (IP: 192.168.1.3)
      • 署名が無効な場合、GPG ツールは次のようなエラーを表示します。

        repomd.xml GPG signature verification error: Bad GPG signature

検証

  • リポジトリーの署名を手動でテストします。

    $ gpg --verify /srv/repo/example/repomd.xml.asc
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る