对YUM仓库服务器的操作
- 生成GPG密钥
gpg --gen-key
根据提示输入相关信息以生成密钥对
提示信息
Your selection?
回车 (生成的密码类型)
What keysize do you want? (2048)
回车 (密钥长度默认:2048)
Key is valid for? (0)
回车 (不想永久有效自行选择,n:n天后到期;nw:n周后到期;nm:n月后到期;ny:n年后到期)
Real name:
输入真实姓名(用字母,不小于5字符)
Email address:
输入邮箱 (163邮箱,或者qq邮箱等)
Comment:
备注信息
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?
修该信息,确认无误后输入O回车退出
之后会让设置GPG密钥密码输两次,很重要忘了就加密不了软件了
点击这里删除GPG密钥
- 导出公钥到文件
gpg --export -a "Your Name <your@email.com>" >> /var/www/html/yum/public.gpg
Your Name <your@email.com>
写自己的GPG密钥的表示信息(也就是名称),不知道的执行下面命令查看,运行结果中uid
后面的就是
gpg --list-keys
- 导入公钥到rpm
rpm --import /var/www/html/yum/public.gpg
点击这里移除公钥
rpm --addsign /var/www/html/yum/*.rpm
回车后输入创建GPG密钥时最后设置的密码
*.rpm
代表给所以.rpm
结尾的文件,及软件包;也可以改为软件包全名
加密时提示rpm: /usr/bin/rpmsign: No such file or directory
或You must set "%_gpg_name" in your macro file
点击这里解决
- 更新YUM仓库元数据
createrepo_c --update /var/www/html/yum/
修改测试服务器yum源配置文件
[localrepo]
name=Local Repository
baseurl=http://域名或IP地址/yum
enabled=1
gpgcheck=1
gpgkey=http://域名或IP地址/yum/public.gpg
恭喜你完成GPG签名检查,按照之前的方法测试吧
安装软件时提示416错误点这里
删除密钥
删除GPG密钥
- 查看gpg密钥列表
gpg --list-keys
#示例
/root/.gnupg/pubring.gpg
------------------------
pub 2048R/0C7B54AE 2024-06-23
uid qwert <1234@163.com>
sub 2048R/F1E092B3 2024-06-23
pub
是公钥删除用到0C7B54AE
这部分
sub
是私钥删除用到F1E092B3
这部分
- 删除私钥
gpg --delete-secret-keys F1E092B3
- 删除公钥
gpg --delete-keys 0C7B54AE
先删除私钥才可以删除公钥,删除私钥时要确认两次,公钥确认移除
删完可以再用gpg --list-keys
命令确认
删除导入到rpm的公钥
- 查看当前已导入的GPG公钥
rpm -q gpg-pubkey
#运行结果示例
gpg-pubkey-16ca1a56-4a100959
- 删除指定的公钥
rpm -e gpg-pubkey-16ca1a56-4a100959
删完可以再用rpm -q gpg-pubkey
命令确认