zoukankan      html  css  js  c++  java
  • 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下载网址:

  • 相关阅读:
    如何快速转载CSDN及博客园中的博客
    Ubuntu18.04连不网 报"有线连接未托管"
    Ubuntu18.04的网络配置
    vim基本操作
    Git更新远程仓库代码到本地(转)
    POJ 3253 Fence Repair
    POJ 2503 Babelfish
    POJ 2002 Squares
    POJ 1840 Eqs
    POJ 3274 Gold Balanced Lineup
  • 原文地址:https://www.cnblogs.com/wq-9/p/14062538.html
Copyright © 2011-2022 走看看