一、yum发展与作用
在linux系统维护中管理员经常遇到软件包的依赖问题,有时无法解决,比如你在安装库文件时常出现报错问题,说依赖其它软件包。由于这个问题一直困绕linux的广大爱好者,开源社区的软件爱好者开始开发一些工具来解决这个问题;比如Yellow Dog的YUM(Yellow dog Update,Modified),Debian的APT(Advanced Packaging tool)等,开发这些工具都是为了解决rpm包的依赖关系。而yum起初是由yellow dog发行版的开发者Terra soft 研发,用python写成,那时叫做yum(yellow dog updater),后经杜克大学的[email protected]开团队时行改进便得此名;yum的宗旨是自动化升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决,而其关键之处就是有可靠的repository(软件的仓库),可以是http、ftp、操作系统本机,但是必须包含rpm的(header),header包括了rpm包的信息,包括描述,功能,提供的文件,依赖等,正是收集了这些header并加以分析,才能自动化完成余下的任务。
Yum具有如下功能:
1、自动解决包的依赖性问题,并能够添加/删除/更新RPM包
2、便于管理大量系统的更新问题
3、可以同时配置多个资源库
4、简洁的配置多个资源库(Repository)
5、保持与RPM的数据的一致
6、有一个比较详细的log,可以查看何时升级安装了什么软件
二、yum仓库:
仓库(repository)是一个预备好的目录,或是一个网站,包含了软件包和索引文件,yum可以在仓库中自动地定位并获取正确的RPM软件包,这样就不必要手动搜索和安装新应用程序和升级补丁了,只要用一个命令就可以更新系统 所有的软件,也可以根据指定搜索目标来查找安装新软件
仓库的分类:
如下是本地仓库的配置:
1 挂载rhel5DVD光盘到/media/cdrom/ 2 修改repo文件(必须在/etc/yum.repos.d/目录下以repo结尾) 3 使文件修改成如下: 4 [RHEL5-Server] 5 name=RHEL5-Server 6 baseusrl=file:///media/cdrom/Server 默认rpm包安装路径 7 gpgcheck=1 8 enabled=1 9 gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release 10 [RHEL5-VT] 11 name=RHEL5-VT 12 baseusrl=file:///media/cdrom/VT 13 gpgcheck=1 14 enabled=1 15 gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release 16 [RHEL5-Cluster] 17 name=RHEL5-Server 18 baseusrl=file:///media/cdrom/Cluster 19 gpgcheck=1 20 21 enabled=1 22 gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release 23 [RHEL5-ClusterStorage] 24 name=RHEL5-ClusterStorge] 25 baseusrl=file:///media/cdrom/ClusterStorage 26 gpgcheck=1 27 enabled=1 28 gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release
配置文件内容简介:
[]内的是仓库的名称
name 是仓库的位置
baseurl 仓库的位置
enabled 是否启用这个仓库,为1是起用,0为禁用
gpgcheck 是否检查GPG签名(用来验证要安装的包是不是redhat官方的)
GPGKEY是存放地址我们需要用下面的命令来导入到这个签名,才能使用此功能
yum或者Yellow dog Update或者Modified是杜克大学为了提高RPM软件包安装性而开发的一种软件包管理器。Yum可以从众多软件包仓库中搜索软件的依赖关系,因此可以减少由于依赖关系带来的问题。
1.安装软件包:
yum install package
yum localinstall package 从本机目录安装软件包
yum groupinstall group 安装某个组件的全部软件包
2.更新软件包:
yum update package
yum check-update 列出所有可更新的软件包
yum list updates mysql* 查找mysql的更新
yum update 更新所有可更新的软件包
yum update mysql* 更新所有mysql的软件包
yum groupupdate group 更新某个组件的所有软件包
3.删除软件包:
yum remove package
yum groupremove group 删除某个组件的全部软件包
4.清除软件包
yum clean packages 清除遗留在缓存里的包文件
yum clean metadata 清除遗留在缓存里的元数据
yum clean headers 清除遗留在缓存里的头文件
yum clean all 清除包文件,元数据,头文件
5.搜索软件包:
yum search package
yum info package 查找一个软件包的信息
yum list package 列出包含指定信息的软件包
yum list installed 列出已安装的软件包
yum list extras 列出不是通过软件仓库安装的软件包
yum list *ttp* 列出标题包含ttp的软件包
yum list updates 列出可以更新的软件包
6.查找特定文件是由什么软件包提供的:
yum whatprovides filename
例子:
yum whatprovides httpd.conf
可用选项
–disalberepo=lib 禁用某个软件仓库 –enalberepo=lib 启用某个软件仓库
-C 禁用使用本机缓存的元数据
例子: yum –disalberepo=livna|–enalberepo=livna install mplayer
yum -C info httpd