一.简介
yum的主要功能是更方便的添加/删除/更新RPM包,自动解决包的依赖性问题,便于管理大量系统的更新问题。
yum可以同时配置多个资源库,简介的配置文件,保持与rpm数据库的一致性。
二,yum 的安装
默认已经安装,这里简要提一下。
基础安装包包括: yum yum-fastestmirror yum-metadata-parser
三.yum的配置
yum的配置文件分为两部分:main和repository
- main部分定义了全局配置选项,整个yum配置文件应该只有一个main。常位于/etc/yum.conf中。
yum.conf 文件一般位于/etc目录下,一般其中只包含main部分的配置选项。
cat /etc/yum.conf
(1) cachedir=/var/cache/yum/x86_64/6/base/packages【yum缓存的目录,yum在此存储下载rpm包和数据库,】
(2) keepcache=0【安装完成后是否保留软件包,0为不保留,1为保留】
(3) debuglevel=2 【信息输出等级,范围为0-10,缺省为2】
(4) logfile=/var/log/yum.log 【yum日志文件位置,可以查询过去所作的更新】
(5) pkgpolicy=newest/last【包策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本,如果是last,则yum会将服务器id以字母表排序,并选择最后哪个服务器上的软件安装。一般都选newest】
(6) distroverpkg=redhat-release【指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包】
(7) tolerant=1 【表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1 2 3三个包,而其中3此前已经安装了,设为1,则yum不会出现错误信息,默认为0】
(8) exctarch=1【设置为1,则yum只会安装和系统架构匹配的软件包。】
(9) retries=6 【网络链接发生错误后的重试次数,如果设为0则会无限重试,默认为6】
(10) obsoletes=1【这是一个update的参数,允许更新陈旧的rpm包】
(11) plugins=1 【是否启用插件,默认为1是允许,0表示不允许。】 - repository部分定义了每个源/服务器的具体配置,可以有一个或者多个。常位于/etc/yum.conf
(1) 配置本地yum源
a. 挂载系统安装光盘 mount /dev/cdrom /mnt/cdrom
b. 配置本地yum源 cd /etc/yum.repos.d
ls 会看到四个repo文件
CentOS-Base.repo 是yum网络源的配置文件
CentOS-Media.repo 是yum本地源的配置文件。
修改CentOS-Media.repo是yum本地源的配置文件
在baseurl中修改第二个路径为/mnt/cdrom(即光盘挂载点)
将enabled=0改为1
c. 禁用默认的yum网络源
将yum网络源配置文件改名为CentOS-Base.repo.bak,否则会先在网络源中寻找适合的包,改名之后直接从本地源读取。
d. 执行yum命令
yum install postgersql
e.关于repo文件的格式
所有repository的服务器设置都应该遵循如下格式:
[serverid]
name=Some name for this server
baseurl=url://path/to/repository
serverid 【用于区别各个不同的repository必须有一个独一无二的名称】
name【是对repository的描述,】
baseurl【是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件,】
其中url支持的协议有http:// ftp:// file:// 三种。 baseurl后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl只能有一个。
failovermethode 有两个选项。roundrobin (随机选择url路径)
priority(按次序选择) - 配置国内yum源
(1)系统给默认的yum源速度往往不尽如人意,为了达到快速安装的目的
修改/etc/yum.repos.d/CentOS-Base.repo 【vim /etc/yum.repos.d/CentOS-Base.repos.d(修改前都做好备份) 只修改其中{baseurl} {addons}{extras}{centosplus}这几项中的baseurl和gpgkey为相应源地址即可。修改完成后,清空yum缓存,并重建yum缓存(yum clean all &&yum clean &&yum cl)】
【国内更新源
上海交大 http://ftp.sjtu.edu.cn/centos
中国科技大学 http://centos.ustc.edu.cn
sohu的开源镜像服务器 http://mirrors.sohu.com
网易的开源服务器镜像:http://mirrors.163.com/centos
(2)导入GPG KEY
yum可以使用gpg对包进行校验,确保下载包的完整性,所以我们先要到各个repository站点找到gpgkey,一般都会放在首页的醒目位置,把它们下载下来,然后用rpm –import 命令将key导入。 - 集群环境中配置yum源仓库,
(1) ftp发布【yum服务器端配置】
a. 准备软件仓库目录
mkdir /var/ftp/rhel6
cp -rf /media/cdrom/ /var/ftp/rhel6
对于用户搜集的非RHEL6光盘自带的更多其他的软件包(必须包括存在依赖关系的所有安装文件),除了应准备相应的目录之外,还需要手动创建repodata数据文件,这就要用到createrepo工具(需要从RHEL6光盘中安装)
cd /var/ftp/other
createrepo -g /media/cdrom/repodata/repomd.xml ./
b. 安装并启用vsftpd服务
rpm -ivh /media/cdrom/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
chkconfig vsftpd on
service vsftpd start
c. 配置软件仓库位置(客户机端配置)
vim /etc/yum.repos.d/rhel6.repo
[base]
name=
baseurl=ftp://IP地址/rhel6
enabled=1 【启用此软件仓库】
gpgcheck=1【验证软件包签名】
gpkey=file://etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release【GPG公钥文件位置】
[other]
name=
baseurl=ftp://IP地址/other
enable=1
gpgcheck=0(不验证软件包签名)
(2) http发布
a. 安装并启用httpd服务 service httpd start
chkconfig httpd on
b. mkdir -p /var/www/html/centos
cp -rf /media/cdrom/ /centos
mkdir -p /var/www/html/others
cd /var/www/html/others
createrepo -g /media/cdrom/repodata/repomd.xml ./
c. 配置软件仓库的位置(客户机端配置)
vim /etc/yum.repos.d/rhel6.repo
[base]
name=centos
baseurl=http://IP地址/centos
enabled=1
gpgcheck=1
gpkey=file:(同上)
[other]
name=others
baseurl=http://IP地址/others
enabled=1
gpgcheck=0
四.使用yum工具管理软件包
- yum list 查询软件包列表 yum list available 列出可用的尚未安装的软件包
yum list updates 表示只列出可以升级版本的软件包
yum list install 表示只列出系统中已经安装的软件包 - yum info 查询软件包描述信息
- yum search all httpd 查询指定的软件包
4.安装、升级、卸载软件包
yum -y install httpd(安装)
yum -y remove httpd (卸载并自动解决依赖关系)
原文地址:http://blog.51cto.com/13588698/2151830
时间: 2024-10-04 12:17:02