CentOS下rpm命令详解

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

通用选项

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

查询

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

[root@localhost tmp]#rpm -q tree
tree-1.5.3-3.el6.x86_64#PKG为包全名
rpm -q PKG

2.查询指定文件来自于那个安装包,以/bin/ls文件为例

[root@localhost Packages]#rpm -qf /bin/ls
coreutils-8.4-43.el6.x86_64rpm -qf /PATH/TO/FILE

3.查询包更新信息

[root@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.查询包元数据

[root@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.查询包生成的所有文件

[root@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.gzrpm -ql PKG

6.查询包相关文档

[root@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.gzrpm -qd PKG

7.查询包配置文件

[root@localhost Packages]#rpm -qc bash
/etc/skel/.bash_logout
/etc/skel/.bash_profile
/etc/skel/.bashrcrpm -qc PKG

8.查询安装、卸载前后执行的脚本

[root@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必须是文件路径

[root@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
#安装
[root@localhost Packages]#rpm -ivh gcc-4.4.7-17.el6.x86_64.rpm #/PATH/TO/PKG为rpm包的路径
rpm -ivh /PATH/TO/PKG

2.在安装过程不执行脚本

[root@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.覆盖、替换安装

[root@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.一般卸载

[root@localhost Packages]#rpm -e gccrpm -e PKG

2.不执行脚本卸载

[root@localhost Packages]#rpm -e --noscripts treerpm -e --noscripts PKG

升级

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

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

CentOS下rpm命令详解相关推荐

  1. CentOS下screen 命令详解

    一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远 ...

  2. CentOS下rpm命令使用

    CentOS下rpm命令详解 rpm,Redhat Package Manager,即为红帽公司为RHEL开发的专用包管理器,后来更改为RPM Package Manager,类似于GNU项目,使用递 ...

  3. linux下dd命令详解

    linux下dd命令详解    名称: dd 使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file 使用方式: dd [option] 如果 ...

  4. linux vsftpd用法,Linux_LINUX系统下vsftpd 命令详解,FTP命令是Internet用户使用最频 - phpStudy...

    LINUX系统下vsftpd 命令详解 FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操 作系统下使用FTP,都会遇到大量的FTP内部命令. 熟悉并灵活应用FTP的内 ...

  5. linux下scp命令详解

    http://www.cnblogs.com/xuxm2007/archive/2010/08/04/1792179.html linux下scp命令详解 http://www.9usb.net/20 ...

  6. linux下tree命令详解

    From:http://blog.163.com/ly_89/blog/static/186902299201161302812880/ linux下tree命令详解---linux以树状图逐级列出目 ...

  7. Linux下top命令详解

    Linux下top命令详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷 ...

  8. linux系统rar命令行,Linux下rar命令详解

    Linux下rar命令详解 发布时间:2010-05-24 23:28:23   作者:佚名   我要评论 通常rar命令由一个主命令加若干选项(可选)构成,操作文档为操作施加的.rar文件对象,文件 ...

  9. ubuntu下route命令详解

    ubuntu下route命令详解 1.显示路由表 route -n 2.临时路由设置,重启网卡失效 #添加一条路由(发往192.168.62这个网段的全部要经过网关192.168.1.1) route ...

最新文章

  1. 内插以及在数字上变频中的应用
  2. Kubernetes的yaml文件中command的使用
  3. 超全干货 | 软件测试岗技术笔试
  4. 打开terminal后conda出现ERROR REPORT
  5. 【DKN】(六)KCNN.py
  6. 董小姐宣布重磅升级:格力空调包修时长正式升级为10年
  7. 个人vscode插件配置全记录
  8. android:videoView
  9. js打开新窗口 window.open() 隐藏菜单栏、工具栏,配置窗口大小、滚动条等
  10. java excel 列合并单元格_java怎么操作excel合并单元格
  11. 超级账本HyperLedger的Fabric-CA的使用(两个组织一个Orderer三个Peer),带视频演示
  12. 19.数学与经济管理
  13. hub设备_【小O新品】办公设备的小助手,ORICO奥睿科HUB集线器新品来袭
  14. unity-shader-基于图像的光照IBL
  15. Win10系统中如何使用安卓模拟器的方法
  16. 安徽大学计算机学院张兴义教授,“2018年CCF合肥为新研究生导航” 开启复合型人才培养之路...
  17. 2020支付行业七大预测:聚合支付牌照有望正式落地
  18. 驱动机架的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  19. 三步教你制作龙卷风迁徙地图
  20. 大数据云原生能力成熟度模型,重磅发布!

热门文章

  1. LinkedList源码阅读笔记(1.8)
  2. 关于Mysql的错误:No query specified
  3. 网页中显示xml,直接显示xml格式的文件
  4. is_file()和file_exists()
  5. Oracle发布Java移动开发路线图 影响近千万开发者
  6. LR运行9415商品拒绝问题
  7. 算法:数组中的逆序对
  8. 表单提交Post方法、Get方法
  9. 《UNIX网络编程 卷2:进程间通信(第2版)》——1.4 名字空间
  10. iOS 怎么设置 UITabBarController 的第n个item为第一响应者?