原理
- 利用httpd建立一个httpd服务器用于存放本地源的rpm包
- 利用createrepo建立本地rpm包的描述信息
- /etc/yum.repos.d/中加入本地源的描述repo使得yum能够找到本地源
- 最后再修改优先级使得yum优先从本地源安装。
wget下载源文件(非必须 有rpm文件就行
wget -np -nH –cut-dirs=1 -r -c -L –exclude-directories=repodata –accept=rpm,gz,xml https://repos.fedorapeople.org/repos/openstack/openstack-juno/epel-7/ -P /opt/epel7
创建路径
在opt/epel7/下创建文件夹 如opt/epel7/yum/redhat/x86_64/latest/RPMS/,存放rpm文件 访问路径为 http://ip/yum/redhat/x86_64/latest/RPMS/
创建repodate信息
目录为存放rpm文件的上级目录
createrepo -p -d -o 目录 目录
createrepo -p -d -o /opt/epel7/yum/redhat/x86_64/latest/ /opt/epel7/yum/redhat/x86_64/latest/
配置http服务器 ,配置后可通过ip访问
yum install -y httpd
service httpd start // 或 systemctl start httpd.service
systemctl enable httpd.service //设置httpd自动启动
将根目录指向/opt/epel7
rm -rf /var/www/html
ln -s /opt/epel7 /var/www/html
配置客户端使用本地源
进入客户端/etc/yum.repos.d/目录下 //使用优先级需 yum install yum-plugin-priorities
vi name.repo
[name]
name=OpenStack Juno Repository //name
baseurl=http://123.206.119.158/yum/redhat/x86_64/latest/RPMS/
enabled=1
skip_if_unavailable=0
gpgcheck=0 //GPG验证是否开启
priority = 1 //配置其他repo文件优先级(每段配置下加priority = num)数字越小优先级越高
刷新yum缓存
yum clean all //清除yum信息
yum makecache //创建cache