RPM 命令详细介绍

一、RPM介绍

1.什么是rpm ?

rpm 即RedHat Package Management,是RedHat的发明之一

2.为什么需要rpm ?

在一个操作系统下,需要安装实现各种功能的软件包。这些软件包一般都有各自的程序,

但是同时也有错综复杂的依赖关系。同时还需要解决软件包的版本,以及安装,配置,

卸载的自动化问题。为了解决这些问题,RedHat针对自己的系统提出了一个较好的办法

来管理成千上万的软件。这就是RPM管理系统。在系统中安装了rpm管理系统以后,

只要是符合rpm文件标准的打包程序都可以方便地安装、升级、卸载。

3.是不是所有的linux都使用rpm ?

任何系统都需要包管理系统,因此很多linux都使用rpm系统。 rpm系统是Redhat Linux和Fedora Core的软件包管理器,但是Mandriva、SuSE等Linux发行版也都使用rpm。由于rpm的源程序可以在别的系统上进行编译,所以有可能在别的系统上也使用rpm。除rpm

其他一些系统也有自己的软件包管理程序, 例如 debian的deb包。

4.rpm包的文件名为什么那么长 ?

rpm包的文件名中包含了这个软件包的版本信息,操作系统信息,硬件要求等等。

比如mypackage-1.1-2RH.i386.rpm,其中mypackage是在系统中登记的软件包的名字,1.1

是软件的版本号,2是发行号,RH表示用于RH操作系统。i386表示用于intel x86平台。

5.软件包文件名中的i386,i686是什么意思

rpm软件包的文件名中,不仅包含了软件名称,版本信息,还包括了适用的硬件架构的信息。

i386指这个软件包适用于intel 80386以上的x86架构的计算机(AI32)

i686指这个软件包适用于intel 80686以上(奔腾pro以上)的x86架构的计算机(IA32)

noarch指这个软件包与硬件架构无关,可以通用。

i686软件包通常针对CPU进行了优化,现在通常配置的机器都可以使用i686软件包。

6.不同操作系统发行的rpm包可否混用?

对于已经编译成二进制的rpm包,由于操作系统环境不同,一般不能混用。

对于以src.rpm发行的软件包,由于需要安装时进行本地编译,所以通常可以在不同系统下安装。

二、RPM包管理的用途

1、可以安装、删除、升级和管理以rpm包形式发布的软件;

2、可以查询某个rpm包中包含哪些文件,以及某个指定文件属于哪个rpm包;

3、可以在查询系统中的某个rpm包是否已安装以及其版本;

4、作为开发者可以把自己开发的软件打成rpm包发布;

5、依赖性的检查,查询安装某个rpm包时,需要哪些其它的rpm包。

注:RPM软件的安装、删除、更新只有root权限才能使用;

对于查询功能任何用户都可以操作。

三、rpm 的一点简单用法

rpm的一般格式:

rpm [选项] [rpm软件包]

1、初始化rpm 数据库(可以省略)

rpm --initdb

rpm --rebuilddb  注:这个要花好长时间

注:有时rpm 系统出了问题,不能安装和查询,大多是这里出了问题。

2、RPM软件包管理的查询功能:

rpm -q [select-options] [query-options]

RPM的查询功能是极为强大,是极为重要的功能之一;这里举几个常用的例子,更为详细的具体的,请参考 man rpm

对系统中已安装软件的查询

1)查询系统已安装的软件

语法:rpm -q 软件名

例:rpm -q mplayer

-q就是 --query,此选项表示询问系统是不是安装了mplayer软件包;

如果已安装会有信息输出;如果没有安装,会输出mplayer没有安装的信息;

查看系统中所有已经安装的包,要加 -a 参数

rpm -qa

如果分页查看,再加一个管道 |和more命令

rpm -qa |more

如果要查找某个软件包,可以用 grep 抽取出来

rpm -qa |grep mplayer

2)查询一个已经安装的文件属于哪个软件包;

语法: rpm -qf 文件名

注:文件名所在的绝对路径要指出

例:rpm -qf /usr/lib/libacl.la

3)查询已安装软件包都安装到何处;

语法:rpm -ql 软件包名

例:rpm -ql mplayer

4)查询一个已安装软件包的信息

语法: rpm -qi 软件包名

例:rpm -qi mplayer

5)查看一下已安装软件的配置文件;

语法格式:rpm -qc 软件名

例:rpm -qc mplayer

6)查看一个已经安装软件的文档安装位置:

语法格式: rpm -qd 软件名

例:rpm -qd mplayer

7)查看一下已安装软件所依赖的软件包及文件;

语法格式: rpm -qR 软件名

例:rpm -qR mplayer

注:可以把几个参数组合起来用,如 rpm -qil mplayer

对于未安装的软件包的查看 :查看的前提是当前目录下已存在一个.rpm文件。

1)查看一个软件包的用途、版本等信息;

语法: rpm -qpi file.rpm

例:rpm -qpi mplayer-1.0pre7try2-2.i386.rpm

2)查看一件软件包所包含的文件;

语法: rpm -qpl file.rpm

例:rpm -qpl mplayer-1.0pre7try2-2.i386.rpm

3)查看软件包的文档所在的位置;

语法: rpm -qpd file.rpm

例:rpm -qpd mplayer-1.0pre7try2-2.i386.rpm

4)查看一个软件包的配置文件;

语法: rpm -qpc file.rpm

例:rpm -qpc mplayer-1.0pre7try2-2.i386.rpm

5)查看一个软件包的依赖关系

语法: rpm -qpR file.rpm

例:rpm -qpR mplayer-1.0pre7try2-2.i386.rpm

3、软件包的安装、升级、删除等; 安装和升级一个rpm 包

语法:

rpm -ivh file.rpm   这个是用来安装一个新的rpm 包

rpm -Uvh file.rpm   这是用来升级一个rpm 包

如果有依赖关系的,需解决依赖关系。

如果找不到依赖关系的包,可以用下面的命令强制安装:

rpm -ivh --nodeps --force file.rpm

rpm -Uvh --nodeps --force file.rpm

例:

rpm -ivh --test mplayer-1.0pre7try2-2.i386.rpm

--test表示测试,并不真正安装。

rpm -ivh --relocate /=/usr/local/mplayer mplayer-1.0pre7try2-2.i386.rpm

为软件包指定安装目录:要加 --relocate 参数

安装在指定目录中的程序如何调用呢?

通常可执行程序都放在安装目录下的bin或者sbin目录中。

删除一个rpm 包

首先查出需要删除的rpm包,然后用下面的命令来卸载:

rpm -e 软件包名

例:rpm -e mplayer    卸载mplayer

如果有其它的rpm依赖于该rpm包,系统会出现警告。

%如果一定要卸载,可以用选项 --nodeps 忽略依赖关系。但最好不要这么做。

四、RPM管理包管理器支持网络安装和查询

rpm  [选项]  rpm包的http或者ftp的地址

比如我们想通过163的开源镜像查询、安装软件包。

查询

rpm -qpi http://mirrors.163.com/centos/5.5/os/i386/CentOS/samba-3.0.33-3.28.el5.i386.rpm

安装

rpm -ivh http://mirrors.163.com/centos/5.5/os/i386/CentOS/samba-3.0.33-3.28.el5.i386.rpm

五、对已安装rpm包查询的一点补充

可以用 locate来查询一些软件的安装位置,可能需要先运行updatedb来更新已安装软件库

六、从rpm软件包抽取文件

mkdir xxx

cd xxx

rpm2cpio ../xxx.rpm | cpio -ivduc

rpm -ivh安装mysql_RPM 命令详细介绍相关推荐

  1. linux维护rpm 数据库,Linux运维知识之linux rpm命令详细介绍

    本文主要向大家介绍了Linux运维知识之linux rpm命令详细介绍,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 虽然现在N多人都使用yum去替代rpm了,但是rpm在一些 ...

  2. linux中的chmod命令详细介绍、使用及实例

    linux中的chmod命令详细介绍.使用及实例 chmod命令 chmod用于改变 linux 系统文件或目录的访问权限,可以用它控制文件或目录的访问权限.该命令有两种用法:一种是包含字母的文字设定 ...

  3. Apache Kafka 入门 - Kafka命令详细介绍

    Apache Kafka 入门 Apache Kafka 入门大概分为5篇博客,内容都比较基础,计划包含以下内容: Kafka的基本配置和运行 Kafka命令详细介绍 Kafka-manager的基本 ...

  4. 如何服务器上查找nginx网站目录下,查看nginx安装目录和版本的多种方法、命令详细介绍...

    Nginx安装目录在哪儿,版本时多少?有时候我们接受了一个别人配置的Nginx Web服务器,首先想确认这些基本信息.其实可以查看Nginx安装目录和安装版本的方法/命令有好多种.(注意:以下命令有的 ...

  5. linux下configure命令详细介绍

    Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而 ...

  6. linux18.04安装显卡驱动,详细介绍ubuntu18.04安装NVIDIA显卡驱动(亲测有效!)

    详细介绍ubuntu18.04安装NVIDIA显卡驱动(亲测有效!) 详细介绍ubuntu18.04安装NVIDIA显卡驱动(亲测有效!) 详细介绍ubuntu18.04安装NVIDIA显卡驱动(亲测 ...

  7. mysql5.17免安装教程_详细介绍MySql5.7.17免安装配置教程的示例代码

    这篇文章给大家详细介绍了MySql 5.7.17免安装配置教程,首先大家需要先下载mysql 5.7.17 的安装包,然后解压,具体配置过程大家通过本文一起学习吧 1.下载mysql-5.7.17-w ...

  8. 如何获得Android设备名称(ADB命令详细介绍)

    豌豆荚.360手机管家等软件可以获取android设备名称,显示在界面上,如下图: 我们自己如何来获取设备名称呢?答案如下: 在命令行中输入"adb shell" 进入shell之 ...

  9. Maven入门-6-Maven的生命周期和核心命令详细介绍

    本篇来介绍Maven的生命周期和前面介绍过几个命令的详细介绍过程.先介绍生命周期,生命周期中不同阶段就包括了一些命令,所以理解了生命周期,再来看看每一个命令的详细使用过程. 1.Maven的生命周期分 ...

  10. crontab命令详细介绍教程,快来围观

    前言 很多新手朋友反应不知道crontab命令,今天就给大家详细介绍一下,全部命令如下 安装crontab yum install crontabs 查看定时任务 crontab -l 设置定时任务 ...

最新文章

  1. Daily Scrum 9.28
  2. GVA gin vue从后端接口获取多选下拉框数据
  3. 强行删除文件 windwos10_如何彻底删除 Windows 当中的顽固文件?
  4. cisco routemap 能在出接口调用吗_潍坊驰燃一号燃料能不能合法在家经营,手续好办吗?...
  5. Linux环境下压缩与解压命令大全
  6. 7.微服务:从设计到部署 --- 重构单体应用为微服务
  7. loma 281 - 保险与年金
  8. 微软官宣 Windows 11:全新 UI、原生支持安卓 App、应用商店 0 抽成
  9. 企业级代码静态测试工具Helix QAC——技术规格
  10. 2021年最新程序员培训机构排名,学习前避坑必看
  11. 导入文本文件乱码问题
  12. Kurento-6.7.1 媒体服务器搭建详细教程(Kurento-Media-Server)
  13. Linux有多重要?到底该如何学习Linux?
  14. 一种有手就行的物联网平台的多终端接入方法
  15. 学习参考《父与子的编程之旅python【第二版】》高清中文版PDF+高清英文版PDF+源代码...
  16. Delphi中record的使用
  17. The.Strain血族
  18. c#截取字符串中指定字符串后到结尾
  19. 【办公类-16-06】“2022下学期 总园活动室(沙水+建构)排班表”(python 排班表系列)
  20. 摸爬滚打大半年,我是如何从零基础进阶到渗透测试工程师

热门文章

  1. Linux 创建用户角色并添加ssh登录权限
  2. sublime教程以及python环境的配置(二)常用插件安装和Boxy主题配置
  3. java file数组 初始化_Java之处理数组
  4. 为SM30视图创建TCODE
  5. ElacticSearch索引,文档,记录,常用指令
  6. 救济金发放_通过专门的视频游戏提供癌症救济
  7. 贴片物料/电容/电阻的英制与公制封装
  8. U盘重装win10系统专业版——启动盘制作
  9. 怎么用c语言编写单片机流水灯程序,单片机编程入门:单片机流水灯程序
  10. 串口总线舵机之舵机命令