赞
踩
因安全保密的需求,一般生产服务器并不能访问外网,这样就需要构建内网的yum源
yum -y install wget yum-utils createrepo
createrepo:用于生成yum源各软件之间的依赖索引。
yum-utils:安装后可使用 yumdownloader 命令下载所需软件包。
reposync:Reposync用于将远程yum存储库同步到本地,使用yum检索包的目录
下载阿里源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
查看配置好的网络源id
yum repolist
3、将yum源拉到本地服务器上
mkdir /yum
base
reposync -r base -p /yum
epel
reposync -r epel -p /yum
extras
reposync -r extras -p /yum
reposync命令参数
-c [file] 指定配置文件运行(默认配置文件是 /etc/yum.conf )
-q 静谧运行
-v 显示详细操作
-h 获取帮助
-b 尝试使用最佳的软件包版本
-C 只从系统缓存中运行,不更新缓存
-R [min] 最大命令等待时间
-y 所有回答都是 yes
-x [package] 排除哪些包
-n repoid=[] 只下载最新的包,相同的跳过
-p 指定下载路径
--delete 删除已不在仓库中的本地软件包
需要用到createrepo,没有的话需要使用yum下载
base
createrepo /yum/base
epel
createrepo /yum/epel
extras
createrepo /yum/extras
updates
createrepo /yum/updates
选择nginx配置yum源的共享目录下面需要在内网的其他主机上配置yum文件,保证能连接到yum源上
- ]# vim /nginx/conf/vhosts/yum.conf
- server {
- listen 18200;
- server_name localhost;
-
- location / {
- root /yum; ##yum源主目录
- autoindex off;
- autoindex_exact_size off;
- autoindex_localtime on;
- charset utf-8;
- index index.html index.htm;
- }
- }
-
- ]# /nginx/sbin/nginx -s reload
下面需要在内网的其他主机上配置yum文件,保证能连接到yum源上
- ##CentOS-Base.repo文件,配置base,extras,updates源的相关参数
- ]# vim /etc/yum.repos.d/CentOS-Base.repo
- [base] ##base源
- name=CentOS-$releasever
- enabled=1
- failovermethod=priority
- baseurl=http://172.25.230.47:18200/base/ ##base源url路径
- gpgcheck=1
-
- [updates] ##updates源
- name=CentOS-$releasever
- enabled=1
- failovermethod=priority
- baseurl=http://172.25.230.47:18200/updates/ ##updates源url路径
- gpgcheck=1
-
- [extras] ##extras源
- name=CentOS-$releasever
- enabled=1
- failovermethod=priority
- baseurl=http://172.25.230.47:18200/extras/ ##extras源url路径
- gpgcheck=1
-
- ##epel.repo文件,配置epel源
- ]# vim /etc/yum.repos.d/epel.repo
- [epel]
- name=Extra Packages for Enterprise Linux 7 - $basearch
- enabled=1
- failovermethod=priority
- baseurl=http://172.25.230.47:18200/epel/ ##epel源url路径
- gpgcheck=0
-
- ##epel.repo文件,配置epel源
- ]# vim /etc/yum.repos.d/epel.repo
- [epel]
- name=Extra Packages for Enterprise Linux 7 - $basearch
- enabled=1
- failovermethod=priority
- baseurl=http://172.25.230.47:18200/epel/ ##epel源url路径
- gpgcheck=0
重建yum缓存
yum clean all
yum makecache
测试yum安装
远程yum源同步脚本,通过设置计划任务执行
- #!/bin/bash
-
- yumdir=/yum
- yumlog=/yum/yumsync.log
-
- yumsour=(base centos-sclo-rh centos-sclo-sclo epel extras updates)
- for i in ${yumsour[*]};do
- reposync -r $i -n repoid=[] -p $yumdir
- if [ $? -eq 0 ];then
- echo "[`date +%F_%H:%M:%d`] success: $i source sync" | tee -a $yumlog
- else
- echo "[`date +%F_%H:%M:%d`] error: $i source sync failed" | tee -a $yumlog
- fi
- done
欢迎访问个人技术博客,有各种关于linux技术,中间件,数据库,应用等文章的分享,还有其他的人文文章,放松心情,可以点击右侧分类来查找相关的内容,也可以在留言本里给我留言交流技术:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。