RPM 全名是『 RedHat Package Manager 』简称则为 RPM。RPM

是以一种数据库记录的方式来将你所需要的套件安装到你的 Linux 主机的一套管理程序。他最大的特点就是将您要安装的套件先编译过(

如果需要的话 )并且打包好了,透过包装好的套件里头预设的数据库记录, 记录这个套件要安装的时候必须要的相依属性模块( 就是你的

Linux 主机需要先存在的几个必须的套件 ),当安装在你的 Linux 主机时, RPM 会先依照套件里头的纪录数据查询 Linux

主机的相依属性套件是否满足, 若满足则予以安装,若不满足则不予安装。那么安装的时候就将该套件的信息整个写入 RPM

的数据库中,以便未来的查询、验证与反安装!这样一来的优点是:

1. 由于已经编译完成并且打包完毕,所以安装上很方便( 不需要再重新编译 );

2. 由于套件的信息都已经记录在 Linux 主机的数据库上,很方便查询、升级与反安装;

缺点是:

1. 安装的环境必须与打包时的环境需求一致或相当;

2. 需要满足套件的相依属性需求;

3. 反安装时需要特别小心,最底层的套件不可先移除,否则可能造成整个系统的问题!

SRPM 是 Source RPM 的意思,也就是这个 RPM 档案里面含有原始码( Source Code )哩!特别注意的是,这个

SRPM 所提供的套件内容『并没有经过编译』, 他提供的是原始码喔, 通常 SRPM 的附檔名是以 ***.src.rpm

这种格式来命名的。。与 RPM 档案相比, SRPM 多了一个重新编译的动作, 而且 SRPM 编译完成会产生 RPM 档案。SRPM

既然是原始码的格式,自然我们就可以透过修改 SRPM 内的参数设定档,然后重新编译产生能适合我们 Linux 环境的 RPM

档案。

使用RPM时可能会遇到软件包依赖性的问题,第一种解决方式是安装好所有的依赖包,第二种方式是使用urpmi/apt/yum来自动安装依赖包。

rpm 就会将套件的信息写入:/var/lib/rpm 这个目录中,所以,

往后您在进行查询的时候或者是预计要升级的时候,相关的信息就会由 /var/lib/rpm

这个目录的内容数据来提供。

RPM 安装包

[root@linux ~]# rpm -ivh rp-pppoe-3.1-5.i386.rpm

[root@linux ~]# rpm -ivh a.i386.rpm b.i386.rpm

*.rpm

[root@linux ~]# rpm -ivh

http://website.name/path/pkgname.rpm

可使用的参数包括--nodeps, --nomd5, --noscripts, --replacefiles,

--replacepkgs, --force, --test

RPM 升级包

-Uvh

后面接的套件即使没有安装过,则系统将予以直接安装;

若后面接的套件有安装过旧版,则系统自动更新至新版;

-Fvh

如果后面接的套件并未安装到您的 Linux 系统上,则该套件不会被安装;亦即只有安装至您 Linux

系统内的套件会被『升级』!

RPM 查询包

[root@linux ~]# rpm -qa

[root@linux ~]# rpm -q[licdR] 已安装的套件名称

[root@linux ~]# rpm -qf 存在于系统上面的某个档案

[root@linux ~]# rpm -qp[licdR] 未安装的某个文件名称

参数:

在查询的部分,所有的参数之前都需要加上 -q 才是所谓的查询!

查询主要分为两部分,一个是查已安装,另一个则是查某个 rpm 档案内容。

查询已安装套件的信息:

-q :仅查询,后面接的套件名称是否有安装;

-qa :列出所有的,已经安装在本机 Linux 系统上面的所有套件名称;

-qi :列出该套件的详细信息 (information),包含开发商、版本与说明等;

-ql :列出该套件所有的档案与目录所在完整文件名 (list);

-qc :列出该套件的所有设定档 (找出在 /etc/ 底下的檔名而已)

-qd :列出该套件的所有说明档 (找出与 man 有关的档案而已)

-qR :列出与该套件有关的相依套件所含的档案 (Required 的意思)

-qf :由后面接的文件名称,找出该档案属于哪一个已安装的套件;

查询某个 RPM 档案内含有的信息:

-qp[icdlR]:注意 -qp 后面接的所有参数以上面的说明一致。但用途仅在于找出

某个 RPM 档案内的信息,而非已安装的套件信息!注意!

RPM 验证包[root@linux

~]# rpm -Va

[root@linux ~]# rpm -V 已安装的套件名称

[root@linux ~]# rpm -Vp 某个 RPM 档案的档名

[root@linux ~]# rpm -Vf 在系统上面的某个档案

参数:-V

:后面加的是套件名称,若该套件所含的档案被更动过,才会列出来;

-Va :列出目前系统上面所有可能被更动过的档案;

-Vp :后面加的是文件名称,列出该套件内可能被更动过的档案;

-Vf :列出某个档案是否被更动过~

RPM 卸载包

[root@linux ~]# rpm -e logrotate <==解安装 logrotate

套件

[root@linux ~]# rpm --rebuilddb <==重建数据库

RPMBUILD 安装包

--rebuild

这个参数会将后面的 SRPM 进行『编译』与『打包』的动作,最后会产生 RPM 的档案,但是产生的 RPM

档案并没有安装到系统上。

--recompile

这个动作会直接的『编译』『打包』并且『安装』啰!请注意, rebuild 仅『编译并打包』而已,而 recompile

不但进行编译跟打包,还同时进行『安装』了!

摘自 鸟哥的Linux私房菜

linux中rpm -q命令,Linux中的RPM相关推荐

  1. linux安装DNS服务命令,linux配置dns服务器配置命令

    linux配置dns服务器配置命令 Linux系统的DNS服务器怎么配置,配置命令有哪些?下面跟yjbys小编一起来了解一下吧! 一.实验目的 熟悉Linux系统中DNS服务器的配置方法.理解配置过程 ...

  2. linux里面查找替换命令,LINUX 查找替换命令 总结

    find /var/ -name "*.php" > /home/tmp 在/var/目录下查找 所有以.php后缀结尾的文件  结果很多,就 > 输出结果到/home ...

  3. linux系统vi替换命令,linux:vi 替换命令

    转自:http://www.cnblogs.com/afant/archive/2009/03/11/1408745.html :s/^.*$/\L&/100 ##将100行内的小写转换成大写 ...

  4. Linux下python的命令,linux下python相关命令

    若本机已安装python2,尽量不要动现有的python2,额外安装python3即可. 1.安装python3.6(centos下安装python3自带pip和setuptools) # 安装依赖环 ...

  5. linux关闭后台运行命令,linux后台运行、关闭、查看后台任务常用命令

    一.& 加在一个命令的最后,可以把这个命令放到后台执行,如: [root@bqh-01 ~]# watch -n 3 "sh 1.sh"  #每3s在后台执行一次1.sh脚 ...

  6. linux 修改时间的命令,Linux 常用命令(查看版本、修改系统时间)

    1.查看内核版本:cat /proc/version [root@gjxb default]# cat /proc/version Linux version 2.6.9-78.8AXS2smp (p ...

  7. Linux下的tree命令 --Linux下目录树查看

    Linux下的tree命令 --Linux下目录树查看 有时我们需要生成目录树结构,可以使用的有ls -R,但是实际效果并不好 这时需要用到tree命令,但是大部分Linux系统是默认不安装该命令的, ...

  8. 查看linux镜像版本的命令,Linux镜像列表中 怎样决定自己下载哪个版本

    有不少的朋友通过网站的评论.微博.Q群上问,Ubuntu 镜像列表的网页里面,到底要下载哪个文件?下面就来详细解释一下ubuntu-releases镜像. 我们可以看到,前面有几个文件: 前面的Foo ...

  9. linux查找一个文件中abc字段命令,Linux查询命令整理(示例代码)

    在linux中,查找命令主要有find和grep,以及mlocate/locate 区别: (1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间 ...

  10. linux中清理缓存命令,linux清理缓存的命令

    查看缓存的命令 free -m 清理缓存的命令 echo 1 > /proc/sys/vm/drop_caches echo 2 > /proc/sys/vm/drop_caches ec ...

最新文章

  1. struts2上传图片的全过程
  2. 浪潮POWER 9:英特尔的挑战者
  3. nginx限制ip,只允许域名访问
  4. script学习,如何用linux监控你的同事?
  5. Redis - Spring Data Redis 操作 Jedis 、Lettuce 、 Redisson
  6. 大话设计模式-策略模式与简单工厂模式
  7. 2018.9.10.Matlab实验二:Matlab基本运算
  8. Drupal 自己定义主题实体 Theming Custom Entities
  9. 谷歌大脑2017总结(Jeff Dean执笔,干货满满,值得收藏)
  10. C++求复数的角度_单词复数规则:tomato的复数究竟是加s还是es?
  11. 使用Tesseract对图片文字OCR识别
  12. 计算机高一基础知识大全,计算机基础知识大全
  13. 小说PHP最新源码,2019最新PTCMS小说精美多风格四套全新版源码+模板
  14. 抢红包插件实现原理浅析
  15. Python爬虫防封杀方法集合
  16. 水彩风建筑效果图制作教程
  17. 网络工程师基础--流水线吞吐率
  18. 烤仔TVのCCW | 带宽不可能三角(上)
  19. ppi 各代iphone_这样的iphone12,好看还中用,必须买!
  20. 微信小程序用定时器实现倒计时效果

热门文章

  1. 用自动控制理论分析电力电子中的基本斩波电路
  2. 目前我国每小时就有1名电动自行车骑行者死于交通事故
  3. 什么是运行时应用程序自我保护(RASP)Runtime Application Self-Protection
  4. 一文搞定权限管理!授权、鉴权超详细解析
  5. c语言编程中crol,单片机C语言“_crol_” 与“_cror_”的用法
  6. 让更多的开发者听到您的声音,移动开发征文活动现已开始 | 开发者说·DTalk
  7. Eplan P8 2.7 win7/win10 安装(附带资源链接)已更新链接_20210617
  8. 如何申请自己的免费企业邮箱
  9. mysql frm、MYD、MYI数据文件恢复,导入MySQL中
  10. 树莓派 与 Xbox360手柄 基于pygame 的一次邂逅