使用您自己的 GPG 密钥
如果用于自动安装的储存库包含未签名的元数据,则您通常必须使用 insecure=1 内核参数作为可自动安装的发行套件的选项,并在 AutoYaST 安装文件中使用 spacewalk/sles_no_signature_checks 代码段。
更为安全的替代方案是提供您自己的 GPG 密钥。
| 此方法仅适用于 SUSE 客户端。 | 
- 
创建 GPG 密钥。 
- 
使用它对软件包的元数据签名。 
- 
将其添加到安装媒体的初始 RAM 磁盘中。 - 
有关如何创建密钥并使用它对元数据签名的信息,请参见 对储存库元数据签名。 
- 
有关如何将密钥添加到用于网络引导的安装媒体的信息,请参见用于 PXE 引导的自己的 GPG 密钥。 
- 
有关如何将密钥添加到用于从 CD-ROM 引导的安装媒体的信息,请参见 CD-ROM 中的自己的 GPG 密钥。 
 
- 
| 在您使用新 GPG 密钥对元数据签名时,任何已进行初始配置的客户端都不会知道这个新密钥。理想情况下,您应当在注册任何客户端之前对元数据签名。 如果一些已初始配置的客户端使用的是这些储存库,可以暂时对它们禁用 GPG 密钥检查。 | 
1. 用于 PXE 引导的自己的 GPG 密钥
PXE 引导过程使用的初始 RAM 磁盘 (initrd) 通常只包含 SUSE 的 GPG 密钥。您必须将自己的密钥添加到此文件中,这样就能使用它来检查软件包。
- 
创建一个目录,其路径与引导过程中用来查找 GPG 密钥的路径相同: mkdir -p tftproot/usr/lib/rpm/gnupg/keys 
- 
将您的 GPG 密钥复制到此目录中,并加上 .asc后缀:cp /srv/www/htdocs/pub/mgr-gpg-pub.key tftproot/usr/lib/rpm/gnupg/keys/mgr-gpg-pub.asc 
- 
在顶层目录中,将内容打包并附加到属于安装媒体文件一部分的 initrd中:cd tftproot find . | cpio -o -H newc | xz --check=crc32 -c >> /path/to/initrd 
2. CD-ROM 中的自己的 GPG 密钥
您可以使用 mksusecd 实用程序修改安装映像。此实用程序包含在开发工具模块中。
- 
创建一个目录,其路径与引导过程中用来查找 GPG 密钥的路径相同: mkdir -p initrdroot/usr/lib/rpm/gnupg/keys 
- 
将您的 GPG 密钥复制到此目录中,并加上 .asc后缀:cp /srv/www/htdocs/pub/mgr-gpg-pub.key initrdroot/usr/lib/rpm/gnupg/keys/mgr-gpg-pub.asc 
- 
使用 mksusecd修改现有的 ISO 映像:mksusecd --create <new-image>.iso --initrd initrdroot/ <old-image>.iso