一、搭建本地yum源(非共享)
只能本机使用的yum源。
repo文件是yum仓库的配置文件后缀,通常一个repo文件中可以设置多个yum仓库源,当安装和升级时yum会读取此配置文件,到yum仓库下载所需的rpm包并安装。
repo文件存在/etc/yum.repo.d下。
1. 安装createrepo
[root@sutang yum.repos.d]# yum -y install createrepo
2.备份本机系统原有yum仓库配置文件
(1)备份
[root@sutang ~]# cd /etc/yum.repos.d
[root@sutang yum.repos.d]# mkdir bak
[root@sutang yum.repos.d]# mv *.repo bak
[root@sutang yum.repos.d]# cd bak
[root@sutang bak]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
(2)yum配置文件解读(可选)
yum的配置文件/etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
#cachedir yum缓存的目录,存储rpm包和数据库
keepcache=0
#是否保留缓存,0表示安装后删除安装包 1表示安装后保留安装包
debuglevel=2
#排错等级,默认2,只记录安装和删除的记录
logfile=/var/log/yum.log
#日志目录
exactarch=1
#exactarch 是指 是否升级与你安装的cpu体系一样的包
obsoletes=1
gpgcheck=1
#gpgcheck 是否进行gpg校验,0不校验,1校验
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
3.创建新的yum仓库配置文件
vim yum.repo 此文件名随便写都可以,只要后缀名为repo就行。
(1)yum仓库的配置文件解读
/etc/yum.repos.d/下 .repo文件
[base
]
name
=CentOS-
$releasever - Base - mirrors.aliyun.com
failovermethod
=priority
baseurl
=http://mirrors.aliyun.com/centos/
$releasever/os/
$basearch/
http://mirrors.aliyuncs.com/centos/
$releasever/os/
$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
enabled=1
gpgcheck
=1
gpgkey
=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
-------------***********---------------------------------------------------------
[base] yum容器的名称,必须独一无二,为了区分不同的仓库,只要该文件中没有相同的容器名就好了。
name 对仓库的描述,可以使用变量 $releasever等
baseurl 仓库的实际地址,可以是http ftp格式的地址,也可以使用变量。
enabled是否启用这个yum仓库地址,0表示不启动,1表示启动
gpgcheck 是否进行gpg校验,0不校验,1校验,此项和下面一项结合使用。若为0,下面的一项不要。
gpgkey数字证书的公钥所在位置
(2)创建.repo文件
file后的//表示协议要求,/yum表示路径。
4.创建rpm资源包目录
(1)创建目录
mkdir /yum
(2)在目录中存放RPM包资源
该目录要求包含存在依赖关系的所有RPM包。此处为了演示就仅只从光盘中复制部分RPM包过来就好了。
复制部分文件过来就好了。
cd /media/CentOS_6.5_Final/Packages/
find . -name "bind*" -exec cp {} /yum \;
5.创建该目录的RPM数据库文件
createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据。
生成数据库文件
[root@sutang yum.repos.d]# cd /yum 切换到rpm包资源文件夹
[root@sutang yum]# createrepo ./ 生成数据库文件
注意:该目录中如果删除或添加了新的RPM包后,在该目录下执行该命令
createrepo --update ./
6.测试
(1)清空yum缓存
[root@sutang yum]# yum clean all
(2)更新yum缓存
[root@sutang yum]# yum makecache
二、搭建共享yum源(httpd共享)
1.安装createrepo和httpd
yum -y install createrepo
yum -y install httpd
2. 修改httpd配置文件
修改httpd配置文件,使客户端通过浏览器能够看见RPM资源目录。
3.注释欢迎页文件
vim /etc/httpd/conf.d/welcome.conf
完全注释掉!
4.创建rpm资源包目录
(1)创建目录
mkdir /yum
(2)在目录中存放RPM包资源
该目录要求包含存在依赖关系的所有RPM包。此处为了演示就仅只从光盘中复制部分RPM包过来就好了。
复制部分文件过来就好了。
cd /media/CentOS_6.5_Final/Packages/
find . -name "bind*" -exec cp {} /yum \;
5.创建该目录的RPM数据库文件
createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据。
生成数据库文件
[root@sutang yum.repos.d]# cd /yum 切换到rpm包资源文件夹
[root@sutang yum]# createrepo ./ 生成数据库文件
注意:该目录中如果删除或添加了新的RPM包后,在该目录下执行该命令
createrepo --update ./
6.创建.repo文件
该文件供任何人使用
(1)yum仓库的配置文件解读(可跳过)
/etc/yum.repos.d/下 .repo文件
[base
]
name
=CentOS-
$releasever - Base - mirrors.aliyun.com
failovermethod
=priority
baseurl
=http://mirrors.aliyun.com/centos/
$releasever/os/
$basearch/
http://mirrors.aliyuncs.com/centos/
$releasever/os/
$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
enabled=1
gpgcheck
=1
gpgkey
=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
-------------***********---------------------------------------------------------
[base] yum容器的名称,必须独一无二,为了区分不同的仓库,只要该文件中没有相同的容器名就好了。
name 对仓库的描述,可以使用变量 $releasever等
baseurl 仓库的实际地址,可以是http ftp格式的地址,也可以使用变量。
enabled是否启用这个yum仓库地址,0表示不启动,1表示启动
gpgcheck 是否进行gpg校验,0不校验,1校验,此项和下面一项结合使用。若为0,下面的一项不要。
gpgkey数字证书的公钥所在位置
(2)创建.repo文件(必选)
[root@sutang yum]# vim centos.repo
7.更改RPM资源包目录的权限与属主
cd /yum
chmod -R 755 *
chown -R apache:apache *
8.启动httpd服务
service httpd restart
9.另一台主机测试
(1)备份本机系统原有yum仓库配置文件
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
(2)下载.repo文件
wget http://192.168.8.116/centos.repo
(3)清除yum缓存
yum clean all
(4)新建yum缓存
yum makecache
三、搭建共享yum源(vsftpd匿名共享)
1.安装vsftpd和createrepo
yum -y install createrepo
[root@sutang yum]# cd /media/CentOS_6.5_Final/Packages/
[root@sutang Packages]# rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
2.修改vsftpd的文件
在默认的配置文件中添加红框中的内容!
local_root设置实体用户登录ftp显示的默认根目录
chroot_local_user是否将所有实体用户限制在主目录,YES为启用 NO禁用.默认为NO。
anon_root设置匿名用户登录ftp显示的默认根目录。
3.创建rpm资源包目录
(1)创建目录
mkdir /yum
(2)在目录中存放RPM包资源
该目录要求包含存在依赖关系的所有RPM包。此处为了演示就仅只从光盘中复制部分RPM包过来就好了。
复制部分文件过来就好了。
cd /media/CentOS_6.5_Final/Packages/
find . -name "bind*" -exec cp {} /yum \;
4.创建该目录的RPM数据库文件
createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据。
生成数据库文件
[root@sutang yum.repos.d]# cd /yum 切换到rpm包资源文件夹
[root@sutang yum]# createrepo ./ 生成数据库文件
注意:该目录中如果删除或添加了新的RPM包后,在该目录下执行该命令
createrepo --update ./
5.创建.repo文件
该文件供任何人使用
(1)yum仓库的配置文件解读(可跳过)
/etc/yum.repos.d/下 .repo文件
[base
]
name
=CentOS-
$releasever - Base - mirrors.aliyun.com
failovermethod
=priority
baseurl
=http://mirrors.aliyun.com/centos/
$releasever/os/
$basearch/
http://mirrors.aliyuncs.com/centos/
$releasever/os/
$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
enabled=1
gpgcheck
=1
gpgkey
=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
-------------***********---------------------------------------------------------
[base] yum容器的名称,必须独一无二,为了区分不同的仓库,只要该文件中没有相同的容器名就好了。
name 对仓库的描述,可以使用变量 $releasever等
baseurl 仓库的实际地址,可以是http ftp格式的地址,也可以使用变量。
enabled是否启用这个yum仓库地址,0表示不启动,1表示启动
gpgcheck 是否进行gpg校验,0不校验,1校验,此项和下面一项结合使用。若为0,下面的一项不要。
gpgkey数字证书的公钥所在位置
(2)创建.repo文件(必选)
vim centos_ftp.repo
ftp://后面的IP一定要是本机的IP(或搭建了vsftpd匿名服务和yum源服务的主机)
6.更改RPM资源目录的权限
cd yum
chmod –R 755 ./
7.另一台主机测试
(1)安装ftp客户端
rpm -ivh ftp-0.17-54.el6.x86_64.rpm
(2)匿名登录ftp并下载.repo
ftp 192.168.8.116
get centos_ftp.repo
exit
(3)备份原有的.repo
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
(4)将下载的.repo复制到/etc/yum.repos.d
cd -
cp centos_ftp.repo /etc/yum.repos.d/centos_ftp.repo
(5)清除yum缓存
yum clean all
(6)更新yum缓存
yum makecache