Sonatype Nexus Repository搭建与使用(详细教程3.70.1)

news2024/9/9 0:50:26

目录

一. 环境准备

二. 安装jdk

三. 搭建Nexus存储库

四. 使用介绍


 

一. 环境准备

主机名IP系统软件版本配置信息
nexus192.168.226.26Rocky_linux9.4

Nexus Repository 3.70.1

MySQL8.0

jdk-11.0.23

2核2G,磁盘20G

进行时间同步,关闭防火墙和selinux

Java Archive Downloads - Java SE 11 | Oracle 台灣icon-default.png?t=N7T8https://www.oracle.com/tw/java/technologies/javase/jdk11-archive-downloads.html

下载 (sonatype.com)icon-default.png?t=N7T8https://help.sonatype.com/en/download.html

 

二. 安装jdk

上传至服务器

[root@nexus ~]# ll
total 164856
-rw-------. 1 root root       815 Jun  6 14:00 anaconda-ks.cfg
-rw-r--r--  1 root root 168807248 Jul 29 19:31 jdk-11.0.23_linux-x64_bin.rpm

安装jdk

[root@nexus ~]# yum install -y jdk-11.0.23_linux-x64_bin.rpm

验证安装

[root@nexus ~]# java -version
java version "11.0.23" 2024-04-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.23+7-LTS-222)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.23+7-LTS-222, mixed mode)

 默认的安装目录在/usr/lib/jvm/

[root@nexus jdk-11-oracle-x64]# pwd
/usr/lib/jvm/jdk-11-oracle-x64
[root@nexus jdk-11-oracle-x64]# ll
total 24
-rw-r--r--  1 root root  160 Mar 12 05:22 README.html
drwxr-xr-x  2 root root 4096 Jul 29 19:33 bin
drwxr-xr-x  4 root root  112 Jul 29 19:33 conf
drwxr-xr-x  3 root root  132 Jul 29 19:33 include
drwxr-xr-x  2 root root 4096 Jul 29 19:33 jmods
drwxr-xr-x 72 root root 4096 Jul 29 19:33 legal
drwxr-xr-x  7 root root 4096 Jul 29 19:33 lib
drwxr-xr-x  3 root root   18 Jul 29 19:33 man
-rw-r--r--  1 root root 1314 Mar 12 05:22 release

三. 搭建Nexus存储库

 

[root@nexus ~]# ll
total 414896
-rw-------. 1 root root       815 Jun  6 14:00 anaconda-ks.cfg
-rw-r--r--  1 root root 168807248 Jul 29 19:31 jdk-11.0.23_linux-x64_bin.rpm
-rw-r--r--  1 root root 256037663 Jul 29 19:43 nexus-3.70.1-02-java11-unix.tar.gz

解压缩

[root@nexus ~]# tar -zxvf nexus-3.70.1-02-java11-unix.tar.gz -C /opt

[root@nexus ~]# ll /opt
total 0
drwxr-xr-x 10 root root 181 Jul 29 19:56 nexus-3.70.1-02
drwxr-xr-x  3 root root  20 Jul 29 19:56 sonatype-work

 nexus-3.70.1-02 目录包含了运行 Nexus Repository 所需的所有程序文件和静态资源。

sonatype-work 目录包含了 Nexus Repository 在运行时生成的所有动态数据和用户自定义配置。

创建一个系统用户

[root@nexus ~]# useradd -r nexus

 修改属主和属组

[root@nexus ~]# chown -R nexus:nexus /opt/nexus-3.70.1-02/
[root@nexus ~]# chown -R nexus:nexus /opt/sonatype-work

 切换到nexus用户

[root@nexus ~]# su -l nexus

 进入bin目录

[nexus@nexus root]$ cd /opt/nexus-3.70.1-02/bin/

前台启动,并查看日志,如果要后台启动可以将run替换成start

[nexus@nexus bin]$ ./nexus run

此时,浏览器访问IP+8081端口,例如我这里访问http://192.168.226.26:8081/

点击登录 

初始用户名:admin  初始密码:在登录的提示路径文件里,查看后复制粘贴登录 

[root@nexus ~]# cat /opt/sonatype-work/nexus3/admin.password
6ec6beee-8c9e-4d24-a0b1-3daf8da5d11c

四. 使用介绍

 

将其一个一个删除即可。

创建仓库类型为yum ,Nexus 仓库类型包括 Group、Hosted 和 Proxy。

Group(组仓库):用于组织其他仓库,它本身不存储任何软件包。Group 仓库可以包含其他类型的仓库,例如 Hosted 或 Proxy 仓库,以方便管理和访问。

Hosted(宿主仓库):用于存储自己构建或上传的软件包。Hosted 仓库通常用于内部开发团队共享软件包,或者用于存储私有软件包。

Proxy(代理仓库):用于代理其他公共仓库的软件包。Proxy 仓库可以缓存公共仓库中的软件包,以提高下载速度和节省带宽。Proxy 仓库还可以用于管理和控制对公共仓库的访问。  

创建仓库

 

将复制的链接,替换到下述命令中去终端执行,替换的位置见图,可参考我替换好的代码分析

此原理就是将rocky系统原本的源的baseurl全部替换为我们的Nexus存储库的链接

sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=http://192.168.226.26:8081/repository/rocky/|g' \
    -i.bak \
    /etc/yum.repos.d/rocky*.repo

dnf makecache

 查看刚创建的库

查看刚配置好仓库中的一些包 

下载一个软件包

[root@nexus ~]# yum install -y vsftpd

 刷新网页再次打开查看

这时,通过对比下载命令执行前后,可以发现配置好后下载包会进行缓存数据 

此时,我们回退历史命令,即撤销刚下载vsftpd

[root@nexus ~]# yum history
ID     | Command line                                                                                                | Date and time    | Action(s)      | Altered
------------------------------------------------------------------------------------------------------------------------------------------------------------------
     6 | install -y vsftpd                                                                                           | 2024-07-29 21:15 | Install        |    1   
     5 | install -y jdk-11.0.23_linux-x64_bin.rpm                                                                    | 2024-07-29 19:33 | Install        |    1   
     4 | install -y vim wget unzip tar lrzsz                                                                         | 2024-07-02 17:23 | Install        |    7   
     3 | -y install epel-release                                                                                     | 2024-07-02 17:21 | Install        |    1 EE
     2 | install -y lrzsz                                                                                            | 2024-07-02 17:20 | Install        |    1  <
     1 |                                                                                                             | 2024-06-06 13:57 | Install        |  336 >E

           
[root@nexus ~]# yum history undo 6

这时,在Nexus存储库中已经有了缓存,这时回退命令后,我们再次重新下载,可以发现下载时间是瞬间就好了

[root@nexus ~]# yum install -y vsftpd

Nexus 存储库管理器的作用是集中管理各种软件包和库文件,从而简化开发和运维团队的工作流程。通过配置 Nexus 存储库并将系统的 .repo 文件的 baseurl 替换为 Nexus 存储库的链接,可以实现以下目的:

  • 集中管理依赖项

    • Nexus 作为一个中央存储库,可以存储和管理多个不同来源的包,例如 Maven、npm、NuGet、YUM、Docker 等。这使得开发团队可以集中管理所有的依赖项,从而简化项目的依赖管理。
  • 加速构建和部署

    • 通过使用本地的 Nexus 存储库,可以减少对外部网络的依赖,加速构建和部署过程。团队成员可以从本地 Nexus 存储库中快速获取所需的包和依赖项,而无需等待从外部源下载。
  • 提高安全性和稳定性

    • Nexus 存储库可以对存储的包和依赖项进行版本控制,确保开发团队使用的是经过验证和安全的版本。此外,Nexus 还可以设置访问权限,确保只有授权人员才能上传和下载包,提升安全性。
  • 缓存和镜像功能

    • Nexus 可以作为外部存储库的缓存或镜像。当你配置了阿里云仓库的链接并将 .repo 文件的 baseurl 替换为 Nexus 存储库的链接后,Nexus 会在第一次请求时从阿里云仓库获取包并缓存到本地。以后再请求相同的包时,将直接从本地 Nexus 存储库中获取,从而提高下载速度和稳定性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1958628.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

秋招突击——7/29——操作系统——网络IO

文章目录 引言基础知识零拷贝传统文件读取传统文件传输零拷贝mmap writesendifle 网络通信IO模型阻塞IO非阻塞IO IO多路复用模型selectpollselect和poll的总结epoll边缘触发ET和水平触发LT 信号驱动IO模型异步IO 面试题库1、说一下Linux五种IO模型2、阻塞IO和非阻塞IO应用场景…

可视化目标检测算法推理部署(一)Gradio的UI设计

引言 在先前RT-DETR模型的学习过程中&#xff0c;博主自己使用Flask框架搭建了一个用于模型推理的小案例&#xff1a; FlaskRT-DETR模型推理 在这个过程中&#xff0c;博主需要学习Flask、HTML等相关内容&#xff0c;并且博主做出的页面还很丑&#xff0c;那么&#xff0c;是…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第六十六章 电容屏触摸驱动实验

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

1.5 1.6 操作系统引导 虚拟机

操作系统引导 操作系统引导的概念 操作系统引导是指计算机利用CPU运行特定程序&#xff0c;通过程序识别硬盘&#xff0c;识别硬盘分区&#xff0c;识别硬盘分区上的操作系统&#xff0c;最后通过程序启动操作系统&#xff0c;一环扣一环地完成上述过程 操作系统引导的过程 …

分布式锁 Redis+RedisSon

文章目录 1.什么是分布式锁2.分布式锁应该具备哪些条件3.分布式锁主流的实现方案4.未添加分布式锁存在的问题4.1测试未添加分布式锁的代码通过jmeter发送请求4.2 添加线程同步锁集群部署配置nginx修改jmeter端口号4.3 使用redis的setnx命令实现分布式锁解决办法4.4 使用try、fi…

【2025留学】德国留学真的很难毕业吗?为什么大家不来德国留学?

大家好&#xff01;我是德国Viviane&#xff0c;一句话讲自己的背景&#xff1a;本科211&#xff0c;硕士在德国读的电子信息工程。 之前网上一句热梗&#xff1a;“德国留学三年将是你人生五年中最难忘的七年。”确实&#xff0c;德国大学的宽进严出机制&#xff0c;延毕、休…

【日常设计案例分享】通道对账

今天跟同事们讨论一个通道对账需求的技术设计。鉴于公司业务线有好几个&#xff0c;为避免不久的将来各业务线都重复竖烟囱&#xff0c;因此&#xff0c;我们打算将通道对账做成系统通用服务&#xff0c;以降低各业务线的开发成本。 以下文稿&#xff08;草图&#xff09;&…

正点原子imx6ull-mini-Linux设备树下的LED驱动实验(4)

1&#xff1a;修改设备树文件 在根节点“/”下创建一个名为“alphaled”的子节点&#xff0c;打开 imx6ull-alientek-emmc.dts 文件&#xff0c; 在根节点“/”最后面输入如下所示内容 alphaled {#address-cells <1>;#size-cells <1>;compatible "atkalp…

昇思25天学习打卡营第1天|快速入门实操教程

昇思25天学习打卡营第1天|快速入门实操教程 目录 昇思25天学习打卡营第1天|快速入门实操教程 一、MindSpore内容简介 主要特点&#xff1a; MindSpore的组成部分&#xff1a; 二、入门实操步骤 1. 安装必要的依赖包 2. 下载并处理数据集 3. 构建网络模型 4. 训练模型…

WIN下的文件病毒

文件病毒 一.windows下知识句柄禁用某些警告MAX_PATH_WIN32_FIND_DATAWFindFirstFileW注册到服务代码&#xff08;自启动&#xff09;隐藏窗口 二.客户端代码三.服务端代码 一.windows下知识 句柄 相当于指针&#xff0c;用来表示windows下的一些对象&#xff1b; 禁用某些警…

vue3中使用ant-design-vue

ant-design-vue官网&#xff1a;Ant Design Vue — An enterprise-class UI components based on Ant Design and Vue.jsAn enterprise-class UI components based on Ant Design and Vuehttps://www.antdv.com/components/overview-cn/ 安装 npm i -S ant-design-vue 引入 …

前端实现【 批量任务调度管理器 】demo优化

一、前提介绍 我在前文实现过一个【批量任务调度管理器】的 demo&#xff0c;能实现简单的任务批量并发分组&#xff0c;过滤等操作。但是还有很多优化空间&#xff0c;所以查找一些优化的库&#xff0c; 主要想优化两个方面&#xff0c; 上篇提到的&#xff1a; 针对 3&…

“数说”巴黎奥运会上的“中国智造”成果

引言&#xff1a;随着“中国智造”在欧洲杯上方兴未艾&#xff0c;在巴黎奥运会上&#xff0c;中国智造继续以多种形式和领域展现了其强大的实力和创新能力。以格力公开表示将为巴黎奥运村提供345台格力空调&#xff0c;为中国制造的清凉送至巴黎事件拉开中国制造闪亮巴黎奥运会…

CTF Web SQL注入 10000字详解

这里写目录标题 涉及的数据库知识unionorder bydatabase()information_schemalimit--空格注释replaceinto outfilelikeGROUP BYHAVINGGROUP BY、HAVING、WHERE之间的关系regexp 原理信息收集操作系统数据库判断注入点注入点类型POST注入数字型注入字符型注入搜索型注入Insert/u…

Debian12 安装Docker 用 Docker Compose 部署WordPress

服务器准备&#xff1a; 以root账号登录&#xff0c;如果不是root&#xff0c;后面指令需要加sudo apt update apt install apt-transport-https ca-certificates curl gnupg lsb-release添加GPG密钥&#xff0c;推荐国内源 curl -fsSL https://mirrors.aliyun.com/docker…

ArchLinux部署waydroid

在Arch Linux系统上部署Waydroid运行Android APP 文章目录 在Arch Linux系统上部署Waydroid运行Android APP1. 安装要求2. 本机环境3. 安装 Waydroid4. 网络配置5.注册Google设备6. 运行效果图 Waydroid是Anbox配合Haliun技术开发的LXC Android容器&#xff0c;可在GUN/Linux系…

C语言中的指针基础

文章目录 &#x1f34a;自我介绍&#x1f34a;地址&#x1f34a;C语言中的指针 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以&#xff1a;点赞关注评论收藏&#xff08;一键四连&#xff09;哦~ &#x1f34a;自我介绍 Hello,大家好&#xff0c;我是小珑也要变强&am…

Spring Boot 3 + Resilience4j 简单入门 + Redis Cache 整合

1. 项目结构 2. Maven依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.2</version><relativePath/> <!-- lookup parent from repository --&…

CSRF Token 原理

CSRF 攻击 CSRF 攻击成功的关键是&#xff0c;恶意网站让浏览器自动发起一个请求&#xff0c;这个请求会自动携带 cookie &#xff0c;正常网站拿到 cookie 后会认为这是正常用户&#xff0c;就允许请求。 防范 如果在请求中加一个字段&#xff08;CSRF Token&#xff09;&am…

C++笔记之指针基础

函数重载:(C++特性) 定义: C++允许函数重名,但是参数列表要有区分 在相同的作用域定义同名的函数,但是它们的参数要有所区分,这样的多个函数构成重载关系 objdump -d test.exe >log.txt 将test.exe反汇编并将结果重定向到log.txt 文件中 ,然后在 log.txt中找到定…