【nexusyum】CentOS7.x上用nexus搭建yum仓库
一、实验背景
在生产环境中,我们不可能所有的服务器都能连接外网更新rpm包,比较理想的环境是:有一台Linux服务器可以连接外网,剩余的服务器通过这台yum服务器更新。
传统的做法是先把包下载到内网中的yum服务器上,然后通过createrepo命令生成本地仓库,其余服务器通过HTTP/FTP访问这个链接,这种做法比较费时费事。有没有一种比较好的方式,让我们直接通过这台服务器代理连接到公网的163、阿里云yum仓库呢?
这就是本次介绍的Nexus代理,无论你的客户机是CentOS6还是CentOS7又或者是Ubuntu,不论你是想用yum还是pip又或者是npm包管理器,Nexus都能满足你的需求。
你只需要将nexus放到能连外网的服务器上,通过nexus暴露服务就可以了。
二、实验环境
操作系统:CentOS7.5 Minimal
nexusServer: 192.168.1.107
yumClient:192.168.1.103
三、安装nexus,创建yum私有仓库
在nexusServer服务器
关闭selinux
# setenforce 0
# sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
安装docker
# yum -y install yum-utils device-mapper-persistent-data lvm2
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum list docker-ce --showduplicates | sort -r
# yum -y install docker-ce-18.06.0.ce
# systemctl start docker
# systemctl status docker
# systemctl enable docker
# docker version
拉取镜像,运行nexus服务
在nexusServer 服务器
# docker pull sonatype/nexus3:3.16.0
# docker images
# mkdir /opt/nexus-data
# chown -R 200 /opt/nexus-data
注:容器中nexus的默认运行用户是nexus,uid和gid为200
用命令行形式运行nexus容器
# docker run -d \
--name nexus \
--ulimit nofile=65536:65536 \
-p 192.168.1.106:8081:8081 \
-v /opt/nexus-data:/nexus-data \
sonatype/nexus3:3.16.0
# docker logs -f nexus
# docker ps -a
# ss -tan
浏览器访问: http:192.168.1.107:8081
默认登录用户名密码:admin/admin123
创建yum私有仓库
yum私服有三种类:
创建blob存储,为其创建一个单独的存储空间,命名为yum
创建hosted类型的yum库
Name::定义一个名称yumDev
Storage:Blob store,我们下拉选择前面创建好的专用blob:yum。
Hosted:开发环境,我们运行重复发布,因此Delpoyment policy 我们选择Allow redeploy
创建一个proxy类型的yum仓库
Name: yumProxy
Proxy:Remote Storage: 远程仓库地址,写: http://mirrors.163.com/centos
Storage: yum
其他设置,使用均是默认。
这里就先创建一个代理163的仓库,其实还可以多创建几个,诸如阿里云,搜狐等等,这个根据个人需求来定义。
创建一个group类型的yum仓库
Name:yumGroup
Storage:选择专用的blob存储yum
group : 将左边可选的2个仓库,添加到右边的members
可以创建多个prxoy类型的yum仓库,通过同一个group暴露给客户端使用
构建yum缓存
新建一台环境干净的主机,此时需要保证这台主机能够上网,因为私服当中还没有进行初始化。
先简单配置一下,将yum源指向到私服中来。
# cd /etc/yum.repos.d
# mkdir repoBackup
# mv *.repo repoBackup
# vim nexus.repo
####################################################################
[nexus]
name=Nexus Yum Repository
baseurl=http://192.168.1.107:8081/repository/yumGroup/$releasever/os/$basearch/
enabled=1
gpgcheck=0
#######################################################################
# yum clean all
# yum makecache
现在,我们可以从页面上看缓存包了
服务端启动方式改进,将nexus注册成系统服务
编写unit文件
# vim /etc/systemd/system/nexus.service
####################################################
[Unit]
Description=Nexus
Documentation=https://www.sonatype.com
After=network-online.target firewalld.service docker.service
Requires=docker.service
[Service]
ExecStartPre=-/usr/bin/docker rm -f nexus
ExecStart=/usr/bin/docker run \
--name nexus \
--ulimit nofile=65536:65536 \
-p 192.168.1.107:8081:8081 \
-v /opt/nexus-data:/nexus-data \
sonatype/nexus3:3.16.0
ExecStop=/usr/bin/docker stop nexus
LimitNOFILE=65535
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
#####################################################
停止和删除命令行启动的nexus服务
# docker stop nexus
# docker rm nexus
用systemd启动服务
# systemctl daemon-reload
# systemctl start nexus
# systemctl enable nexus
# systemctl status nexus
# docker logs -f nexus
四、测试nexus的yum私服
在yumClient服务器
用一台不能上网但是可以与刚刚私服通信的主机,将其yum源指向的配置好的私服,或者是将其他的源都切断,然后yum源仅仅指向私服,看看安装是否顺利。
# cd /etc/yum.repos.d
# mkdir repoBackup
# mv *.repo repoBackup
# vim nexus.repo
####################################################################
[nexus]
name=Nexus Yum Repository
baseurl=http://192.168.1.107:8081/repository/yumGroup//$releasever/os/$basearch/
enabled=1
gpgcheck=0
#######################################################################
# yum clean all
# yumrepolist
# yum -y install httpd
五、参考
nexus3搭建yum源
https://blog.51cto.com/daibaiyang119/2116205
http://limingming.org/index.php/2018/12/nexus3-yum-repo
企业级开源仓库nexus3实战应用
http://www.eryajf.net/category/%E6%9C%AF%E4%B8%9A%E4%B8%93%E6%94%BB/%E6%9C%8D%E5%8A%A1%E7%B1%BB%E7%9B%B8%E5%85%B3/nexus
Nexus OSS配置yum代理
https://qgdlsj.com/nexus-oss-yum-proxy
Nexus Repository Manager 3.5: Yum Proxy Support Now Available
https://blog.sonatype.com/nexus-repository-manager-3.5
Nexus System Requirements
https://help.sonatype.com/repomanager3/system-requirements
国内yum源列表记录
http://limingming.org/index.php/2018/12/yum-repo-china
用nexus3.x 官方镜像搭建docker私有镜像仓库
https://www.jianshu.com/p/86e573f18df3
【nexusyum】CentOS7.x上用nexus搭建yum仓库相关推荐
- Linux搭建YUM仓库
目录 一.yum仓库简介 1.1简介 1.2yum的实现过程原理 二.yum配置文件以及操作 2.1 配置YUM本地仓库 2.2安装httpd服务 三.采用内网搭建yum仓库 3.1http方式内网环 ...
- 使用nexus搭建离线仓库
使用nexus搭建离线仓库 本地搭建nexus中心仓库 配置nexus 外网配置maven 打包nexus 外网中打包nexus容器和maven工具就可以直接拷贝到内网中 导入容器 注意事项 背景:在 ...
- Linux搭建YUM仓库安装软件(Centos 7.5)
简介:在搭建yum仓库前,应先对Linux系统有一个简单的认识,要理解挂载的概念,对Linux系统的文件对应的目录有一定的认识. 在工作中,我们通过rpm安装软件,经常会出现不能一步到位,还需要好多的 ...
- CentOS7下搭建yum仓库
服务端配置: 1.开启yum缓存 sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf[root@control /]# cat /etc/yum.co ...
- [nexus]基于nexus搭建npm仓库及上传插件到仓库
目录 环境信息 搭建npm仓库 创建存储位置 创建proxy仓库 创建hosted仓库 创建group仓库 配置域 下载及上传 登录 下载 上传 环境信息 nexus: 3.29.2-02 node: ...
- linux 自建yum源_Linux 搭建YUM仓库源详解
基于ISO镜像构建 YUM 本地源 1.yum install httpd:安装httpd软件包.yum remove httpd:卸载httpd软件包.yum erase httpd:删除httpd ...
- 使用Nexus搭建Maven仓库私服的权限配置心得
最近在学习Maven,学习到使用Nexus搭建私服,通过Nexus的权限机制可以实现较细粒度的权限控制,这对组织内部的团队开发很有帮助.通过实验,我总结了以下一些经验,可以实现一些权限控制的需求,在此 ...
- (飞速下载)阿里云上用nexus搭建的maven私服仓库
配置很简单,修改conf文件夹下的settings.xml文件,添加如下镜像配置: <mirrors><mirror><id>alimaven</id> ...
- 搭建yum仓库定制rpm包
YUM源优先级 1年前 (2015-12-18) 听风吟 Linux攻略 0评论 来源:本站原创 155℃ 字体:小中大 生产案例:OpenStack Icehouse novncproxy无法启动解 ...
最新文章
- 服务器2008操作系统漏洞,【操作系统安全漏洞 】解决CVE-2017-11780:Microsoft Windows SMB Server远程代码执行漏洞...
- K8S常见错误、原因及处理方法
- gdb命令中attach使用
- ElementUI,和IView在Vue中的安装引入和配置
- java对redis的基本操作(一)
- 图相处理自学(二):图像处理基本算法Black level / sensor offset/ Shading/ Color Matrix/ AWB(QP值)
- CPU瓶颈(五)--过度编译与不必要重复编译的解决方案
- Linux共享文件夹打不开,Linux 共享文件夹失败
- APP抓包教程 windows + mimtproxy +夜神模拟器 + XposedInstaller + JustTrustMe
- word文档转换为md文档
- Echarts炫酷配置
- android高仿ios11系统,安卓仿苹果iOS11主题APP
- 马桶下的压水花技术!!(爆笑)
- Matlab学习手记——非线性拟合方法:压缩因子粒子群算法
- 字节跳动bytedance西瓜视频播放器研究
- JSP实验室预约管理系统
- PyTorch-09 循环神经网络RNNLSTM (时间序列表示、RNN循环神经网络、RNN Layer使用、时间序列预测案例、RNN训练难题、解决梯度离散LSTM、LSTM使用、情感分类问题实战)
- Linux虚机 下给用户调整安装JDK版本
- app应用下的公司名称错误
- 【java文本处理】删除txt文档中的空白行
热门文章
- 基于软路由连接上网的相关配置
- 1688-seller_info - 获得店铺详情
- OpenCV开发笔记(六十二):红胖子8分钟带你深入了解亚像素角点检测(图文并茂+浅显易懂+程序源码)
- mysql刷新当前数据库_sqlyog刷新数据库
- 本周大新闻|苹果首款MR没有主打卖点;Meta认为AI是AR OS的基础
- 【项目】费曼技巧,终极学习法
- 2020年最鼓舞人心的句子
- 怎么样matlab做玫瑰花,Matlab画的玫瑰花
- Windows10打开“运行”窗口
- 4.5.2 地址变换机构 4.5.3 访问内存的有效时间