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下rpm命令详解

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

  2. linux yum安装 rpmbuild,Redhat/Centos下rpmbuild命令从spec文件或者tar包建立rpm

    rpmbuild是用来指示转换的源码不定编译成二进制文件的包. 二.Redhat/Centos下rpmbuild命令目录 /usr/src/redhat --BUILD #编译之前,如解压包后存放的路 ...

  3. linux rpm 查找,Linux下 rpm 命令查询方法

    [root@wang /]# rpm -qa // 查看安装所有包 [root@wang /]# rpm -qa |grep vim // 查询所安装的包 +包名 [root@wang /]# rpm ...

  4. linux 卸载yum源,CentOS下rpm包与yum安装与卸载更新系统源

    CentOS下rpm包与yum安装与卸载 一.rpm包的安装: 1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参数 --forc ...

  5. Centos 误删rpm命令拯救

    rpm是redhat系统上的包管理器 如果误删除了rpm命令,带来的影响就是除非编译源码包,否则就装不上任何程序. 如果你误删了rpm命令,请耐心看下去,我会告诉你怎么拯救它. 先请看我的另一篇博客 ...

  6. CentOS 下 rpm包与 yum 安装与卸载

    一.rpm包的安装: 1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文件也强迫安装 - ...

  7. CentOS下screen 命令详解

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

  8. centos下rpm包

    参考博客: https://www.cnblogs.com/michael-xiang/p/10480809.html https://www.cnblogs.com/SQL888/p/5776442 ...

  9. centos下rpm与yum包的安装与卸载

    一.rpm包的安装: 1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文件也强迫安装 - ...

最新文章

  1. 华为AR28-11路由器配置
  2. java handler类_java——Handler类
  3. python token post403原因_Django的POST请求时因为开启防止csrf,报403错误,及四种解决方法...
  4. 盘点那些让程序员目瞪口呆的奇葩Bug,最后一个什么梗
  5. python建立矩阵原理_怎么用python建立矩阵-问答-阿里云开发者社区-阿里云
  6. Python正则表达式总结
  7. 移动端自适应布局方案尝试
  8. 编写第一个 Hibernate 例子
  9. Vue3.0 项目创建
  10. RPG Maker MV如何导入dlc素材?
  11. 纯MSDOS操作系统下的计算机重启与关机
  12. 关于from scipy.misc import comb ImportError: cannot import name 'comb'的问题
  13. HFSS仿真侧馈微带天线学习笔记
  14. (8)香橙派+apache2与php+天猫精灵=自建平台语音支持--天猫精灵对接3
  15. 不同RAID硬盘利用率参考
  16. GNSS-ITRS_GCRS_J2000坐标系的相互转换
  17. 访问网站,http、https协议抓包,完整分析
  18. 英式音标26字母发音规律
  19. 数学论文(优化方向)写作总结
  20. hud 1013 求一个数的数字根(合九法||模拟)

热门文章

  1. 微信小程序 this和that详解及简单实例
  2. 冒泡排序,选择排序,插入排序
  3. 利用shell和iptables实现自动拒绝恶意试探连接SSH服务
  4. 微信小程序周报(第十一期)-极乐商店出品
  5. 卡尔曼滤波器实例:进一步讨论自由落体运动
  6. (转)B2B2C,从营销的角度,来理解SaaS
  7. 机器与人交流的五大法则
  8. Bone collector//动态规划
  9. CentOS5.5下SVN部署文档
  10. JQMObile 优势