yum 详细配置

        YUM 详细安装配置文档

一、YUM简介

1、yum是什么?
yum = Yellow dog Updater, Modified 起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,
那时还叫做yup(yellow dog updater),后经杜克大学的开 发团队进行改进,遂有此名。
yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相 关信息,检查依赖性并自动提示用户解决。
yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,
仓库可以是http或ftp站点, 也可以是本地软件池,但必须包含rpm的header,header包括了rpm包的各种信息,
包括描述,功能,提供的文件,依赖性等.正是收集了这些 header并加以分析,才能自动化地完成余下的任务。
如果没有安装,先我们要到下面的地址下载与自己系统相对应的版本的 yum:
http://ayo.freshrpms.net/


主要功能是更方便的添加/删除/更新RPM包. 
它能自动解决包的倚赖性问题. 
它能便于管理大量系统的更新问题

2、yum特点
可以同时配置多个资源库(Repository) 
简洁的配置文件(/etc/yum.conf、/etc/yum.repo.d/youname.repo)
自动解决增加或删除rpm包时遇到的倚赖性问题 
使用方便 
保持与RPM数据库的一致性

3、yum安装
CentOS自带(yum-*.noarch.rpm) 
#rpm -ivh yum-*.noarch.rpm
在第一次启用yum之前首先需要导入系统的RPM-GPG-KEY:

二、YUM的配置文件
yum的配置信息都储存在一个叫yum.conf的配置文件中,通常位于/etc目 录下,这个是总的yum配置文件。

通常比较灵活方便的用法是自己在/etc/yum.repos.d/目录下新建一个 "自定义名字.repo"的配置文件,删除系统自带的rhel-debuginfo.repo。
/etc/yum.conf配置文件一般不用改动,直接编辑自己的定义的 repo文件
#############################################################
[base]
name=Red Hat Enterprise Linux $releasever -Base
baseurl=http://ftp.monash.edu.au/pub/linux/CentOS/5.3/os/$basearch/
gpgcheck=0
[update]
name=Red Hat Enterprise Linux $releasever -Updates
baseurl=http://ftp.monash.edu.au/pub/linux/CentOS/5.3/updates/$basearch/
gpgcheck=0
[extras]
name=Red Hat Enterprise Linux $releasever -Extras
baseurl=http://ftp.monash.edu.au/pub/linux/CentOS/5.3/extras/$basearch/
gpgcheck=0
[addons]
name=Red Hat Enterprise Linux $releasever -Addons
baseurl=http://ftp.monash.edu.au/pub/linux/CentOS/5.3/addons/$basearch/
gpgcheck=0

############################################################

配置文件的参数解释:

[serverid] 
name=Some name for this server 
baseurl=url://path/to/repository/
gpgchkeck=1

serverid是用于区别各个不同的repository,必须有一个独一无二的名称。如:[base]、[update]、[extras]、[addons]

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

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

其中url支持的协议有三种:http:// 、 ftp://   、file://

baseurl后可以跟多个url 如:
baseurl=http://download.atrpms.net/mirrors/fedoracore/updates/$releasever/$basearch 
http://redhat.linux.ee/pub/fedora/linux/core/updates/$releasever/$basearch

gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的。
exclude=gaim 
failovermethod=priority


几个变量 
$releasever,发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。 
$arch,cpu体系,如i686,athlon等 
$basearch,cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。


导入GPG-KEY
rpm --import /usr/share/doc/redhat-release-*/RPM-GPG-KEY 官方软件升级用的上。

三、用YUM升级软件

首 先,yum update,

yum会从服务器的header目录下载rpm的header,放在本地的缓存中,header下载完毕,yum会判断是否有可更新的软件包,这时yum开始下载软件包并使用调用rpm安装,这可能要一定时间,取决于要更新软件的数目和网络状况l

升级完毕,以后每天只要使用yum check-update检查一下有无跟新

用yum update packagename 对某个单独包进行升级。

四、实际应用

1、 通过 http://mirror-status.centos.org 站点查找离自己最近的镜像站点
    这里我找到离我比较近的 镜像站点是香港的 http://mirror.vpshosting.com.hk/pub/linux/centos/

2、我的实际配置文件/etc/yum.repo.d/my.repo

###############################################################

[base]
name=Red Hat Enterprise Linux $releasever -Base
baseurl=http://mirror.vpshosting.com.hk/pub/linux/centos/5.2/os/$basearch/
gpgcheck=1
[update]
name=Red Hat Enterprise Linux $releasever -Updates
baseurl=http://mirror.vpshosting.com.hk/pub/linux/centos/5.2/updates/$basearch/
gpgcheck=1
[extras]
name=Red Hat Enterprise Linux $releasever -Extras
baseurl=http://mirror.vpshosting.com.hk/pub/linux/centos/5.2/extras/$basearch/
gpgcheck=1
[addons]
name=Red Hat Enterprise Linux $releasever -Addons
baseurl=http://mirror.vpshosting.com.hk/pub/linux/centos/5.2/addons/$basearch/
gpgcheck=1
############################################################### 
3、下载并倒入KEY
cd /etc/pki/rpm-gpg
wget http://mirror.vpshosting.com.hk/pub/linux/centos/RPM-GPG-KEY-CentOS-5
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

4、重启yum
service yum-updatesd restart

5、接下来就可以使用yum来安装你要的软件包了

yum install http

你要是急着安装软件,也可以不必更新全部的包,即不用yum update。


FQA:

1、如果报
warning: cannot get exclusive lock on /var/lib/rpm/Packages
使用:fuser /var/lib/rpm/* 看一下谁正在存取 rpm database

五、 yum指令 
注:当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/cache/yum目录下,所需时间可能较长. 
(1)、rpm包的更新

   * 检查可更新的rpm包 
   #yum check-update

   * 更新所有的rpm包 
   #yum update

   * 更新指定的rpm包,如更新kernel和kernel source 
   #yum update kernel kernel-source

   * 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级 
   #yum upgrade

(2)、rpm包的安装和删除 

   * 安装rpm包,如xmms-mp3 
   #yum install xmms-mp3 

   * 删除rpm包,包括与该包有倚赖性的包 
   #yum remove licq 
   * 注:同时会提示删除licq-gnome,licq-qt,licq-text

(3)、yum暂存(/var/cache/yum/)的相关参数

   * 清除暂存中rpm包文件 
   #yum clean packages

   * 清除暂存中rpm头文件 
   #yum clearn headers

   * 清除暂存中旧的rpm头文件 
   #yum clean oldheaders

   * 清除暂存中旧的rpm头文件和包文件 
   #yum clearn 或#yum clearn all 
   * 注:相当于yum clean packages + yum clean oldheaders

(4)、包列表

   * 列出资源库中所有可以安装或更新的rpm包 
   #yum list

   * 列出资源库中特定的可以安装或更新以及已经安装的rpm包 
   #yum list mozilla
   #yum list mozilla* 
   * 注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包 
  
   * 列出资源库中所有可以更新的rpm包 
   #yum list updates

   * 列出已经安装的所有的rpm包 
   #yum list installed

   * 列出已经安装的但是不包含在资源库中的rpm包 
   #yum list extras 
   * 注:通过其它网站下载安装的rpm包 
(5)、rpm包信息显示(info参数同list) 
  
   * 列出资源库中所有可以安装或更新的rpm包的信息 
   #yum info

   * 列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息 
   #yum info mozilla
   #yum info mozilla* 
   * 注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包的信息

   * 列出资源库中所有可以更新的rpm包的信息 
   #yum info updates 
  
   * 列出已经安装的所有的rpm包的信息 
   #yum info installed

   * 列出已经安装的但是不包含在资源库中的rpm包的信息 
   #yum info extras 
   * 注:通过其它网站下载安装的rpm包的信息 
(6)、搜索rpm包

   * 搜索匹配特定字符的rpm包 
   #yum search mozilla 
   * 注:在rpm包名,包描述等中搜索

   * 搜索有包含特定文件名的rpm包 
   #yum provides realplay

(7)、特殊用法,采用yum来下载安装,并不安装。

指定yum的参数--downloaddir,和--downloadonly一并使用,来指定另外的目录来存放下载的包。 
#yum install --downloadonly --downloaddir=/tmp vsftpd


####################################################################################################

额外补充:增加自定义资源库

在服务器构建的过程中,我们将要用到的一些工具不存在于CentOS中yum的官方库中,所以需要定义yum的非官方库文件,让一些必需的工具通过yum也能够安装。
# vi /etc/yum.repos.d/dag.repo  ← 建立dag.repo,定义非官方库
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
# rpm --import http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt  ← 导入非官方库的GPG

例如:增加rpm.livna.org作为资源库
安装Livna.org rpms GPG key
#rpm --import http://rpm.livna.org/RPM-LIVNA-GPG-KEY 
#rpm --import http://rpm.livna.org/RPM-LIVNA-GPG-KEY

检查GPG Key
# rpm -qa gpg-pubkey*      显示Key信息
#rpm -qi gpg-pubkey-a109b1ec-3f6e28d5 
* (注:如果要删除Key,使用#rpm -e gpg-pubkey-a109b1ec-3f6e28d5)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值