repo文件是CentOS中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!
我们以一份系统自带的repo文件做为实例来探讨(#号后面是我加的注释):
[base]
name=CentOS-$releasever - Base
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[base]
#方括号里面的是软件源的名称,将被yum取得并识别
name=CentOS-$releasever - Base
#这里也定义了软件 仓库的名称,通常是为了方便阅读配置文件,一般没什么作用,
$releasever变量定义了发行版本,通常是5,6,7等数字,
这个变量根据当前系统的版本架构不同而有不同的取值,
这可以方便yum升级的时候选择 适合当前系统的软件包,以下同……
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
#上面的一行baseurl第一个字符是'#'表示该行已经被注释,将不会被读取,
$basearch变量定义了系统的架构,可以是i386、x86_64、ppc等值
这一行的意思是指定一个baseurl(源的镜像服务器地址)
enabled=1
#这个选项表示这个repo中定义的源是启用的,0为禁用
gpgcheck=1 #
这个选项表示这个repo中下载的rpm将进行gpg的校验,已确定rpm包的来源是有效和安全的
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#定义用于校验的gpg密钥
三.构建YUM仓库
简要步骤说明
(一).确认文件共享方式
(二).把rpm包放置于能够被各yum客户端访问到位置
(三).创建yum仓库的元数据
createrepo命令
#yum -y install createrepo
为yum仓库创建元数据文件
#createrepo 软件包文件目录
实验案例:
在本文中我创建一个本地光盘yum来构建一个本地YUM仓库。
(一)、挂载本地光盘
#mkdir /mnt/cdrom
#新建挂载目录
#mount -t iso9660 /dev/cdrom /mnt/cdrom
#挂载光盘到/mnt/cdrom 目录
#ls /mnt/cdrom
#查看/mnt/cdrom 目录内容
[root@LinuxHost yum.repos.d]# mkdir /mnt/cdrom
[root@LinuxHost yum.repos.d]# mount -t iso9660 /dev/cdrom /mnt/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@LinuxHost yum.repos.d]# ls /mnt/cdrom
CentOS_BuildTag isolinux RPM-GPG-KEY-CentOS-Debug-6
EFI Packages RPM-GPG-KEY-CentOS-Security-6
EULA RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Testing-6
GPL repodata TRANS.TBL
images RPM-GPG-KEY-CentOS-6
(二)、配置本地YUM源
#cd /etc/yum.repos.d/
#进入/etc/yum.repos.d 目录
#ls
#查看目录内容
#mv CentOS-Base.repo CentOS-Base.repo.bak
#mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
#重命名上面2个文件
#vi CentOS-Media.repo
#对CentOS-Media.repo 进行编辑
(三)、修改CentOS-Media.repo内容
[c6-media]
name=CentOS-$releaserver - Media
#自定义Yum源名称
baseurl=file:///mnt/cdrom/
#本地光盘挂载路径
gpgcheck=1
#检查GPG-KEY
enabled=1
#启用Yum源
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-6
#GPG-KEY路径
[root@LinuxHost yum.repos.d]# cat CentOS-Media.repo
[C6-Media]
name=CentOS-$releaserver-Media
baseurl=file:///mnt/cdrom
gpcheck=1
enabled=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-6
检查列出可用yum仓库元数据
[root@LinuxHost yum.repos.d]# yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
repo id repo name status