码迷,mamicode.com
首页 > 其他好文 > 详细

软件包管理之RPM

时间:2018-08-09 15:44:13      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:etc   脚本   class   not   require   nodeps   digest   --nodeps   abi   

RPM,Redhat Package Manager,即为红帽公司为RHEL开发的专用包管理器,后来更改为RPM Package Manager,类似于GNU项目,使用递归命名,GNU is Not Unix

RPM包的安装

rpm -ivh [install-options] PACKAGE.rpm ...
     i:安装 v:显示详细过程 h:以#显示进度  
         [install-options]
              --test: 测试安装,但不真正执行安装,即dry run模式
              --nodeps:忽略依赖关系
              --replacepkgs:重新安装
              --force:强制安装
              --oldpackage:安装旧的包
              --nosignature: 不检查来源合法性
              --nodigest:不检查包完整性
              --noscripts:不执行程序包脚本
                     %pre: 安装前脚本--nopre
                     %post: 安装后脚本--nopost
                     %preun: 卸载前脚本--nopreun
                     %postun: 卸载后脚本--nopostun

RPM包的升级

rpm -Uvh PACKAGE.rpm ...   安装有旧版程序包,则“升级”,如果不存在旧版程序包,则“安装”
rpm -Fvh PACKAGE.rpm ...   安装有旧版程序包,则“升级”,如果不存在旧版程序包,则不执行升级操作

注意:不要对内核做升级操作;Linux支持多内核版本并存,因此,直接安装新版本内核即可

包查询

rpm -q PACKAGE_NAME : 查询包是否安装
rpm -qa : 查询本机安装的所有包
rpm -qf FILE : 查看指定的文件由哪个程序包安装生成
rpm -qc PACKAGE_NAME : 查询程序的配置文件
rpm -qd PACKAGE_NAME : 查询程序的文档
rpm -qi PACKAGE_NAME : 查询程序的信息
rpm -ql PACKAGE_NAME : 查看指定的程序包安装后生成的所有文件
rpm -q --changelog PACKAGE_NAME : 查询rpm包的changelog
rpm -q --scripts PACKAGE_NAME : 查询程序包自带的脚本
rpm -qp PACKAGE.rpm : 针对尚未安装的程序包文件做查询操作,通常要结合 c,d,l,i等选项
rpm -q --provides PACKAGE_NAME : 列出指定程序包所提供的CAPABILITY
rpm -q --whatprovides CAPABILITY :查询指定的CAPABILITY由哪个包所提供
rpm -q --whatrequires CAPABILITY :查询指定的CAPABILITY被哪个包所依赖

包校验

rpm -V  PACKAGE_NAME

若无如何输出信息,则包完整,若有以下信息,则包被修改过

S : 表示文件大小是否被修改
M : 表示文件类型或权限被修改
5 : 表示文件MD5校验被修改,也就是文件内容被修改
D : 表示设备中的,代码是否改变
L : 表示文件路径是否改变
U : 表示文件的所有者是否改变
G : 表示文件的所属组是否改变
T : 表示文件修改时间是否被改变
P :  表示程序提供的能力是否改变

导入公钥,安装包不再有警告信息

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

查寻公钥包名并查看信息

[root@centos7 ~]# rpm -qa "gpg-pubkey*"
gpg-pubkey-f4a80eb5-53a7ff4b

[root@centos7 ~]# rpm -qi gpg-pubkey-f4a80eb5-53a7ff4b

rpm数据库重建

rpm的数据库放置于 /var/lib/rpm 下

rpm --initdb : 初始化,如果事先不存在数据库,则新建之;否则,不执行任何操作
rpm --rebuilddb : 重建已安装的包头的数据库索引目录

 

 

软件包管理之RPM

标签:etc   脚本   class   not   require   nodeps   digest   --nodeps   abi   

原文地址:https://www.cnblogs.com/dugukeling/p/9449145.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!