web-dev-qa-db-ja.com

yumにすでにインポートされているgpgキーを使用させるには?

yum.repos.dディレクトリ内に外部リポジトリを追加しようとしています。そのリポジトリのパッケージとメタデータはgpgキーで署名されています。関連性がある場合、私はCentOS 7.2を使用しています

私の知る限り、リポジトリをセットアップする従来の方法は、リポジトリファイル内にgpgキーへのリンクを含めることです。

つまり、example.repo内のファイル/etc/yum.repos.dには、次の行が含まれています。

gpgkey = https://example.com/repo/key

次に、yum updateを実行すると[y/N]プロンプトが表示され、GPGキーがインポートされます。代わりにyum -y updateを実行すると、キーが自動的にインポートされます。これまでのところ正常。

実験として、リポジトリファイルからgpg-keyダウンロードリンクを削除し、代わりに手動でキーを追加してみました。

wget -O key https://example.com/repo/key
rpm --import key
と確認
rpm -qa gpg-pubkey*

私の期待は、これによりyum updateプロンプトを上げずに[y/N]を実行できるようになることでした。しかし、それは機能しませんでした-すでにインポートしたキーをインポートするように求めるプロンプトが表示されました。さらに、gpgkeyエントリをrepoファイルから削除しようとしましたが、その場合yum updateは単にエラーをスローしました(gpgcheck = 1repo_gpgcheck = 1もあるため)。

なぜこれが問題なのですか?まあ、このプロセスを自動化する場合は、キーのダウンロードに使用するhttpsトランスポートを信頼する必要があるようです。それは問題ありませんが、GPGキーは、パッケージが適切にダウンロードされたことを確認する以外に、実際にはセキュリティを追加しません。

要するに、私はどちらかすでにキーをインポートしたことをyumに認識させるためのトリックが欠けていると思いますor GPGキーは本当に古いものを超えて追加されていませんhttps。手がかりはありますか?

6
SauceCode

による - yum.conf manページ、gpgkeyはパッケージのチェックに使用され、repo_gpgkeyは、リポジトリのメタデータを確認するために使用されます。 AIUC、デフォルトは0ですが、それでも実行します。 これ は、それを自動化するために機能しているように見えるカーゴカルト回避策です:

yum -q makecache -y --disablerepo='*' --enablerepo=THENEWREPO
2
Davor Cubranic