yum.repos.d
ディレクトリに外部ストレージを追加しようとしています。リポジトリのパッケージとメタデータはgpgキーを使用して署名されます。関連がある場合は、CentOS 7.2を使用しています。
私が知っている限り、リポジトリを設定する伝統的な方法は、リポジトリファイルにgpgキーへのリンクを含めることです。
つまり、example.repo
内部ファイルには/etc/yum.repos.d
次の行が含まれています。
gpgkey = https://example.com/repo/key
その後、実行するとGPGキーをインポートするように求められyum update
、[y/N]
実行すると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
リポジトリファイルからエントリを削除しようとしましたが、この場合はエラーが発生します(およびyum update
もあるため)。gpgcheck = 1
repo_gpgcheck = 1
これはなぜ重要ですか?さて、このプロセスを自動化するには、キーダウンロードのためにhttps転送を信頼する必要があるようです。大丈夫ですが、GPGキーはパッケージが正しくダウンロードされたことを確認する以外に、実際にセキュリティを追加しません。
簡単に言えば、私の考えでは誰でもキーをインポートしたことをyumに認識させるトリックはありません。またはGPGキーは実際には既存のhttps以外に多くを追加しません。どんな手がかりがありますか?
答え1
これ主要輸入品の自動化に効果があると思われる貨物カルトの解決方法は次のとおりです。
yum -q makecache -y --disablerepo='*' --enablerepo=THENEWREPO
答え2
rpm --import
YUMリポジトリではなくRPMパッケージを確認するためにのみインポートされたキーを使用してください。yum
内部に自分のキーを隠します/var/lib/yum/repos
。各リポジトリごとに個別のキーリングを維持します。
リポジトリのインストール時にリモートキーを本当に信頼したくない場合は、キーを個別にダウンロードしてリポジトリフィールドへのgpgkey
ローカルパスを設定します。次に、リポジトリ(信頼できる)キーでいっぱいのローカルファイルを使用します。キーが循環する場合は、手動で新しいキーをインポートする必要があることに注意してください。