Linux神奇的yum

到底什么是yum?yum的功能与作用?为什么我们在有了rpm之后,还会出现yum这个软件安装工具呢?不知各位有没有思考过,哪怕仅仅几秒。

一:yum简介:

yum,是Yellow dog Updater,Modified的简称,起初是由yello dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow dog updater),后经杜克大学的[email protected]开发团队进行改进,遂有此名。

yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。yum的关键之处是有着可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header,header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等,正是收集了这些header并加以分析,才能自动化的完成余下的任务。

二:yum的配置文件

yum的一切配置信息都存在一个叫yum.conf的配置文件中,通常位于/etc目录下,这是整个yum系统的重中之重。那我先cat一下这个文件。

第一部分(这是yum的全局性设置,默认一般不必改动)

[main]

cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum

debuglevel:除错级别,0-10,默认是2

logfile:yum的日志文件,默认是/var/log/yum.log

pkgpolicy:包的策略。一共有俩个选项,newest和last这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。

distroverpkg:指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。

exactarch:网络连接发生错误后的重试次数,如果设为0,则会无限重试。

retries:1和0俩个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,但其中3此前已经安装了,如果你设为1,则yum不会出现错误信息。默认是0。

除了上述之外,还有一些可以添加的选项,如:

exclude=,排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。

gpgcheck=,有1和0俩个选择,分别代表是否进行gpg校验,如果没有校验,默认是检查的,即1。

第二部分:

配置repository服务器,这是最令人激动的,有了好的repository,就如家门口有个免费的超市,想要什么跑跑腿就行。

[serverid]

name=Some name for this server

baseurl=url://path/to/repository/

其中,serverid是用于区别各个不同的repository,必须有一个独一无二的名称。而且必须在[]

name,是对repository的描述,支持像$releasever $basearch这样的变量;

baseurl是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:

baseurl=url://server1/path/to/repositroy/

baseurl=ur2://server1/path/to/repositroy/

baseurl=ur3://server1/path/to/repositroy/

其中url支持的协议有http:// ftp:// file://三种。bashurl后可以跟多个url,其中url指向的目录必须是repository header目录的上一级。

url之后可以加上多个选项,如gpgcheck,exclude,failovermethod等

[updates-released]

name=Fedora Core $releasever - $basharch - Released Updates

baseurl=http://downloadatrpms.net/mirrors/fedoracore/updates/$releasever/$bashurl

http://redhat.linux.ee/pub/fedora/linux/core/updates/$releasever/$bashurl

http://fr2.rpmfind.net/linux/fedora/core/updates/$releasever/$basharch

gpgcheck=1

exclude=gaim

failovermethod=priority

其中gpgcheck,exclude的含义和[main]部分相同,但只对此服务器起作用,

failovermethode有俩个选项roundrobin和priority,意思分别是由多个url可选择时,               yum选择的次序,roundrobin是随机选择,如果连接失败则使用下一个,依次循环,                   priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。

几个变量

$releasever,发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。

$basearch,cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。

对yum.conf设定完成,我们就可以好好体验yum带来的方便了,下一节再见。我的愿望是,世界上再无心机婊。

时间: 2025-01-20 03:16:02

Linux神奇的yum的相关文章

Linux 7 中Yum 配置 说明

在之前的Blog中写了Linux Yum 的配置方法,参考: Linux 平台下 YUM 源配置 手册 http://www.cndba.cn/account/article/details/154 刚安装的Linux 7中测试发现有点注意事项. 在安装完系统之后,默认只有一个yum的配置文件. [[email protected] mnt]# lsb_release -a LSB Version:     :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd6

linux 下使用yum命令出错解决办法

linux系统使用yum命令时,遇到出现以下错误: Loaded plugins: fastestmirror Existing lock /var/run/yum.pid: another copy is running as pid 3404. Another app is currently holding the yum lock; waiting for it to exit... The other application is: yum Memory : 41 M RSS (253

linux下使用yum安装mysql以及启动、登录和远程访问

linux下使用yum安装mysql,以及启动.登录和远程访问. 1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql* 查看有没有安装包: yum list mysql* 安装mysql客户端: yum install mysql 安装mysql 服务器端: yum install mysql-server yum install mysql-devel 2.启动&&停止 数据库字符集设置 mysql配置文件/etc/

Linux Study之--yum install错误

Linux Study之--yum install错误 系统环境:Oracle Linux5.4    在通过yum安装软件时出现以下错误: 1.yum配置文件 [[email protected] yum.repos.d]# cat yum.repo  [base] name=Oracle linux  baseurl=file:///media/Server enable=1 gpcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedor

在Linux下用yum安装所需的指令

在昨天用finger及tree指令时发现Linux默认情况下未安装这两个指令.于是就自己尝试了下安装这两个指令. 在进行操作前我们要有一个明确的思路,这样我们实际进行时可以事半功倍. 这两个文件安装有两种途径:1,上网下载安装:2,通过Linux的安装ISO文件进行安装. 我用的是第二种方法 基本流程 1,你需要先建立一个挂载时用到的文件夹不建随便找一个文件夹也可以.用mkdir指令 2,将ISO文件挂载到指定的文件夹内.用mount指令 3,通过vim对yum的文件进行修改指令为vim /et

linux下使用yum安装mysql、tomcat、httpd

一.linux下使用yum安装mysql 1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql* 查看有没有安装包: yum list mysql* 安装mysql客户端: yum install mysql 安装mysql 服务器端: yum install mysql-server yum install mysql-devel www.2cto.com 2.启动&&停止 数据库字符集设置 mysql配置文件/etc

Linux服务器执行yum update不成功

Linux服务器执行yum update报错提示: Loaded plugins: fastestmirror, refresh-packagekit, security You need to be root to perform this command. Centons下其大概意思是fastestmirror不能使用,fastestmirror是yum的一个加速插件,具体我也没有仔细了解过,可能是系统不支持或者缺少组建导致的.处理办法就是禁用这个插件,方法如下:[email protect

Linux SVN 搭建(YUM)安装

http://www.centoscn.com/CentosServer/ftp/2014/0202/2409.htmlLinux SVN 搭建(YUM)安装 安装说明系统环境:CentOS-6.2安装方式:yum install (源码安装容易产生版本兼容的问题)安装软件:系统自动下载SVN软件一.Linux svn服务端配置检查已安装版本#检查是否安装了低版本的SVN[[email protected] /]#rpm -qa subversion#如果存储旧版本,卸载旧版本SVN[[emai

red hat Linux 使用CentOS yum源更新

red hat linux是商业版软件,没有经过注册是无法使用红帽 yum源更新软件的,使用CentOS源更新操作如下: 1.删除red hat linux 原有的yum 源 rpm -aq | grep yum|xargs rpm -e --nodeps 2.下载CentOS yum 所需软件 yum-3.2.22-40.el5.centos.noarch.rpm yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm yum-metadata-pa