本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AL2023 中的儲存庫中繼資料簽署
從版本 開始2023.11.20260406,AL2023 儲存庫包含儲存庫中繼資料的密碼編譯簽章。每個儲存庫repomd.xml的檔案都隨附分離的 GPG 簽章檔案 (repomd.xml.asc),您可以在下載套件之前用來驗證儲存庫中繼資料的真實性和完整性。
此簽署是現有 RPM 套件簽署 (gpgcheck) 的補充,可驗證個別套件。儲存庫中繼資料簽署會驗證描述儲存庫內容的中繼資料,例如可用套件的清單及其檢查總和。
儲存庫中繼資料簽署的運作方式
發佈 AL2023 儲存庫時,會使用 AWS KMS 金鑰簽署儲存庫中繼資料 (repomd.xml)。產生的分離簽章 (repomd.xml.asc) 會與儲存庫中的中繼資料一起放置。
當您在儲存庫組態repo_gpgcheck中啟用 時, DNF會自動下載並驗證 GPG 公有金鑰的repomd.xml.asc簽章,然後再使用儲存庫中繼資料。如果簽章驗證失敗, 會DNF拒絕儲存庫中繼資料,且不會從該儲存庫繼續套件操作。如需 的詳細資訊repo_gpgcheck,請參閱DNF組態參考
下列 AL2023 儲存庫包含簽章的中繼資料:
核心儲存庫 (
amazonlinux)Kernel Livepatch 儲存庫 (
kernel-livepatch)NVIDIA 儲存庫 (
amazonlinux-nvidia)Amazon Linux 儲存庫的補充套件 (
amazonlinux-spal)
gpgcheck 和 之間的差異 repo_gpgcheck
| 設定 | 它驗證的內容 | AL2023 中的預設值 |
|---|---|---|
gpgcheck=1 |
在安裝之前,驗證個別 RPM 套件的 GPG 簽章。 | 已啟用 |
repo_gpgcheck=1 |
在使用儲存庫之前,驗證儲存庫中繼資料 (repomd.xml) 的 GPG 簽章。 |
已停用 (預設為從2023.12季度版本開始啟用) |
我們強烈建議您同時啟用 gpgcheck和 repo_gpgcheck。這可確保在使用前驗證儲存庫中繼資料和個別套件。
啟用儲存庫中繼資料驗證
您可以透過更新個別儲存庫的組態檔案來啟用儲存庫中繼資料驗證。
重要
從2023.12季度版本開始, repo_gpgcheck=1 會在 AL2023 儲存庫組態檔案中預設啟用。
針對特定儲存庫啟用
預設/etc/yum.repos.d/設定 中的 AL2023 儲存庫組態檔案repo_gpgcheck=0。若要啟用儲存庫中繼資料驗證,請在儲存庫組態1中將此值變更為 。例如,若要為核心儲存庫啟用它:
[amazonlinux] name=Amazon Linux 2023 repository ... gpgcheck=1 repo_gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-linux-2023
驗證儲存庫中繼資料簽署是否正常運作
啟用 後repo_gpgcheck=1,您可以透過清除DNF快取並重新整理中繼資料來驗證中繼資料驗證是否正常運作:
[ec2-user ~]$sudo dnf clean metadata[ec2-user ~]$sudo dnf makecache
如果中繼資料驗證成功, 會DNF匯入 GPG 金鑰 (如果尚未匯入),並在沒有錯誤的情況下建立中繼資料快取。您將會看到類似下列的輸出:
Amazon Linux 2023 repository 1.7 MB/s | 1.8 kB 00:00
Importing GPG key 0xD832C631:
Userid : "Amazon Linux <amazon-linux@amazon.com>"
Fingerprint: B21C 50FA 44A9 9720 EAA7 2F7F E951 904A D832 C631
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-linux-2023
Amazon Linux 2023 repository 18 MB/s | 55 MB 00:03
Metadata cache created.
如果簽章驗證失敗, DNF會顯示錯誤訊息,指出 GPG 簽章驗證失敗且中繼資料快取建立失敗。
AL2023 儲存庫的 GPG 公有金鑰
用於儲存庫中繼資料驗證的 GPG 公有金鑰由對應的儲存庫組態 RPMs 安裝至 /etc/pki/rpm-gpg/。下表列出每個儲存庫使用的公有金鑰。
| 儲存庫 | 套件簽署金鑰 | Repodata 簽署金鑰 | 在 中分佈 |
|---|---|---|---|
核心 (amazonlinux) |
RPM-GPG-KEY-amazon-linux-2023 |
RPM-GPG-KEY-amazon-linux-2023 |
system-release |
Kernel Livepatch (kernel-livepatch) |
RPM-GPG-KEY-amazon-linux-2023 |
RPM-GPG-KEY-amazon-linux-2023 |
system-release |
NVIDIA (amazonlinux-nvidia) |
RPM-GPG-KEY-NVIDIA-D42D0685 |
RPM-GPG-KEY-amazon-linux-2023-nvidia |
nvidia-release |
SPAL (amazonlinux-spal) |
RPM-GPG-KEY-amazonlinux-spal |
RPM-GPG-KEY-amazonlinux-spal |
spal-release |
當您安裝對應的儲存庫組態 RPM 時,會自動安裝這些金鑰。