Linux下的软件包管理(RPM & YUM)


软件包管理是指系统中一种安装和维护软件的方法。

打包系统:
  不同的Linux发行版使用不同的打包系统,一般而言,大多数发行版分别属于两大包管理技术阵营:Debian的“.ded”以及Redhat的“.rpm”。当然,也有一些是例外,例如Gentoo、Slackware和Foresight,但大多数都是使用这两个基本系统的其中一个。

包管理系统 发行版(部分列表)
Debian style(.ded) Debian,Ubuntu,Xandros,Linspire
Redhat style(.rpm) Fedora,CentOS,Red Hat Enterprise Linux,OpenSUSE

在此只介绍RPM(以及基于其的YUM)包管理工具

一、RPM

RPM命令可以完成对软件包的所有管理功能:
  • 查询已安装在Linux系统中的RPM软件包信息
  • 查询RPM软件包安装文件的信息
  • 在当前Linux系统中安装RPM软件包
  • 从当前Linux系统中卸载已安装的RPM软件包
  • 升级当前Linux系统中已安装的RPM软件包
RPM的简单使用:
  1. rpm查询命令
    rpm-qa 查询Linux系统中所有的软件包

    rpm-q 包名称 查询指定名称的软件包是否安装

    rpm-qi 包名称 查询指定名称软件包的详细信息

    rpm-ql 包名称 查询指定名称软件包中所包括的文件列表

    rpm-qf 文件名称 查询指定文件所属的软件包

    rpm-qpi 包文件名 查询指定RPM包文件的详细信息

    rpm-qpl 包文件名 查询指定RPM包中包含的文件列表

  2. rpm安装
    rpm -ivh 包文件名称
      - i 安装、v 显示附加信息、h 显示安装进度
  3. rpm升级
    rpm -U 包文件名称
  4. rpm卸载
    rpm -e 包名称

注意:安装、升级、卸载软件包的时候可能提示依赖关系,需要先解决包之间的依赖关系

二、更友好的包管理工具——YUM

Yum(全称为 Yellow dog Updater, Modified)是一个在RHEL6中的软件包管理器。基于RPM包管理工具,能从指定的安装源(服务器或者本地目录等)自动下载目标RPM包并安装,可以自动处理包依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。所有YUM被称为更友好的包管理软件
YUM的另一个功能:进行系统中所有软件的升级。

YUM的RPM包来源于安装源,所以要使用YUM,必须先设置yum安装源,安装源有/etc/yum.repos.d/目录中的 .repo文件指定。
安装源可以是一个网络服务器地址,也可以是本地的安装光盘。

YUM的简单使用:
  1. 安装软件
    yum install 包名称
  2. 删除软件
    yum remove 包名称
  3. 升级软件
    yum updata 包名称
  4. 查询信息
    yum info 包名称
【用RHEL安装光盘配置本地yum安装源】
  1. “虚拟机”–>“设置”–>“CD/DVD(IDE)”–>“连接”–>“使用ISO镜像文件”,通过“浏览”选择Redhat安装光盘,并确保“设备状态”中的“已连接”选项勾选上;
  2. 把光驱挂载到/test 目录下(也可以是其他目录,自己创建)
    a. mkdir /test
    b. mount /dev/sr0 /test #挂载光驱
    c. mount -s #查看是否挂载成功
  3. vim /etc/yum.repos.d/dvd.repo #新建yum源配置文件dvd.repo
    【配置文件中内容如下】
    [dvd]            #配置文件名
    name = install dvd      #同上
    baseurl = file:///aa      #从挂载处获取安装源
    enabled = 1        #是否启用yum源,0不启用,1启用
    gpgcheck = 0        #是否检查安装源,0不检查,1检查

注意:配置完yum源后,为了避免/etc/yum.repos.d/下的rhel-debuginfo.repo 启用,所有将其打包为rhel-debuginfo.repo.bak
  mv rhel-debuginfo.repo rhel-debuginfo.repo.bak


第一次写技术博客,也是人生中第一次写博客;
虽然内容很简单,但还是耗费2个多小时才完成。。。惭愧啊~
以前都是拜读CSDN以及博客园里各位大神的博文,一直以为一篇技术文写起来也不是太难吗,会操作,能理解大意就成了,但自己写起来才知道当时的自己真是too young too simple啊;
有些东西自己理解了,但是能逻辑很清晰的讲述给他人,并能让听的人能听懂还真不是一件容易的事情/(ㄒoㄒ)/~~
所有看起来容易的事情,都不容易;所有看起来牛逼的人,靠的绝不是运气!
共勉;

你可能感兴趣的:(linux)