Cen YUM 源配置与使用方法
一、 YUM简介
yum,是Yellow dog Updater,Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器。起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke 开发团队进行改进,遂有此名。yum 的宗旨是自动化地升级,安装/移除rpm 包,收集rpm 包的相关信息,检查依赖性并自动提示用户解决。yum 的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http 或ftp 站点,也可以是本地软件池,但必须包含rpm 的header,header 包括了rpm 包的各种信息,包括描述,功能,提供的文件,依赖性等。正是收集了这些header 并加以分析,才能自动化地完成余下的任务。
yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了Linux 用户一直头痛的dependencies 的问题。这一点上,yum 和apt 相同。apt 原为debian 的deb 类型软件管理所使用,但是现在也能用到RedHat 门下的rpm 了。
yum 主要功能是更方便的添加/删除/更新RPM 包,自动解决包的倚赖性问题,便于管理大量系统的更新问题。
yum可以同时配置多个资源库(Repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm 包时遇到的依赖性问题,保持与RPM 数据库的一致性。
二、 YUM安装 (系统默认已安装)
rpm -qa|grep yum 查看yum 是否已经安装
1、yum-Metadata-parser-1.1.4-10.el7.x86_64
2、yum-3.4.3-118.el7.centos.noarch
3、yum-plugin-fastestmirror-1.1.31-24.el7.noarch
4、yum-plugin-fastestmirror-1.1.31-24.el7.noarch
5、yum-plugin-fastestmirror-1.1.31-24.el7.noarch
rpm -e 加所查询的出的软件包全称即可; 卸载默认yum源;
1、rpm -e yum-Metadata-parser-1.1.4-10.el7.x86_64
2、rpm -e yum-3.4.3-118.el7.centos.noarch
3、rpm -e yum-plugin-fastestmirror-1.1.31-24.el7.noarch
4、rpm -e yum-plugin-fastestmirror-1.1.31-24.el7.noarch
5、rpm -e yum-plugin-fastestmirror-1.1.31-24.el7.noarch
三、重新安装yum
这里可以通过wget 从网上下载相关包安装,也可以挂载系统安装光盘进行安装,这里选择挂载系统安装光盘进行安装。
# ls -l /dev | grep cdrom 查看已加载的光盘名称;
# mkdir /mnt/cdrom
# mount /dev/cdrom /mnt/cdrom/
# rpm -ivh yum-3.2.22-33.el5.centos.noarch.rpm yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm yum-Metadata-parser-1.1.2-3.el5.centos.i386.rpm
上图为搜索需要安装的安装包名字。
# yum -v 详尽的操作过程
yum 的基础安装包包括:
yum //RPM installer/updater
yum-fastestmirror //Yum plugin which chooses fastest repository from a mirrorlist
yum-Metadata-parser //A fast Metadata parser for yum
四、配置YUM文件
yum 的配置文件分为两部分:main 和repository
main 部分定义了全局配置选项,整个yum 配置文件应该只有一个main。常位于/etc/yum.conf 中。
配置文件).jpg" width="980" height="400" border="0" hspace="0" vspace="0" style="width:980px;height:400px;" alt="wKioL1m35dPSAifeAAGzdC2V7Ns442.jpg" src="https://s3.51cto.com/wyfs02/M01/A5/1D/wKioL1m35dPSAifeAAGzdC2V7Ns442.jpg">
repository 部分定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d 目录下的各文件中。
yum.conf 文件一般位于/etc目录下,一般其中只包含main部分的配置选项。
vim /etc/yum.conf
配置本地YUM源
CentOS-Base.repo 是yum 网络源的配置文件
CentOS-Media.repo 是yum 本地源的配置文件
修改CentOS-Media.repo
cat CentOS-Media.repo
# CentOS-Media.repo
#
# This repo is used to mount the default locations for a CDROM / DVD on
# CentOS-5. You can use this repo and yum to install items directly off the
# DVD ISO that we release.
#
# To use this repo,put in your DVD and use it with the other repos too:
# yum --enablerepo=c5-media [command]
#
# or for ONLY the media repo,do this:
#
# yum --disablerepo=\* --enablerepo=c5-media [command]
[local-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
file:///mnt/cdrom/
file:///media/cdrecorder/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#\\在baseurl 中修改第2个路径为/mnt/cdrom(即为光盘挂载点)
将enabled=0改为1
#\\禁用默认的yum 网络源
mv CentOS-Base.repo CentOS-Base.repo.back
将yum 网络源配置文件改名为CentOS-Base.repo.bak,否则会先在网络源中寻找适合的包,改名之后直接从本地源读取。
五、关于repo 文件的格式
所有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/repository/
url://server2/path/to/repository/
url://server3/path/to/repository/
其中url 支持的协议有 http:// ftp:// file:// 三种。baseurl 后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl 只能有一个,也就是说不能像如下格式:
baseurl=url://server1/path/to/repository/
baseurl=url://server2/path/to/repository/
baseurl=url://server3/path/to/repository/
其中url 指向的目录必须是这个repository header 目录的上一级,它也支持$releasever $basearch 这样的变量。
url 之后可以加上多个选项,如gpgcheck、exclude、failovermethod 等,比如:
六、配置网络源
163网易yum源配置信息
修改/etc/yum.repos.d/CentOS-Base.repo为:
# CentOS-Base.repo
注意:在找到网络源例如 163网易开源镜像站:http://mirrors.163.com/。搜狐开源镜像站:http://mirrors.sohu.com/中国科学技术大学:http://mirrors.ustc.edu.cn/ (IPv4+IPv6)
http://mirrors4.ustc.edu.cn/
http://mirrors6.ustc.edu.cn/
东北大学:
http://mirror.neu.edu.cn/ (IPv4 only)
http://mirror.neu6.edu.cn/ (IPv6 only)
这些网址需要查看是否存在,验证网址是否存在,验收地址里是否有你需要的镜像源。
例如配置信息
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/7/os/$basearch/ #//163镜像地址目录-使用时需验证网址是否存在;
gpgcheck=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7 #//验证的秘钥网络地址秘钥。需验证网址中是否存在你所需要的秘钥;
priority=1
#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/7/updates/$basearch/
gpgcheck=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/7/extras/$basearch/
gpgcheck=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
baseurl=http://mirrors.163.com/centos/7/centosplus/$basearch/
gpgcheck=0
enabled=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
配置完成!!!
使用命令测试清楚yum clean all 缓存;
在进行安装第三方软件安装包例如 yum -y install ltfp
-------------------------------------------------------------------------------------------