14、yum仓库搭建
一、本地仓库
1.yum搭建本地仓库(单台如何实现)
1) 挂载cd光盘,因为里面很多的软件包
[root@www.oldboyedu.com ~]# mount /dev/cdrom /mnt
2) 创建一个本地的仓库
[root@www.oldboyedu.com ~]# cd /etc/yum.repos.d/
[root@www.oldboyedu.com /etc/yum.repos.d]# gzip *
[root@www.oldboyedu.com /etc/yum.repos.d]# cat xxx.repo
[LocalBase] #真实的仓库名称
name=This is Local Base #当前仓库的描述
baseurl=file:///mnt #仓库所在的路径,可以是 http:// https:// ftp:// file://
enabled=1 #启用当前的仓库,默认是启用的
gpgcheck=0 #校验安装的rpm是否是合法的,0表示不校验 1表示校验,同时还需要gpgkey参数指定校验的公钥
3) 使用当前本地的仓库
[root@www.oldboyedu.com /etc/yum.repos.d]# yum makecache
[root@www.oldboyedu.com /etc/yum.repos.d]# yum repolist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
repo id repo name status
LocalBase This is Local Base 4,021
repolist: 4,021
2.yum搭建本地仓库--->共享给局域网中的所有服务器使用
1) 挂载cd光盘,因为里面很多的软件包
[root@www.oldboyedu.com ~]# mount /dev/cdrom /mnt
2) 创建一个本地的仓库
[root@www.oldboyedu.com ~]# cd /etc/yum.repos.d/
[root@www.oldboyedu.com /etc/yum.repos.d]# gzip *
[root@www.oldboyedu.com /etc/yum.repos.d]# cat xxx.repo
[LocalBase] #真实的仓库名称
name=This is Local Base #当前仓库的描述
baseurl=file:///mnt #仓库所在的路径,可以是 http:// https:// ftp:// file://
enabled=1 #启用当前的仓库,默认是启用的
gpgcheck=0 #校验安装的rpm是否是合法的,0表示不校验 1表示校验,同时还需要gpgkey参数指定校验的公钥
3) 使用当前本地的仓库
[root@www.oldboyedu.com /etc/yum.repos.d]# yum makecache
[root@www.oldboyedu.com /etc/yum.repos.d]# yum repolist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
repo id repo name status
LocalBase This is Local Base 4,021
repolist: 4,021
环境准备:
10.0.0.99 作为yum仓库
10.0.0.98 作为使用yum仓库的客户端
1.搭建一个yum仓库 10.0.0.99 http:// https:// ftp:// file://
2.1.初识环境
[root@www ~]# systemctl disable firewalld #关闭开机自动启动firewalld防火墙
[root@www ~]# systemctl stop firewalld #现在立即关闭firewalld防火墙
[root@www ~]# setenforce 0 #关闭selinux防火墙
[root@www ~]# sed -i 's#^SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config #下次不再启动selinux防火墙
2.2.安装ftp服务,并启动
[root@www ~]# yum install vsftpd -y #安装ftp服务
[root@www ~]# systemctl start vsftpd #启动ftp服务
[root@www ~]# systemctl status vsftpd #查看ftp服务状态是否是active Running
2.3.给ftp共享的目录准备基础软件包
[root@www ~]# mkdir /var/ftp/centos7 #提供基础base仓库
[root@www ~]# mount /dev/cdrom /mnt/
[root@www ~]# find /mnt/Packages/ -type f -name "*.rpm" |xargs -I {} cp -rp {} /var/ftp/centos7/
2.4.给ftp共享的目录准备扩展软件包(需要去同步公网上面的软件)
[root@www ~]# cd /var/ftp/
[root@www ~]# mkdir zabbix
[root@www ~]# cd zabbix
[root@www ~]# wget 下载所有的软件包,通过取值的方式
[root@www ftp]# createrepo /var/ftp/zabbix/
2.5.如果需要同步jenkins这个仓库怎么办?
wget下载 (随时,但步骤太多,而且后期的可维护性差)
rsync同步 (凌晨1-8点)
2.6.将ftp对应的目录生成为yum的仓库
[root@www ftp]# yum install createrepo -y
[root@www ftp]# createrepo /var/ftp/centos7/
2.7.客户端指向并使用内部的yum仓库 10.0.0.98
[root@client yum.repos.d]# gzip *
[root@client yum.repos.d]# cat ftp_99.repo
[FtpRepos]
name = This is Ftp Share Repos
baseurl = ftp://10.0.0.99/centos7/
enabled = 1
gpgcheck = 0
2.8.检查yum仓库服务器从公网下载下来的软件包能否正常的使用
[root@client yum.repos.d]# cat ftp_zabbix_99.repo
[FtpZabbixRepos]
name = This is Ftp Share Zabbix Repos
baseurl = ftp://10.0.0.99/zabbix/
enabled = 1
gpgcheck = 0
二、公网同步yum仓库
nginx+rsync实现本地yum源以及公网yum源
1.配置nginx的autoindex模块,开启目录浏览功能
2.使用rsync同步公网源上的软件包,至本地目录中
3.配置客户端指向即可
1.安装nginx
[root@yum ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
[root@yum ~]# yum install nginx -y
2.nginx提供目录浏览功能
[root@yum ~]# cat /etc/nginx/conf.d/yum.conf
server {
listen 80;
listen [::]:80;
server_name mirrors.linanxi.fun;
location / {
root /repo;
autoindex on; #开启目录浏览功能
}
}
3.从公网的仓库同步软件包至本地
1.配置nginx的autoindex模块,开启目录浏览功能
2.使用rsync同步公网源上的软件包,至本地目录中
3.配置客户端指向即可
1.安装nginx
[root@yum ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
[root@yum ~]# yum install nginx -y
2.nginx提供目录浏览功能
[root@yum ~]# cat /etc/nginx/conf.d/yum.conf
server {
listen 80;
listen [::]:80;
server_name mirrors.linanxi.fun;
location / {
root /repo;
autoindex on; #开启目录浏览功能
}
}
3.从公网的仓库同步软件包至本地
[root@yum ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
[root@yum ~]# yum install nginx -y
[root@yum ~]# cat /etc/nginx/conf.d/yum.conf
server {
listen 80;
listen [::]:80;
server_name mirrors.linanxi.fun;
location / {
root /repo;
autoindex on; #开启目录浏览功能
}
}
3.从公网的仓库同步软件包至本地
需要注意,如果全同步,会特别占用空间,所以我们可以将不需要的软件包进行过滤。
rsync同步命令(建议将其加入定时任务)
#1.同步centos7的基础源
rsync -zaP --exclude-from /repo/exclude_7.txt rsync://rsync.mirrors.ustc.edu.cn/centos/7.6.1810/ /repo/centos
#2.同步centos7的epel源
rsync -zaP --exclude-from /repo/exclude_7_epel.txt rsync://rsync.mirrors.ustc.edu.cn/epel/7/ /repo/epel
#centos7排除的文件(保留os和extras)
[root@yum ~]# cat /repo/exclude_7.txt
atomic/
centosplus/
cloud/
configmanagement/
cr/
dotnet/
fasttrack/
isos/
nfv/
opstools/
paas/
rt/
sclo/
storage/
virt/
debug/
drpms/
#centos7_epel排除的文件(保留x86_64)
[root@yum ~]# cat /repo/exclude_7_epel.txt
SRPMS/
aarch64/
ppc64/
ppc64le/
state
4.将ftp对应的目录生成为yum的仓库
[root@yum ~]# yum install createrepo -y
[root@yum ~]# createrepo /repo/centos/
[root@yum ~]# createrepo /repo/epel/
5.客户端配置本地yum仓库
[centos]
name = Local Base Repository
baseurl = http://mirrors.linanxi.fun/centos
enable = 1
gpgcheck = 0
[epel]
name = Local Epel Repository
baseurl = http://mirrors.linanxi.fun/epel
enable = 1
gpgcheck = 0
[root@yum ~]# yum install createrepo -y
[root@yum ~]# createrepo /repo/centos/
[root@yum ~]# createrepo /repo/epel/
[centos]
name = Local Base Repository
baseurl = http://mirrors.linanxi.fun/centos
enable = 1
gpgcheck = 0
[epel]
name = Local Epel Repository
baseurl = http://mirrors.linanxi.fun/epel
enable = 1
gpgcheck = 0
注意:如果是虚拟机,需要在/etc/hosts配置解析:10.0.0.222 mirrors.linanxi.fun
6.扩展:
如果想为下游提供同步服务,我们可以使用rsync协议将目录共享出去,让其他人也可以同步(一般玩不起,毕竟没钱)。
[root@xuliangwei ~]# cat /etc/rsyncd.conf
uid = nginx
gid = nginx
use chroot = no
max connections = 2000
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = true #只提供同步,所以只读即可
list = true #允许查看列表,认证的什么的不需要配置
hosts allow = 0.0.0.0/0 #允许任何人同步
##########提供同步的模块
[centos]
path = /repo/centos
[epel]
path = /repo/epel
14、yum仓库搭建的更多相关文章
- 其他综合-内网下Yum仓库搭建配置
内网下Yum仓库搭建配置 1.实验环境 虚拟机环境: VMware 12 版本虚拟机 网络环境: 内网 IP 段:172.16.1.0 外网 iP 段(模拟):10.0.0.0 实验基础:(能够上网, ...
- 自动化利器-YUM仓库搭建实战
本地YUM仓库搭建实战 YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的reposito ...
- 本地YUM仓库搭建实战
YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软 ...
- Firewalld共享上网及本地yum仓库搭建
1.firewalld共享上网 1.服务端操作(有外网的服务器) 1.开启防火墙并加入开机自启动 [root@zeq ~]# systemctl start firewalld [root@zeq ~ ...
- linux运维、架构之路-rpm定制、本地yum仓库搭建
一.定制rpm包 1.环境 [root@m01 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@m01 ~]# uname - ...
- CentOS 7系统yum仓库搭建方法
YUM: Yellowdog Update Modifier,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具,是为了进一步简化RPM管理软件难度以及自动分 ...
- 本地yum仓库搭建及rpm软件包定制
环境内核信息: [root@zabbix-01 ~]# uname -a Linux lodboyedu-01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:2 ...
- 本地yum仓库搭建,使用163yum源
如果内部网络没有连接Internet就在本地配置yum仓库 将操作系统镜像上传到服务器中,进行挂载 mount –o loop rhel-server-6.7-x86_64-dvd.iso /mnt ...
- yum仓库搭建
1. 创建yum仓库目录 mkdir -p /application/yum/centos6.6/x86_64/ cd /application/yum/centos6.6/x86_64/ rz # ...
随机推荐
- 公式test
- Cloudera Manager 常见异常
1. Cloudera Management Service服务全部无法启动 观察到的现象: (1)cm service 组件无法启动,启动时服务请求超时终止:(2)主机信息也无法获取到,一直提示“无 ...
- SqlServer:SqlServer(服务器磁盘监控,创建管理员账号分配权,添加链接服务器,查询CPU,查询内存)
1.服务器磁盘监控 (1)总链接服务上开启所有链接服务器的RPC: ----------------------总链接服务器上面,开启每个服务器的RPC --exec sp_serveroption ...
- lamp的动静分离部署
一.lamp分离部署工作图 二.LAMP的安装与配置 1.环境准备 2.对 PHP 服务器进行部署 #以下为安装PHP及其依赖 [root@php ~ ]# .tar.gz -C /usr/src [ ...
- Leetcode之动态规划(DP)专题-122. 买卖股票的最佳时机 II(Best Time to Buy and Sell Stock II)
Leetcode之动态规划(DP)专题-122. 买卖股票的最佳时机 II(Best Time to Buy and Sell Stock II) 股票问题: 121. 买卖股票的最佳时机 122. ...
- C学习笔记-字符串
对于C语言来说,字符串其实就是最后一个元素为'\0'的char数组 字符数组的初始化 字符数组常见的有两种初始化方式 char str[] = "hello"; 或者 char s ...
- mysql数据库之联表查询
表准备: 这次我们用到5张表: class表: student表: score表: course表: teacher表: 表结构模型: 我们针对以下需求分析联表查询: 1.查询所有的课程的名称以及对应 ...
- vue中打包之后的dist文件不放在服务器的根目录下
在工作当中,我使用webpack打包的dist,由于管理的问题,无法被放在服务器根目录下 ,但在目前的vue配置,dist不放在根目录下,访问页面会成为一片空白,于是便要对vue框架的config进行 ...
- 对Redis 单进程、单线程模型的理解(网摘)
1.基本原理 采用多路 I/O 复用技术可以让单个线程高效的处理多个连接请求(尽量减少网络IO的时间消耗) (1)为什么不采用多进程或多线程处理? 多线程处理可能涉及到锁 多线程处理会涉及到线程切换而 ...
- h5中的结构元素header、nav、article、aside、section、footer介绍
结构元素不具有任何样式,只是使页面元素的的语义更加明确. header元素 header元素是一种具有引导和导航作用的的结构元素,该元素可以包含所有通常放在页面头部的内容.header元素通常用来放置 ...