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