yum指令
By admin
- One minute read - 153 words一、什么是yum及其作用
yum(Yellow dog Updater, Modified)它的作用就是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决
yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个 distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了 Linux 用户一直头痛的dependencies 的问题。这一点上,yum 和 apt 相同。apt 原为 debian 的 deb 类型软件管理所使用,但是现在也能用到 RH 门下的rpm
一般这类软件通过一个或者多个配置文件描述对应的 repository 的网络地址,通过 http 或者 ftp 协议在需要的时候从 repository 获得必要的信息,下载相关的软件包。这样,本地用户通过建立不同的 repository 的描述说明,在有 Internet 连接时就能方便进行系统的升级维护工作。另外,如果需要使用代理,可以用http_proxy 和 ftp_proxy 这些 shell 里面标准环境变量的设定
repository是用yum-arch或者createrepo命令创建的,也可以用别人已有的repository 作为镜像,这里部探讨如何建立一个repository
二、安装Yum及相关软件包
1、安装yum软件包
方法一:到官方网站下载安装() [root@Mylinux ~]# wget (yum包) [root@Mylinux ~]# wget (yum相关工具包)
方法二:使用本地系统光盘中的yum的RPM包 [root@Mylinux ~]# cd /cdrom/CentOS [root@Mylinux CentOS]# rpm -ivh yum-3.2.22-20.el5.centos.noarch.rpm [root@Mylinux CentOS]# rpm -ivh yum-utils-1.1.16-13.el5.noarch.rpm
2、安装yum的repo配置文件软件包(rpmforge-release软件包)
该软件包含类似yum的其它工具的配置文件:Apt、Smart、Yum、up2date、Red Carpet(),当然你也可以使用光盘中的centos-release-5-4.el5.centos.1.i386.rpm,因为它包含yum的repo配置文件
方法一:到官方网站 (https://rpmrepo.org/RPMforge)下载rpmforge-release包 [root@Mylinux ~]# wget http://rh-mirror.linux.iastate.edu/pub/dag/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm [root@Mylinux ~]# rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
方法二:直接使用光盘上的centos-release安装包 [root@Mylinux ~]# cd /cdrom/CentOS [root@Mylinux CentOS]# rpm -ivh centos-release-5-4.el5.centos.1.i386.rpm
三、yum配置文件详解(yum.conf与.repo)*
1、实例一:yum + rpmforge-release (yum-3.2.22-20.el5.centos.noarch.rpm 、yum-utils-1.1.16-13.el5.noarch.rpm、rpmforge-release-0.3.6-1.el5.rf.i386.rpm)
(1)安装完yum软件包后,会生成 一个yum的主配置文件:/etc/yum.conf
(2)安装完rpmforge-release软件包后,会生成两个yum的repo配置文件: mirrors-rpmforge (repository server的网址列表)和rpmforge.repo
注意:由于mirrors-rpmforge 文件中的所有网址列表中的网站的子目录repodata子目录中找不到那三个重要的文件,所以会报错!
**2、实例二:yum + centos-release ** (yum-3.2.22-20.el5.centos.noarch.rpm 、yum-utils-1.1.16-13.el5.noarch.rpm、centos-release-5-4.el5.centos.1.i386.rpm,默认安装完centos(rhel的克隆版)后,就已经把这两个软件包安装上了)
1)yum主配置文件:/etc/yum.conf(即:yum的全局设置文件,一般没有必要去修改)
yum.conf配置文件 [main]
cachedir=/var/cache/yum
yum缓存的目录,该目录用于存储下载的RPM软件包和RPM数据库,例如:当你安装一个软件包时,在这个目录下对应的子目录( base/packages )中先下载这个软件包,然后再进行安装软件包,但是安装完后,它不会自动删除这个下载的软件包,所以占空间,但可以手动删除
keepcache=1
值可以是1和0,表示是否要缓存已安装成功的那些RPM包及头文件,默认值为1,表示缓存这些RPM包和头文件,作用:下一次安装相同的RPM包的时,yum就不用下载了,直接可以从缓存(/var/cache/yum…)安装些RPM包
reposdir
设置.repo配置文件所存放的目录,默认是: /etc/yum.repos.d、 /etc/yum/repos.d
assumeyes=0
值可以是1和0,表示是否安装RPM包时直接自动确认应答,而不用手动确认,默认值为0:表示要手动确认
alwaysprompt=1
值可以是1和0,表示是否安装RPM包时总是要手动确认,默认值为1:表示要手动确认
retries=2
网络连接发生错误后的重试次数,如果设为0,则会无限重试
debuglevel=2
除错级别:0-10
logfile=/var/log/yum.log
yum的日志文件
pkgpolicy=newest
包的策略:newest和last,作用:如果你设置了多个repository,而同一软件在不同的repository中同时存在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest
distroverpkg=redhat-release
指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release(例如:centos-release、rpmforge-release等),也可以是安装的任何针对自己发行版的rpm包
tolerant=1
也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装:1.i386.rpm、2.i386.rpm、3.i386.rpm这三个包,而其中3.i386.rpm在此之前已经安装了,如果现在你将tolerant的值设为1,则yum不会出现错误信息。默认是0
exactarch=1
可选值有两个1和0,表示是否只升级和你安装软件包cpu体系一致的包,默认值为1:表示如果你已经安装了一个i386的包,那么就不会再安装相同的i686的包
obsoletes=1
该参数主要与升级有关
gpgcheck=1
是否进行gpg校验,默认是进行检验的
plugins=1
当要使用plugin(例如:python)时,plugins的值要设置成1
metadata_expire=1800
Metadata的过期时间,单位为秒
exclude=….
排除某些软件在升级名单之外,可以用通配符(例如:*与?),列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用