一:
1、Yum 全称为 Yellow dog Updater, Modified。是常用的shell前端软件包管理器,基于rpm包管理,常常使用yum从指定服务器上下载rpm包安装,可以自动地安装依赖包
2、yum的产生
在RedHatEnterpriseLinux(RHEL从5.O版开始采用yum)、CentOS和Fedora等发行版中,采用了一种叫做yum的软件包管理工具。yum(Yellow dog Updater Modified)用python语言写成。yum的宗旨是收集rpm软件包的相关信息,检查依赖关系,自动地升级、 安装、删除rpm软件包。
yum的关键之处是要有可靠的repository(仓库),repository管理一部分甚至一个Linux发行版的应用程序的依赖关系,根据计算出来的依赖关系进行相关软件包的升级、安装、删除等操作,解决了Linux用户一直头痛的依赖关系问题。 repository可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header。header包括了rpm包的各种信息,包括描述、功能、提供的文件、依赖性等。正是收集了这些header并加以分析,才能自动地完成升级、安装软件包等任务。
二. yum特点
*可以同时配置多个资源库(Repository)
*简洁的配置文件(/etc/yum.conf)
*自动解决增加或删除rpm包时遇到的倚赖性问题
*使用方便
*保持与RPM数据库的一致性
三:主要功能
它更方便的添加/删除/更新RPM包.
它能自动解决包的倚赖性问题.
它能便于管理大量系统的更新问题
四、命令详解
1 安装
yum install 全部安装
yum install package1 安装指定的安装包package1
yum groupinsall group1 安装程序组group1
2 更新和升级
yum update 全部更新
yum update package1 更新指定程序包package1
yum check-update 检查可更新的程序
yum upgrade package1 升级指定程序包package1
yum groupupdate group1 升级程序组group1
3 查找和显示
yum info package1 显示安装包信息package1
yum list 显示所有已经安装和可以安装的程序包
yum list package1 显示指定程序包安装情况package1
yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包
4 删除程序
yum remove | erase package1 删除程序包package1
yum groupremove group1 删除程序组group1
yum deplist package1 查看程序package1依赖情况
5 清除缓存
yum clean packages 清除缓存目录下的软件包
yum clean headers 清除缓存目录下的 headers
yum clean oldheaders 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers
案例:
本地yum的配置
当网络中linux主机较少时,只需配置本地yum即可使用yum仓库安装软件包
[root@localhost ~]# rpm -qa yum |grep yum
yum-3.2.22-20.el5 //查询yum是否安装
如果没有安装需要自己手动安装
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom //挂载光盘
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@localhost ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo
1 [rhel-server] //光盘server 目录
2 name=Red Hat Enterprise Linux server //说明是server 目录
3 baseurl=file:///mnt/cdrom/Server //本地yum 源
4 enabled=1 //是否启用yum 仓库
5 gpgcheck=1 //是否做签名检测
6 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release //检测时候钥匙文件存放目录
7
[root@localhost ~]# yum install httpd
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.i386 0:2.2.3-31.el5 set to be updated
rhel-server/filelists | 2.3 MB 00:00
--> Finished Dependency Resolution
Dependencies Resolved
==================================================================================================
Package Arch Version Repository Size
==================================================================================================
Installing:
httpd i386 2.2.3-31.el5 rhel-server 1.2 M
Transaction Summary
==================================================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 1.2 M
Is this ok [y/N]: y
Downloading Packages:
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 37017186
rhel-server/gpgkey | 1.1 kB 00:00
Importing GPG key 0x37017186 "Red Hat, Inc. (release key) <security@redhat.com>" from /mnt/cdrom/RPM-GPG-KEY-redhat-release
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : httpd 1/1
Installed:
httpd.i386 0:2.2.3-31.el5
Complete!
[root@localhost ~]#
网络yum的安装:
示意图:
配置:
yum服务器配置:
//挂载光盘
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
安装ftp服务器:
拷贝光盘文件到ftp公共目录下:
客户机配置yum:
进入配置文件:
编辑配置文件:
[rhel-server]
name=Red Hat Enterprise Linux server
baseurl=ftp://192.168.100.1/pub/Server //配置server仓库
enabled=1
gpgcheck=1
gpgkey=ftp://192.168.100.1/pub/RPM-GPG-KEY-redhat-release //校验
[rhel-vt]
name=Red Hat Enterprise Linux vt
baseurl=ftp://192.168.100.1/pub/VT //配置虚拟仓库
enabled=1
gpgcheck=1
gpgkey=ftp://192.168.100.1/pub/RPM-GPG-KEY-redhat-release //校验
[rhel-cluster]
name=Red Hat Enterprise Linux cluster
baseurl=ftp://192.168.100.1/pub/Cluster //配置群集仓库
enabled=1
gpgcheck=1
gpgkey=ftp://192.168.100.1/pub/RPM-GPG-KEY-redhat-release //校验
[rhel-clusterstorage]
name=Red Hat Enterprise Linux clusterstorage
baseurl=ftp://192.168.100.1/pub/ClusterStorage //配置存储仓库
enabled=1
gpgcheck=1
gpgkey=ftp://192.168.100.1/pub/RPM-GPG-KEY-redhat-release //校验
保存退出(:wq)