Centos 7 局域网 yum 源搭建
一、需求及实现方式介绍:
需求:现在各个软件版本更新迭代很快,在我们部署一套集群(比如:openstack)后,如果过一段时间想扩展集群时发现软件版本早已迭代更新,安装后导致和现有环境或多或少不兼容,比较麻烦,因此我们可以在集群搭建时就将所有的安装包下载到本地,使用本地仓库进行安装,可以保证软件版本不会发生变化。
实现方式:使用nginx + createrepo + downloadonly 搭建本地yum 源。
二、搭建
1、安装createrepo
# yum -y install createrepo
2、创建镜像存放目录,最好能挂在一个单独的分区
# mkdir /my_repo
3、安装nginx
# yum -y install nginx
# vim /etc/nginx/nginx.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name x.x.x.x; #修改此行,yum源服务器的IP
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
root /my_repo; #添加仓库的实际路径
autoindex on; #关键所在,必须添加
}
error_page 404 /404.html;
location = /40x.html {
}
# systemctl restart nginx.service #重启nginx 服务
4、安装downloadonly 插件包
# yum install yum-utils
5、下载镜像包
命令格式:
yumdownloader --resolve(可选,意为下依赖包) --destdir=软件存放位置 (可选) +软件包名
# yumdownloader --resolve nginx --destdir=/my_repo/nginx

6、生成镜像仓库,会在仓库目录下生成一个repodata 的目录。
# createrepo -p /my_repo/
三、客户端测试:
1、浏览器访问:

2、客户端修改yum 源
# cd /etc/yum.repos.d/
# mkdir back
# mv *.repo back
# vin Internal.repo
[base]
name = "Internal_repo"
baseurl = http://x.x.x.x #局域网yum 源IP地址
gpgcheck = 0
enabled = 1
[updates]
name = "Internal_repo"
baseurl = http://x.x.x.x
gpgcheck = 0
enabled = 1
# yum repolist # 客户端repo 列表查看

# yum -y install nginx #客户端测试安装 nginx

四、后期维护
1、服务端
每次下载完镜像后,都需要更新yum仓库列表
# createrepo --update -p /my_repo
2、客户端
# yum clean all #清除原有的yum信息
五、拓展
1、同步网上现有的镜像源:
a、创建存储目录
# mkdir -p /my_repo/CentOS_72_1511_Yum/Aliyun/version_7.2/64bit
b、 准备同步阿里云的源,base,updates,extras,epel, 确保/etc/yum.repos.d/ 下只有下面这两个repo
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# wget -O /etc/yum.repos.d/CentOS-epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
c、 开始同步下载包
# reposync -p /my_repo/CentOS_72_1511_Yum/Aliyun/version_7.2/64bit/
d、 建仓
# createrepo -p /my_repo/CentOS_72_1511_Yum/Aliyun/version_7.2/64bit/base/Packages
# createrepo -p /my_repo/CentOS_72_1511_Yum/Aliyun/version_7.2/64bit/extras/Packages
# createrepo -p /my_repo/CentOS_72_1511_Yum/Aliyun/version_7.2/64bit/updates/Packages
# createrepo -p /my_repo/CentOS_72_1511_Yum/Aliyun/version_7.2/64bit/epel
e、crontab定时同步
# crontab -e
1 2 * * * reposync -np /my_repo/CentOS_72_1511_Yum/Aliyun/version_7.2/64bit/ #-np:只同步更新的部分2、挂在ISO镜像
a、创建挂在目录
# mkdir /my_repo/cdrom
b、挂在镜像
# mount -t iso9660 /dev/cdrom /my_repo/cdrom
c、建仓
# createrepo -p /my_repo/cdrom
Centos 7 局域网 yum 源搭建的更多相关文章
- 本地局域网yum源搭建-centos/redhat
环境-centos6.7 [本机yum搭建提前备好,不做介绍] [root@nagios ~]# cat /etc/redhat-release CentOS release 6.7 (Final) ...
- CentOS7.5下基于FTP服务的局域网yum源搭建
实验环境 yum源服务器和yum客户端都处于同一局域网之中 yum源服务器 hostname:zabbix OS版本:CentOS 7.5 IP:192.168.101.201 yum客户端 host ...
- CentOS 7搭建本地yum源和局域网yum源
这两天在部署公司的测试环境,在安装各种中间件的时候,发现各种依赖都没有:后来一检查,发现安装的操作系统是CentOS Mini版,好吧,我认了:为了完成测试环境的搭建,我就搭建了一个局域网的yum源. ...
- 搭建本地yum源和局域网yum源
搭建本地yum源和局域网yum源 由于很多客户环境是专网,不允许连网,无法使用网上的各种yum源,来回拷贝rpm包安装麻烦,还得解决依赖问题.所以想着搭建个本地/局域网YUM源,方便安装软件. 1 ...
- CentOS7.2 创建本地YUM源和局域网YUM源
1背景 由于开发环境只有局域网,没法使用网上的各种YUM源,来回拷贝rpm包安装麻烦,还得解决依赖问题. 想着搭建个本地/局域网YUM源,方便自己跟同事安装软件. 2环境 [root@min-base ...
- Linux 本地yum源搭建和网络yum源搭建
一.本地yum源搭建 首先挂载上光盘 [root@www /]# mount /dev/cdrom /media/cdrom/ 系统默认已经安装了可使用yum的软件包,所以可以直接配置: [root@ ...
- Linux学习——yum学习和光盘yum源搭建
在rmp安装的时代,rpm包依赖让安装人员头大,而且头疼,有了yum后整个的安装更加简单和方便. yum源文件 1.yum源的介绍: 将所有的软件包放到官方服务器上,当进行yum在线安装时,可以自动解 ...
- CentOS下安装yum源的流程和操作
一般公司都用Linux来搭建服务器,Linux安装软件时能够用yum安装依赖包是一件非常简单而幸福的事情,因为你只需一个简单的安装命令yum install []即可安装相应的软件,yum工具会自动的 ...
- RedHat Enterprise Linux 6.4使用Centos 6的yum源问题
RedHat Enterprise Linux 6.4使用Centos 6的yum源问题 作为一名新手,学习Linux已经一个月了,其间遇到了不少问题,而今天笔者遇到的问题是 #yum install ...
随机推荐
- python IO流操作
python IO流操作 学习完本篇,你将会独立完成 实现操作系统中文件及文件目录的拷贝功能. 将目标图片拷贝到指定的目录中 实现一个自动阅卷程序, Right.txt保存正确答案,xx(学生姓名). ...
- Android View post 方法
解析View.post方法.分析一下这个方法的流程. 说起post方法,我们很容易联想到Handler的post方法,都是接收一个Runnable对象.那么这两个方法有啥不同呢? Handler的po ...
- css3 animate转圈360旋转
.logo{ width:20px; height: 20px; background: red; -webkit-animation:haha1 .8s linear infinite; anima ...
- 织梦 arclist调用副栏目内容解决办法
1 打开include/taglib/arclist.lib.php,找到296行: if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonI ...
- Jmeter通过正则表达式提取器提取响应结果数据
Jmeter进行接口测试常常会运到一个问题:就是第二个请求如何接收上一个请求响应中的参数.比如,现在个学生金币充值的接口,得先调用登录接口然后从返回里面复制一下sign的值,放到cookie里这样才能 ...
- Django框架进阶
Django ORM那些相关操作 Django中ORM介绍和字段及字段参数 Cookie.Session和自定义分页 Django 中间件 AJAX Django form表单 Django的认证系统 ...
- [转载]linux环境变量设置方法总结(PATH/LD_LIBRARY_PATH)
http://blog.chinaunix.net/uid-354915-id-3568853.html PATH: 可执行程序的查找路径查看当前环境变量:echo $PATH设置: 方法一:exp ...
- P6076-[JSOI2015]染色问题【组合数学,容斥】
正题 题目链接:https://www.luogu.com.cn/problem/P6076 题目大意 给出\(n*m\)的网格,\(c\)种颜色涂色要求 每个格子可以染色也可以不染 每一行每一列至少 ...
- Python中open和with open有什么区别?怎么用?
open 打开文件 file=open("文件名","读写模式") 操作文件 代码段 关闭文件 file.close() 注意事项:使用open方法,文件操作完 ...
- Kotlin基础入门之必知必会,查漏补缺来一手~~~
数据类型 Kotlin跟 java 相同,基本数据类型有八种 boolean,char,int,short,long,float,double,byte 类型 位宽 最小值 最大值 Short 16 ...