设为首页 收藏本站
查看: 531|回复: 0

[经验分享] CentOS下rpm命令详解

[复制链接]

尚未签到

发表于 2017-6-9 10:53:23 | 显示全部楼层 |阅读模式
CentOS下rpm命令详解

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


通用选项

-v 显示附加信息
-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安
装程序都会安装到这个目录下
--dbpath 设置RPM 资料库存所在的路径为
查询

  1.查询指定的包是否安装,比如tree


[iyunv@localhost tmp]#rpm -q tree
tree-1.5.3-3.el6.x86_64
#PKG为包全名
rpm -q PKG
  2.查询指定文件来自于那个安装包,以/bin/ls文件为例


[iyunv@localhost Packages]#rpm -qf /bin/ls
coreutils-8.4-43.el6.x86_64
rpm -qf /PATH/TO/FILE
  3.查询包更新信息


[iyunv@localhost Packages]#rpm -q --changelog tree
* Thu Nov 27 2014 Tim Waugh <twaugh@redhat.com> - 1.5.3-3
- Handle large UID/GID values (bug #1110559).
* Wed Mar 03 2010 Tim Waugh <twaugh@redhat.com> 1.5.3-2
- Added comments to all patches.
...
rpm -q --changelog PKG
  4.查询包元数据


[iyunv@localhost Packages]#rpm -qi tree
Name        : tree                         Relocations: (not relocatable)
Version     : 1.5.3                             Vendor: CentOS
Release     : 3.el6                         Build Date: Wed 14 Jan 2015 08:21:02 PM CST
Install Date: Sat 25 Mar 2017 04:17:05 AM CST      Build Host: c6b9.bsys.dev.centos.org
Group       : Applications/File             Source RPM: tree-1.5.3-3.el6.src.rpm
...
rpm -qi PKG
  5.查询包生成的所有文件


[iyunv@localhost Packages]#rpm -ql tree
/usr/bin/tree
/usr/share/doc/tree-1.5.3
/usr/share/doc/tree-1.5.3/LICENSE
/usr/share/doc/tree-1.5.3/README
/usr/share/man/man1/tree.1.gz
rpm -ql PKG
  6.查询包相关文档


[iyunv@localhost Packages]#rpm -qd tree
/usr/share/doc/tree-1.5.3/LICENSE
/usr/share/doc/tree-1.5.3/README
/usr/share/man/man1/tree.1.gz
rpm -qd PKG
  7.查询包配置文件


[iyunv@localhost Packages]#rpm -qc bash
/etc/skel/.bash_logout
/etc/skel/.bash_profile
/etc/skel/.bashrc
rpm -qc PKG
  8.查询安装、卸载前后执行的脚本


[iyunv@localhost Packages]#rpm -q --scripts bash
postinstall scriptlet (using <lua>):
bashfound = false;
shfound = false;

f = io.open("/etc/shells", "r");
if f == nil
then
...
#有四个时间点可以执行脚本程序:包安装前、安装后、卸载前以及卸载后
安装

  1.安装rpm程序包,在安装过程,后面的PKG必须是文件路径


[iyunv@localhost Packages]#rpm -ivh gcc-   ## 按两次tab键
gcc-4.4.7-17.el6.x86_64.rpm           gcc-java-4.4.7-17.el6.x86_64.rpm
gcc-c++-4.4.7-17.el6.x86_64.rpm       gcc-objc-4.4.7-17.el6.x86_64.rpm
gcc-gfortran-4.4.7-17.el6.x86_64.rpm  gcc-objc++-4.4.7-17.el6.x86_64.rpm
gcc-gnat-4.4.7-17.el6.x86_64.rpm      
#安装
[iyunv@localhost Packages]#rpm -ivh gcc-4.4.7-17.el6.x86_64.rpm
#/PATH/TO/PKG为rpm包的路径
rpm -ivh /PATH/TO/PKG
  2.在安装过程不执行脚本


[iyunv@localhost Packages]#rpm -ivh --noscripts tree-1.5.3-3.el6.x86_64.rpm
warning: tree-1.5.3-3.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
1:tree                   ########################################### [100%]
rpm -ivh  --noscripts PKG
  3.覆盖、替换安装


[iyunv@localhost Packages]#rpm -ivh --replacepkgs tree-1.5.3-3.el6.x86_64.rpm
warning: tree-1.5.3-3.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
1:tree                   ########################################### [100%]

rpm -ivh --replacepkgs PKG
  在安装过程可能出现以来错误,如A包依赖于B包,那么在A包安装之前,需要先安装好B包


  4.详细选项


选项含义



-h
安装时以#显示安装进度


--percent
以百分比的形式输出安装的进度


--test
测试安装


--replacepkgs
替换属于其它软件包的文件


--force
忽略软件包及文件的冲突


--noscripts
不运行预安装和后安装脚本


--ignorearch
不校验软件包的结构


--ignoreos
不检查软件包运行的操作系统


--nodeps
不检查依赖性关系

卸载

  1.一般卸载


[iyunv@localhost Packages]#rpm -e gcc
rpm -e PKG
  2.不执行脚本卸载


[iyunv@localhost Packages]#rpm -e --noscripts tree
rpm -e --noscripts PKG
升级

[iyunv@localhost Packages]#rpm -Uvh tree-1.5.3-3.el6.x86_64.rpm
rpm -Uvh PKG

rpm -Fvh PKG
  -U和-F选项均可以升级一个包.但是,旧包不存在时,-U选项会安装新包,而-F选项不安装新包。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-385513-1-1.html 上篇帖子: 【Linux】【Services】【Package】rpm包制作 下篇帖子: 调试LD_PRELOAD注入的代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表