简介

yum,全称“Yellow dog Updater, Modified”,是一个专门为了解决包的依赖关系而存在的软件包管理器。

yum仓库/源分类:

本地仓库:在无法联网的情况下,yum 可以考虑用本地光盘(或安装映像文件)作为 yum 源。

网络仓库:一般情况下,只要你的主机网络正常,可以直接使用网络 yum 源,不需要对配置文件做任何修改,这里对 yum 源配置文件做一下简单介绍。
网络 yum 源配置文件位于 /etc/yum.repos.d/ 目录下,文件扩展名为"*.repo"

yum查询命令

yum list:查询所有已安装和可安装的软件包。

[root@localhost yum.repos.d]# yum list
#查询所有可用软件包列表
Installed Packages
#已经安装的软件包
ConsdeKit.i686 0.4.1-3.el6
@anaconda-CentOS-201207051201 J386/6.3
ConsdeKit-libs.i686 0.4.1-3.el6 @anaconda-CentOS-201207051201 J386/6.3
…省略部分输出…
Available Packages
#还可以安装的软件包
389-ds-base.i686 1.2.10.2-15.el6 c6-media
389-ds-base-devel.i686 1.2.10.2-15.el6 c6-media
#软件名 版本 所在位置(光盘)
…省略部分输出…

yum list 包名:查询执行软件包的安装情况。

[root@localhost yum.repos.d]# yum list samba
Available Packages samba.i686 3.5.10-125.el6 c6-media
#查询 samba 软件包的安装情况
yum list | grep ‘^httpd’ 查看是否安装以httpd开头的软件

yum search 关键字:从 yum 源服务器上查找与关键字相关的所有软件包。

[root@localhost yum.repos.d]# yum search samba
#搜索服务器上所有和samba相关的软件包
========================N/S Matched:
samba =============================
samba-client.i686:Samba client programs
samba-common.i686:Files used by both Samba servers and clients
samba-doc.i686: Documentation for the Samba suite
…省略部分输出…
Name and summary matches only, use"search all" for everything.

yum info 包名:查询执行软件包的详细信息。

[root@localhost yum.repos.d]# yum info samba
#查询samba软件包的信息
Available Packages <-没有安装
Name : samba <-包名
Arch : i686 <-适合的硬件平台
Version : 3.5.10 <―版本
Release : 125.el6 <—发布版本
Size : 4.9M <—大小
Repo : c6-media <-在光盘上
…省略部分输出…

yum provides 命令 :查看命令是哪个软件的

yum安装命令

[root@localhost yum.repos.d]# yum -y install 包名

install:表示安装软件包。
-y:自动回答 yes。如果不加 -y,那么每个安装的软件都需要手工回答 yes;

yum install httpd --downloadonly --downloaddir=/data/packages:只下载不安装。安装包放在目的目录

yum 升级命令

使用 yum 升级软件包,需确保 yum 源服务器中软件包的版本比本机安装的软件包版本高。

yum 升级软件包常用命令如下:
yum -y update:升级所有软件包。不过考虑到服务器强调稳定性,因此该命令并不常用。

yum list install 软件名: 查看软件是否安装

tail yum.log :查看软件下载,安装,移除等信息

yum -y update 包名:升级特定的软件包。

yum 卸载命令

使用 yum 卸载软件包时,会同时卸载所有与该包有依赖关系的其他软件包,即便有依赖包属于系统运行必备文件,也会被 yum 无情卸载,带来的直接后果就是使系统崩溃。

除非你能确定卸载此包以及它的所有依赖包不会对系统产生影响,否则不要使用 yum 卸载软件包。

yum 卸载命令的基本格式如下

[root@localhost yum.repos.d]# yum remove 包名
#卸载指定的软件包

例如,使用 yum 卸载 samba 软件包的命令如下:

[root@localhost yum.repos.d]# yum remove samba
#卸载samba软件包

本地yum源

  1. 放入 CentOS 安装光盘,并挂载光盘到指定位置。命令如下:
[root@localhost ~]# mkdir /mnt/cdrom
#创建cdrom目录,作为光盘的挂载点
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/
mount: block device/dev/srO is write-protected, mounting read-only
#挂载光盘到/mnt/cdrom目录下
  1. 修改其他几个 yum 源配置文件的扩展名,让它们失效,因为只有扩展名是"*.repo"的文件才能作为 yum 源配置文件。当也可以删除其他几个 yum 源配置文件,但是如果删除了,当又想用网络作为 yum 源时,就没有了参考文件,所以最好还是修改扩展名。 命令如下:
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mv CentOS-Base, repo CentOS-Base.repo.bak
[root@localhost yum.repos.d]#mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
[root@localhost yum.repos.d]# mv CentOS-Vault.repo CentOS-Vault.repo.bak
  1. 修改光盘 yum 源配置文件 CentOS-Media.repo,参照以下方修改:
[root@localhost yum.repos.d]# vim CentOS-Media.repo
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom
#地址为你自己的光盘挂载地址
#file:///media/cdrom/
#file:///media/cdrecorder/
#注释这两个的不存在地址
gpgcheck=1
enabled=1
#把enabled=0改为enabled=1, 让这个yum源配置文件生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6