DIY的RPM包怎么签名呢 - 笔记
参考 https://gist.github.com/fernandoaleman/1376720
如果打不开上一个连接,请参考https://www.cnblogs.com/LiuYanYGZ/p/9433756.html
如何制作带签名的自定义rpm包
操作步骤:
制作rpm包的服务器: 由于制作rpm包的用户打算使用rpmuser用户,所以可以将gpg的一系统操作在rpmuser下进行,我使用的是root,然后再将/root/.gnupg/拷贝到/home/rpmuser/.gnugp/ 再改chown -R rpmuser:rpmuser /home/rpmuser/.gnugp/ )gpg --gen-key pg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 2D50D623 marked as ultimately trusted
public and secret key created and signed. )gpg --list-keys
[root@localhost rpmbuild]# gpg --list-keys
/root/.gnupg/pubring.gpg
------------------------
pub 1024R/2D50D623 --
uid FeiTian (FeiTian Released) <sales@ftsafe.com>
sub 1024R/FF885B48 -- )gpg --export -a 2D50D623 > RPM-GPG-KEY )配置 ~/.rpmmacros file
# vim ~/.rpmmacros
#
# %_signature => This will always be gpg
# %_gpg_path => Enter full path to .gnupg in your home directory
# %_gpg_name => Use the Real Name you used to create your key
# %_gpbin => run `which gpg` (without ` marks) to get full path %_signature gpg
%_gpg_path /root/.gnupg
%_gpg_name Fernando Aleman
%_gpgbin /usr/bin/gpg )为DIY的包签名
rpm --addsign git-1.7.7.3-.el6.x86_64.rpm
或
rpm --addsign *.rpm
root下对未签名的rpm包进行签名,签名后的文件与签名前的相比只是在文件头部(添加)修改了一些信息, 签名后大了344个字节。
然后rpmuser下的操作却整个包没有相同的地方。 )rpm build期间可以指定--sign来直接得到签名了的rpm包
rpmbuild -ba --sign SPECS/hello.spec 下载rpm者:
)导入发布者公钥RPM-GPG-KEY
sudo rpm --import RPM-GPG-KEY )Verify the list of gpg public keys in RPM DB
rpm -q gpg-pubkey --qf '%{name}-%{version}-%{release} --> %{summary}\n' )成功导入公钥后才能验签 (观察'gpg OK')---先打包后签名的rpm包
[root@localhost GPG]# rpm --checksig /usr/local/hello-0.1-.x86_64.rpm
/usr/local/hello-0.1-.x86_64.rpm: rsa sha1 (md5) pgp md5 确定
否则,提示不正确 ---先打包后签名的rpm包
[root@localhost GPG]# rpm --checksig /usr/local/hello-0.1-.x86_64.rpm
/usr/local/hello-0.1-.x86_64.rpm: RSA sha1 (MD5) PGP md5 不正确 注意:无论是先打包后签名 还是 打包时直接签名, 验签时都显示"pgp 确定"
[root@localhost GPG]# rpm --checksig ./hello-0.1-.x86_64.rpm.signed_first_rpm_second_sign
./hello-0.1-.x86_64.rpm.signed_first_rpm_second_sign: rsa sha1 (md5) pgp md5 确定
[root@localhost GPG]#
[root@localhost GPG]#
[root@localhost GPG]#
[root@localhost GPG]# rpm --checksig ./hello-0.1-.x86_64.rpm_rpmbuild_with--sign
./hello-0.1-.x86_64.rpm_rpmbuild_with--sign: rsa sha1 (md5) pgp md5 确定
DIY的RPM包怎么签名呢 - 笔记的更多相关文章
- DIY的RPM包怎么签名呢 How to sign your custom RPM package with GPG key
https://gist.github.com/fernandoaleman/1376720 How to sign your custom RPM package with GPG key 这是文 ...
- 使用rpm-build制作nginx的rpm包
2014-11-27 11:05:49 一.RPM包的分类 RPM有五种基本的操作功能:安装.卸载.升级.查询和验证. linux软件包分为两大类: (1)二进制类包,包括rpm安装包(一般分为i ...
- 一步步制作RPM包
一步步制作RPM包 来源 http://blog.51cto.com/laoguang/1103628 一.RPM制作步骤 我们在企业中有的软件基本都是编译的,我们每次安装都得编译,那怎么办呢?那就根 ...
- [转帖]Linux学习笔记之rpm包管理功能全解
Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 ...
- Linux学习笔记之rpm包管理功能全解
0x00 软件包管理器 所有的软件都是由文件格式的程序代码(即源代码),经过编译成为一个可执行二进制文件:对于一个软件来说,其包含二进制程序.库文件.配置文件以及帮助文件.在应用中,每次要安装程序时通 ...
- linux学习笔记3:linux的网络配置,rpm包,shell以及samba服务器的使用和安装
1.linux下的shell<linux命令.编辑器和shell编程> (1)shell种类有很多,常用的有三种,在linux可以通过ls -l /bin/*sh 来显示所有已安装的she ...
- Linux学习笔记15—RPM包的安装OR源码包的安装
RPM安装命令1. 安装一个rpm包rpm –ivh 包名“-i” : 安装的意思“-v” : 可视化“-h” : 显示安装进度另外在安装一个rpm包时常用的附带参数有:--force : 强制安装, ...
- RPM 包的构建 - SPEC 基础知识
spec 文件 制作 rpm 软件包并不是一件复杂的工作,其中的关键在于编写软件包的 spec 描述文件. 要想制作一个 rpm 软件包就必须写一个软件包描述文件 spec.这个文件中包含了软件包的诸 ...
- 安装rpm包时遇到Header V3 DSA signature: NOKEY时解决办法
安装rpm包,特别是没有GPGkey校验,原因是rpm版本过低导致的. 代码如下: warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY ...
随机推荐
- js字符串和数组操作,容易混淆的方法总结(slice、substring、substr、splice)
平时工作中,很少静下心来总结基础知识,总觉得自己会用了,有点飘了,直到碰壁之后才懂得基础知识的重要性.大牛告诉我,一次写对,是不是可以不用F12去调试了?是不是省了时间?简直是面红耳赤,无地自容.在这 ...
- Codeforces 786C. Till I Collapse 主席树
题目大意: 给定一个长度为\(n\)的序列,要求将其划分为最少的若干段使得每段中不同的数字的种数不超过\(k\). 对于 \(k = 1 .. n\)输出所有的答案. \(n \leq 10^5\) ...
- Erlang tool -- lager overload protection
log 这个事, 说大不大说小又不小. 大点的, 可以用scribe flume 这样的系统去做, 小点的, 也就打印一个调试信息而已. 在Erlang 中, log 这事情确实比较伤, error_ ...
- TX2上安装spi和uart驱动
替换/boot目录下的Image文件 重新烧写dtb文件.烧写方式参考. 文件下载
- FlatBuffers使用简介
@[tools|flatbuffers|opensource] 概述### Google在今年6月份发布了跨平台序列化工具FlatBuffers,提供了C++/Java/Go/C#接口支持,这是一个注 ...
- 网络监控之一:ss(Socket Statistics)
ss是Socket Statistics的缩写. 顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的 ...
- 深入理解CPU和异构计算芯片GPU/FPGA/ASIC (下篇)
3.2.1 CPU计算能力分析 这里CPU计算能力用Intel的Haswell架构进行分析,Haswell架构上计算单元有2个FMA(fused multiply-add),每个FMA可以对256bi ...
- python之特殊方法
特殊方法的定义: 1.定义在某些class当中 2.不需要直接调用 3.Python的某些函数或者是操作符会调用相应的特殊方法 特殊方法很多,我们只需要编写用到的特殊方法,以及有关联性的特殊方法. — ...
- apache2不识别php
sudo apt-get install libapache2-mod-php7.0 sudo a2enmod php7.0 sudo service apache2 restart 注意:Apach ...
- Web访问中的角色与协议