rpm 讲解

CentOS7主要有rpm和yum这两种包软件的管理。两种包的管理各有用处,其中主要区别是:YUM使用简单但需要联网,YUM会去网上的YUM包源去获取所需要的软件包。而RPM的需要的操作经度比较细,需要我们做的事情比较多。

  软件包的安装和卸是很平常的事,但在Linux上面却不简单。Linux的其中一个哲学就是一个程序只做一件事,并且做好。组合小程序来完成复杂的任务,这样做有很多好处,但是各个小程序之间往往会存在着复杂的依赖关系。这时就有了redhat包管理器rpm。英文是redhat package manager ,redhat 软件包的管理

 rpm是以一种数据库记录的方式来将所需要的套件安装在Linux主机的一套管理程序。也就是说Linux系统中存在一个关于rpm的数据库,它记录了安装的包与包之间的依赖相关性。rpm包是预先在Linux主机上编译好并打包的文件,安装起来非常快捷。下面就介绍rpm常用的命令

首先是:

rpm –help

可以看到这里有很多的命令,是rpm需要命令,下面列出了常用命令。

 

RPM常用命令:

 -i   安装软件包
          --nodeps   不验证软件包的依赖
  -v  可视化,提供更多的详细信息的输出
  -h  显示安装进度
  另外的常用的附带参数为:
    --force 强制安装,即使覆盖其他包的文件也要安装
      -a 查询所有已经安装的软件包
      -f 查询 文件所属于的软件包
      -q 查询软件包(通常用来看下还未安装的软件包)
      -l 显示软件包的文件列表
      -d 显示被标注为文档的文件列表
      -c 显示被标注为配置文件的文件列表 最后这两个用的很少了

rpm 包名字结构:

glibc-2.17-196.el7_4.2.x86_64

  glibc      -2             .17                             -el7            x86              64

软件名   主版本号   次版本号   修订号     RHEL7    CPU架构平台  支持系统位数

-el我是哪个平台的,rpm包有个特点,我是centOS7的rpm包一般只能装到CentOS7的系统里,一般是CentOS6的软件包只能装到CentOS6的系统里。

大家可能也看到过后面以i686结尾的rpm包,这类是32位的rpm软件包。

分清楚之后我们就进行安装。

-i ,--install  安装软件包

--nodeps 不验证软件包的依赖,什么叫软包的依赖,大家都习惯windows的双击下一步,下一步,Linux不是这样子的。

-v, --verbose 提供更多的详细信息输出

-h ,--hash 软件包安装的时候列出哈希标记

大家就记住ivh这几个都需要。

比如说我想安装一个vagrant的安装包。

rmp –ivh vagrant_1.9.8_x86_64.rpm

加入-h 安装的进度条就有了。

如果想要升级这个rpm软件包,输入:

rpm -Uvh 加这个软件包的名字-U:即升级的意思,这里就不演示了。,一般升级用的比较少,只用在有漏洞的时候可能会用到,

接着我们刚刚安装了vagrant,如何能查询到安装的信息,输入:

rpm –qa

其中 –a选项是查询所有已经安装的软件包。

q是查询一个包是否安装

从这里可以看大将所有安装的rpm都列了出来,那么安装了这么多软件包。

我仅想搜索刚刚安装的vagrant,输入正则搜索是不是可以啊:

rpm -qa |grep vagrant

使用管道和搜索,现在显示了这个包的信息,rpm还提供了一种简单的方法:

rpm –q vagrant

 

这样就能搜索到我们刚刚安装的rpm包了,下面在做一个演示。

rpm –q vagrant_1.9.8_x86_64.rpm

如果你这样搜索,加入了后缀,是搜索不出来的:如果加了平台信息及后缀名,反而不能查出来,这点大家要注意。

rpm 包的卸载,

rpm –e 包的名字  ,e是擦除的意思,卸载的时候,我们要写查询出来的这个名字:

rpm –e vagrant-1.9.8-1.x86_64

而不能写安装时候的名字,这两个名字是不一样的。

在查询一下,已经没有了。

下面我再将这个包进行安装,安装的命令相信大家都会了,输入:

rpm –ivh vagrant_1.9.8_x86_64.rpm

安装好了之后,输入

rpm –qi vagrant

其中,q 是查询,i是安装,一起用就是查询安装的软件包vagrant的信息。

这里同样不需要输入后缀,我们可以看到vagrant这个rpm软件包的详细信息。有name是..,等等。

输入:rpm -ql 包名

列出一个rpm包安装的文件

-l 显示软件包的文件列表

列出某一个文件属于哪个rpm包

 rpm -qf 文件的绝对路径

 文件的绝对路径如何查找:whichvim

 rpm -qf`which vim`

-f 查询文件所属于的软件包。

RPM下载网址:

 



posted @ 2019-04-13 18:17  舞羊  阅读(287)  评论(0编辑  收藏  举报