rpm简单使用

rpm
描述:利用源码包编译成rpm时,会去指定安装好这个包的位置
本质:解压,然后拷贝到相关的目录,然后执行脚本

vstpd-3.0.2-9.el7.x86_64.rpm
包名  版本   release 架构
[root@rhel7 Packages]# rpm -ivh vsftpd-3.0.2-9.el7.x86_64.rpm 
warning: vsftpd-3.0.2-9.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:vsftpd-3.0.2-9.el7               ################################# [100%]

查询所有已经安装过的包

[root@rhel7 Packages]# rpm -qa|grep vsftp
vsftpd-3.0.2-9.el7.x86_64

查看安装位置

[root@rhel7 Packages]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd

解压rpm

[root@rhel7 tmp]# rpm2cpio vsftpd-3.0.2-9.el7.x86_64.rpm | cpio -id
707 blocks

查看脚本

[root@rhel7 tmp]# rpm -qp --scripts vsftpd-3.0.2-9.el7.x86_64.rpm 

查看配置文件

[root@rhel7 tmp]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf

查看安装信息

[root@rhel7 tmp]# rpm -qi vsftpd
Name        : vsftpd
Version     : 3.0.2
Release     : 9.el7
Architecture: x86_64
Install Date: Mon 27 Aug 2018 12:05:32 PM CST
Group       : System Environment/Daemons
[root@rhel7 tmp]# rpm -qip vsftpd-3.0.2-9.el7.x86_64.rpm  使用安装包的情况
warning: vsftpd-3.0.2-9.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Name        : vsftpd
Version     : 3.0.2
Release     : 9.el7
Architecture: x86_64
Install Date: (not installed)

查看文件源于那个安装包

[root@rhel7 tmp]# rpm -qf /etc/vsftpd/vsftpd.conf 
vsftpd-3.0.2-9.el7.x86_64
[root@rhel7 tmp]# rpm -qf `which ifconfig`
net-tools-2.0-0.17.20131004git.el7.x86_64

强制安装--force使用情况(如文件丢失)

[root@rhel7 tmp]# rm -rf /etc/vsftpd/user_list
[root@rhel7 tmp]# ll /etc/vsftpd/user_list
ls: cannot access /etc/vsftpd/user_list: No such file or directory
[root@rhel7 tmp]# rpm -ivh vsftpd-3.0.2-9.el7.x86_64.rpm --force
[root@rhel7 tmp]# ll /etc/vsftpd/user_list
-rw-------. 1 root root 361 Mar  7  2014 /etc/vsftpd/user_list

更新:先卸载旧版本的软件包,再安装新版本的软件包,但是内核是可以多版本共存

rpm -Uvh 软件包 #在已经安装包的基础上

签名
描述:对于非对称加密有公钥和私钥,有两种用户用法:
一种是数据加密,这是公钥加密,私钥解密
另一个功能是数字签名,是私钥加密,公钥解密,利用哈希函数(md5,sha512),输入一个不定长的值总是可以得到一个定长的值原理:如A,B两个主机,A要发送东西给B,先证明对方是目标,A对原文件使用私钥进行加密,B是使用A的公钥来解密,B会对文件生成一个哈希值,进行对比。就如redhat官方提供的包,在网站上有一符数字签名,下载后与之对比,一致表示是安全的

 [root@rhel7 tmp]# rpm -K vsftpd-3.0.2-9.el7.x86_64.rpm  #安装包是使用redhat的私钥签名的,要使用公钥来验证
vsftpd-3.0.2-9.el7.x86_64.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#fd431d51)   
导入redhat的公钥
[root@rhel7 ~]# rpm -qa|grep pubkey
[root@rhel7 ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
[root@rhel7 ~]# rpm -qa|grep pubkey
gpg-pubkey-fd431d51-4ae0493b
gpg-pubkey-2fa658e0-45700c69
[root@rhel7 ~]# rpm -K /tmp/vsftpd-3.0.2-9.el7.x86_64.rpm 
/tmp/vsftpd-3.0.2-9.el7.x86_64.rpm: rsa sha1 (md5) pgp md5 OK

  

posted @ 2018-09-25 10:00  Reid21  阅读(375)  评论(0编辑  收藏  举报