热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

14、yum仓库搭建

一、本地仓库1.yum搭建本地仓库(单台如何实现)1)挂载cd光盘,因为里面很多的软件包[rootwww.oldboyedu.com~]#mountdevcdrommnt2)创建

一、本地仓库

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搭建本地仓库--->共享给局域网中的所有服务器使用

环境准备:
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.从公网的仓库同步软件包至本地

需要注意,如果全同步,会特别占用空间,所以我们可以将不需要的软件包进行过滤。
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

注意:如果是虚拟机,需要在/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.logignore errors
read only = true #只提供同步,所以只读即可
list = true #允许查看列表,认证的什么的不需要配置
hosts allow = 0.0.0.0/0 #允许任何人同步##########提供同步的模块
[centos]
path = /repo/centos
[epel]
path = /repo/epel



来自为知笔记(Wiz)



转:https://www.cnblogs.com/Forever-x/p/e8a3c60420e128ebdf32103aa82c0943.html



推荐阅读
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • (三)多表代码生成的实现方法
    本文介绍了一种实现多表代码生成的方法,使用了java代码和org.jeecg框架中的相关类和接口。通过设置主表配置,可以生成父子表的数据模型。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • Windows 7 部署工具DISM学习(二)添加补丁的步骤详解
    本文详细介绍了在Windows 7系统中使用部署工具DISM添加补丁的步骤。首先需要将光驱中的安装文件复制到指定文件夹,并进行挂载。然后将需要的MSU补丁解压并集成到系统中。文章给出了具体的命令和操作步骤,帮助读者完成补丁的添加过程。 ... [详细]
  • 本文介绍了包的基础知识,包是一种模块,本质上是一个文件夹,与普通文件夹的区别在于包含一个init文件。包的作用是从文件夹级别组织代码,提高代码的维护性。当代码抽取到模块中后,如果模块较多,结构仍然混乱,可以使用包来组织代码。创建包的方法是右键新建Python包,使用方式与模块一样,使用import来导入包。init文件的使用是将文件夹变成一个模块的方法,通过执行init文件来导入包。一个包中通常包含多个模块。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 如何利用 Myflash 解析 binlog ?
    本文主要介绍了对Myflash的测试,从准备测试环境到利用Myflash解析binl ... [详细]
  • 本文记录了作者对x265开源代码的实现与框架进行学习与探索的过程,包括x265的下载地址与参考资料,以及在Win7 32 bit PC、VS2010平台上的安装与配置步骤。 ... [详细]
author-avatar
手机用户2502880645
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有