YUM软件包管理工具与yum命令的详细介绍
一、yum介绍
Yum(YellowdogUpdater,Modified)是一个在Fedora中的字符前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
rpm命令只能安装下载到本的.rpm格式的安装包,但是rpm并不能处理软件包之间的依赖关系,尤其是软件由多个.rpm包组成时,这时可以使用yum。
yum的主要是更方便的添加、删除、更新RPM包,自动解决软件包之间的依赖关系,方便系统更新及软件管理。yum通过软件仓库(repository)进行软件的下载、安装等,软件仓库可以是一个HTTP或FTP站点,也可以是一个本软件池,资源仓库也可以是多个,在/etc/yum.conf文件中进行相关配置即可。在yum的资源库中,会包括rpm的头信息(header),头信息中包括了软件的功能描述、依赖关系等。通过分析这些信息,yum计算出依赖关系并进行相关的升级、安装、删除等操作。
二、yum命令
命令格式:
yum[options]COMMAND
命令(COMMAND)列表:
check检测rpmdb是否有问题 check-update检查可更新的包 clean清除缓存的数据 deplist显示包的依赖关系 distribution-synchronization将已安装的包同步到最新的可用版本 downgrade降级一个包 erase删除包 groupinfo显示包组的详细信息 groupinstall安装指定的包组 grouplist显示可用包组信息 groupremove从系统删除已安装的包组 help删除帮助信息 history显示或使用交互历史 info显示包或包组的详细信息 install安装包 list显示可安装或可更新的包 makecache生成元数据缓存 provides搜索特定包文件名 reinstall重新安装包 repolist显示已配置的资源库 resolvedep指事实上依赖 search搜索包 shell进入yum的shell提示符 update更新系统中的包 upgrade升级系统中的包 version显示机器可用源的版本
常用选项(options)列表:
-h,--help显示帮助信息 -t,--tolerant容错 -C,--cacheonly完全从系统缓存中运行,不更新缓存 -c[configfile],--config=[configfile] 本地配置文件 -R[minutes],--randomwait=[minutes] 命令最大等待时间 -d[debuglevel],--debuglevel=[debuglevel] 设置调试级别 -e[errorlevel],--errorlevel=[errorlevel] 设置错误等级 -q,--quiet退出运行 -v,--verbose详细模式 -y,--assumeyes对所有交互提问都回答“yes”
注:以上可用命令和选项由于yum版本的不同可能会有所有不同
三、yum使用示例
3.1安装
安装软件时,较常用的安装方式有单独安装、包组安装两种方式:
#安装软件包foo yuminstallfoo #安装Webserver软件包组 yumgroupinsall"Webserver"
注:groupinsall是一种快捷安装方式,他会将包组中所需的软件包一次性全部安装。如,上例中的"Webserver"包组可能会包含:httpd、crypto-utils等软件包
3.2更新、升级
对于已安装的程序,可以进行升级操作,有以下几种升级方式:
#检查可用更新 yumcheck-update #全部更机关报 yumupdate #更新foo软件包 yumupdatefoo #或 yumupgradefoo #升级Webserver软件包组 yumgroupupdate"Webserver"
更新安装包时,可以使用update或upgrade,二者区别如下:
- yumupdate是更新下载源里面的metadata,包括这个源有什么包、每个包什么版本之类的
- yumupgrade会根据update后的元信息对软件包进行升级
3.3删除
删除时,可以删除单个软件包或软件包组:
#删除软件foo yumremovefoo #删除Webserver软件包组 yumgroupremove"Webserver"
3.4查找
通过search命令可以查找软件包,而info命令可以用来显示软件包信息:
#查找名称包含foo的软件包 yumsearchfoo #显示名为foo的软件包信息 yuminfofoo #显示软件包foo的依赖关系 yumdeplistfoo #显示软件包组Webserver的信息 yumgroupinfo"Webserver" #显示已安装的软件包 yumlistinstalled
四、yum的配置
YUM的配置文件分为main和repository两部分:
- main-这个文件定义了全局配置选项,该文件只有一个。通常位于/etc/yum.conf
- repository-定义了源-服务器的具体配置,可能是一或多个。通常位于/etc/yum.repo.d目录
可以通过以下命令查看yum的配置:
cat/etc/yum.conf
主要配置项如下:
[main] cachedir=/var/cache/yum/$basearch/$releasever #yum的缓存目录,用于存储下载的RPM包和数据库 keepcache=0 #安装完成后是否保留软件包,0为不保留(默认为0),1为保留 debuglevel=2 #Debug信息输出等级,范围为0-10,缺省为2 logfile=/var/log/yum.log #yum日志文件位置,用户通过该文件查询做过的更新 exactarch=1 #是否只安装和系统架构匹配的软件包。可选项为:1、0,默认1。设置为1时不会将i686的软件包安装在适合i386的系统中。 obsoletes=1 #update设置,是否允许更新陈旧的RPM包,相当于upgrade gpgcheck=1 #是否进行GPG(GNUPrivateGuard)校验,以确定rpm包的来源是有效和安全。当在这个选项设置在[main]部分,则对每个repository都有效 plugins=1 #是否启用插件,默认1为允许,0表示不允许 exclude=*.i?86kernelkernel-xenkernel-debug #排除某些软件在升级名单之外,可以用通配符,各个项目用空格隔开 installonly_limit=5 #可同时安装多少程序包 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum #Bug追踪路径 distroverpkg=centos-release #当前发行版版本号 #PUTYOURREPOSHEREORINseparatefilesnamedfile.repo #in/etc/yum.repos.d
五、配置yum源
yum源配置文件通常位于/etc/yum.repo.d目录下,笔录所使用的CentOS6.3发生版中包含以下几个配置文件:
$#ll 总用量16 -rw-r--r--.1rootroot19266月262012CentOS-Base.repo -rw-r--r--.1rootroot6376月262012CentOS-Debuginfo.repo -rw-r--r--.1rootroot6266月262012CentOS-Media.repo -rw-r--r--.1rootroot25936月262012CentOS-Vault.repo
其中:
- CentOS-Base.repo-用于配置yum网络源
- CentOS-Media.repo-用于配置yum本地源
5.1启用yum本地源
编辑CentOS-Media.repo文件:
viCentOS-Media.repo
#CentOS-Media.repo # #ThisrepoisusedtomountthedefaultlocationsforaCDROM/DVDon #CentOS-6.Youcanusethisrepoandyumtoinstallitemsdirectlyoffthe #DVDISOthatwerelease. # #Tousethisrepo,putinyourDVDanduseitwiththeotherrepostoo: #yum--enablerepo=c6-media[command] # #orforONLYthemediarepo,dothis: # #yum--disablerepo=\*--enablerepo=c6-media[command] [c6-media] name=CentOS-$releasever-Media #本地源路径 baseurl=file:///media/CentOS/ file:///media/cdrom/ file:///media/cdrecorder/ gpgcheck=1 #enabled=0 #启用本地源 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
配置后,修改CentOS-Base.repo中的enabled配置项为enabled=0,或将CentOS-Base.repo文件删除或重命名,就会从本地源安装软件
5.2添加yum网络源
网络源通地CentOS-Base.repo文件配置,配置一个源包括以下几个部分:
- [serverid]-源标识,必须唯一
- name-源名称,支付$releasever等变量名
- mirrorlist或baseurl-其中,
mirrorlist是一个保存了镜像列表列表的网站
baseurl是一个包库
如,以下是CentOS6.3中的一个配置镜像:
[contrib] name=CentOS-$releasever-Contrib mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。