rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。

RPM包与源码包的区别

1、软件包分类

源码包:C源代码包

rpm包:编译之后的二进制包

2、源码包

优点:开源;可以自由选择所需功能;可看源代码;卸载方便(直接删除安装位置);

缺点:安装步骤过多;编译时间过长;

3、RPM包

优点:使用简单,只需要几个命令就可以实现包的安装、升级、查询、卸载;安装速度快;

缺点:不能看源代码;功能选择不如源代码灵活;依赖性;

RPM包命名和依赖性

RPM包的命名规则

1、 httpd-2.4.6-67.el7.centos.x86_64.rpm

httpd 软件包名

2.4.6 软件版本

67 软件发行的次数

el7.centos 适合的linux平台

x86_64 适合的硬件平台

rpm rpm包扩展名

2、RPM包的依赖性

树形依赖性:a -> b -> c,即a依赖b,b依赖c

环形依赖:a -> b -> c -> a

rpm基本功能

1、rpm命令用于管理程序包:

主要 作用:安装、升级、卸载、查询、校验、数据库维护

2、rpm具体使用方法

(1)语法:rpm[OPTIONS] [PACKAGE_FILE] 即 rpm 【选项】【包文件】

(2)相关选项参数命令

安装:-i,--install

升级:-U,--update,-F

卸载:-e.--erase

查询:-q --query

校验:-V,--verify

数据库维护:--builddb,--initdb

3、各选项参数详解

(1)安装:rpm {-i|--install} [install-options] PACKAGE_FILE ..

rpm -ivh PACKAGE_FILE ..(rpm包常规安装命令)

GENEARL OPTIONS:综合选项

-i:安装

-v: 详细信息

-vv:更加详细的信息

-h:hash marks 输出进度条:50个#表示进度条

--prefix :安装指定目录

--test:测试安装,检查并报告安装是否完成 --> rpm -ivh --test PACKAGE_FILE ..

--nodeps:忽略依赖关系,不建议操作 --> rpm -ivh --nodepst PACKAGE_FILE

--replacepkgs:重新安装rpm包 --> rpm -ivh --replacepkgs PACKAGE_FILE

--nosignature:不检查签名信息,不检查来源合法性

--nodigest:不检查包完整信息:

举列:

[root@localhost leiyuncai]# rpm -ivh zsh- 5.0.2-14.el7.x86_64.rpm

注意:忽略 --nodeps 依赖关系强制安装可能会导致所安装包不能够正常工作

(2)升级

rpm {-U|--upgrade} [install-options] PACKAGE_FILE ..

rpm {-F|--freshen} [install-options] PACKAGE_FILE ..

-U: 升级或者安装

-F:单纯的升级,如果之前没有rpm包将无法升级

--test:测试安装,检查并报告完成 --> rpm -Uvh --test PACKAGE_FILE ..

--nodeps:忽略依赖关系,不建议操作 --> rpm -Uvh --nodepst PACKAGE_FILE

--replacepkgs:重新安装rpm包 --> rpm -ivh --Ueplacepkgs PACKAGE_FILE

--oldpackage::降级操作

--force:强制升级

举列:[root@localhost leiyuncai]# rpm -Uvh zsh-5.0.2-14.el7.x86_64.rpm

注意:(1)不要对内核做升级操作,Liunx支持多内核并存,直接安装新版本

(2) 如果源程序包的配置文件安装后曾修改过,升级时,新版本的程序提供的同一配置文件不会覆盖原有版本文件,而重命名为(FILENAME,rpmnew)

(3)卸载:

rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--test] PACKAGE_NAME ...

rpm -e 软件包名称

-e:卸载指定程序

-allmatches:卸载所有匹配指定名称的程序包的各个版本

--nodeps:忽略依赖关系

--test:测试卸载,显示依赖关系

举列:

[root@localhost ~]# rpm -e zsh

(4) 查询

rpm {-q|--query} [select-options] [query-options]

select-options:给指定值,一般是需要查询文件名称

-a.all:查询所有已经安装过的包,后面一般通过管道输出至正则表达式匹配-列如: rpm -qa | grep "^z"

-f FILE:查看指定的文件由哪个程序包安装生产:

-p, --package PACKAGE_FILE:对于未安装的程序包执行查询操作

--whatprovides CAPABILITY:查询指定的CAPABILITY由哪个程序包提供

--whatrequlres CAPABILITY:查询指定的-CAPABILITY被哪个程序包依赖

[query-options]

--changelog:查询rpm包的changelog; 历史

-l --list:列出程序包安装生产的文件列表

-i,--info:查询程序包相关的信息,包含版本、信息、时间等等

-c,:查询程序包有哪些指定的配置文件

-d:查询指定的程序包提供的文档信息

--provides:列出指定程程序包的 CAPABILITY

-R,--regulres:查询程序包依赖的包

--scripts:查看程序包自带的脚本片断

举列:

1.[root@localhost Packages]# rpm -qa

#:查询所有安装的包

2.[root@localhost Packages]# rpm -qpi httpd-devel

#:查询未安装包的详细信息

3.[root@localhost Packages]# rpm -qi httpd-devel

#:查看程序包的相关信息

4.[root@localhost Packages]# rpm -ql httpd-devel

#:查看程序包安装产生的文件列表

5.[root@localhost Packages]# rpm -qc zsh

#:查看程序包的配置文件

6.[root@localhost Packages]# rpm -qd zsh

#:查看程序包提供的文档信息

7.[root@localhost Packages]# rpm -qR zsh

# :查询程序包依赖的包

linux下的rpm命令详解,RPM包命令详解相关推荐

  1. 详解linux下auto工具制作Makefile源码包(制作篇)

    2019独角兽企业重金招聘Python工程师标准>>> 详解linux下auto工具制作Makefile源码包(制作篇) 水木杨 一.     概述 为了更好的制作configure ...

  2. linux下grep文件内容搜索工具及基本正则表达式详解

    linux下grep文件内容搜索工具及基本正则表达式详解 grep命令: 根据模式(文本字符和基本正则表达式的元字符组合而成之匹配条件)搜索文本, 并将符合模式的文本行显示出来. 格式:grep [选 ...

  3. linux系统下安装pip3,linux下安装python3和对应的pip环境教程详解

    linux下安装python3和对应的pip环境教程详解 1.下载python3.6的安装包: 2.解压后,进入到解压目录下,执行如下命令,将python3.6进行编译,如下是将python的环境编译 ...

  4. (转)Linux下PS1、PS2、PS3、PS4使用详解

    Linux下PS1.PS2.PS3.PS4使用详解 原文:http://www.linuxidc.com/Linux/2016-10/136597.htm 1.PS1--默认提示符 如下所示,可以通过 ...

  5. Linux下zip格式文件的解压缩与压缩操作命令详解

    < Linux下zip格式文件的解压缩与压缩操作命令详解 > * 声明:网上找来比较凌乱,整理了一下,方便自己查看 zip格式文件的解压缩与压缩操作: 1.把/home目录下面的huaza ...

  6. linux下因修改/etc/sudoers 从而导致sudo命令无法使用

    linux下因修改/etc/sudoers 从而导致sudo命令无法使用报错如下: ~$ sudo sudo: >>> /etc/sudoers:syntax error 在行 21 ...

  7. LINUX下用CTRL+R快速搜索HISTORY历史命令,快速索引到之前使用过的命令行语句

    LINUX下用CTRL+R快速搜索HISTORY历史命令,快速索引到之前使用过的命令行语句 前提是,搜索已经使用的命令,否则是查不出来结果的. ctrl+r 用途:反向搜索执行过的命令.(revers ...

  8. linux如何识别3t硬盘分区,linux下,给3T硬盘分区,parted命令出现问题,无法分区!!!!急!!...

    linux下,给3T硬盘分区,parted命令出现问题,无法分区!!!!急!! linux下,给3T硬盘分区,parted命令出现问题,无法分区!!!!急!! (parted) p Model: Se ...

  9. linux进程网络监控,linux下的进程、网络、性能监控命令

    Linux下的java虚拟机性能监控与故障处理命令 java包中提供了很多监控JVM的工具类,作为java程序员必须得掌握常用的几个工具,下面是几个常用的JVM性能监控与故障处理工具的介绍与使用. 1 ...

  10. linux 下生成docx,linux下创建、删除文件和文件夹命令.docx

    linux下创建.删除文件和文件夹命令.docx 还剩 6页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 学习 Linux 二(创建.删除文件和文件夹 ...

最新文章

  1. [deviceone开发]-组件功能演示示例
  2. MySQL中INSERT INTO SELECT的使用
  3. Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式
  4. Dubbo序列化对象
  5. 交换机工作原理_什么是POE交换机,它有什么好处?
  6. Java并发教程–线程之间的可见性
  7. c 连接mysql总是失败_Windows 下用C++连接MYSQL失败
  8. 拓端tecdat|R语言探索BRFSS数据可视化
  9. mysql 程序编码_MySql编码
  10. QuickFlowDesigner教程(4)如何用代码控制活动操作人
  11. 门限回归模型的思想_门限回归汇总与空间门槛回归模型简介
  12. 分享几个不错的流程图制作网站
  13. 阿里发布内部(面试官)题库:2022年Java社招岗(正式版)面试题
  14. 【英语六级笔记】翻译部分
  15. Android Studio 类微信界面的制作
  16. Mysql优化之6年工作经验总结
  17. 浅析LRU(K-V)缓存
  18. 谷歌浏览器网盘倍速播放
  19. 2020年茶艺师(初级)考试及茶艺师(初级)实操考试视频
  20. POE网络变压器的检测要求及具体测试标准

热门文章

  1. 软件构造之java类图
  2. python使用jpype模块调用java的jar包来实现功能
  3. 现代密码学(七)对称密钥管理和公钥革命
  4. String常用 方法
  5. VBA按行读取TXT文本文件
  6. Android studio基础练习02【监听器实现下拉菜单】
  7. 使用Kali Linux系统生成木马病毒并实现远程控制计算机
  8. [团队项目]英语学习助手之 NABC 模型
  9. 大地测量学基础 (复习)
  10. 《JavaScript DOM编程艺术》知识整理