一.简介
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 http://xn--ip-im8ckc/centos
- enabled=1
- gpgcheck=1
- gpkey=file:(同上)
- [other]
- name=others
- baseurl=http://IP 地址 / others http://xn--ip-im8ckc/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://www.bubuko.com/infodetail-2705359.html