• 6.使用nexus3配置yum私有仓库


    yum相较于rpm,能够更好地解决安装软件时的依赖包问题,使用yum安装更简单更方便。搭建本地YUM源服务器,可以避免升级安装软件时占用公网带宽;有了本地YUM源服务器,可以解决无法连接Internet的其他YUM客户端的软件升级和安装。
    与其他私服一样的,yum私服同样有三种类型:

    • hosted : 本地存储,即同 yum 官方仓库一样提供本地私服功能
    • proxy : 提供代理其他仓库的类型,如我们常用的163仓库
    • group : 组类型,实质作用是组合多个仓库为一个地址,相当于一个透明代理。

    那么就来一个一个创建。

    1,创建blob存储

    为其创建一个单独的存储空间,命名为yum-hub

    2,创建hosted类型的yum库

    后来才发现,其实每次创建的这个hosted类型的,并没有什么用。不过照例创建一波吧。

    • Name::定义一个名称local-yum
    • Storage:Blob store,我们下拉选择前面创建好的专用blob:yum-hub。
    • Hosted:开发环境,我们运行重复发布,因此Delpoyment policy 我们选择Allow redeploy。这个很重要!

    整体配置截图如下:

    3,创建一个proxy类型的yum仓库

    其他的均是默认。

    这里就先创建一个代理163的仓库,其实还可以多创建几个,诸如阿里云的,搜狐的,等等,这个根据个人需求来定义。

    整体配置截图如下:

    4,创建一个group类型的yum仓库

    • Name:group-yum
    • Storage:选择专用的blob存储yum-hub。
    • group : 将左边可选的2个仓库,添加到右边的members下。

    整体配置截图如下:

    这些配置完成之后,就可以使用了。

    5,构建缓存

    新建一台环境干净的主机,此时需要保证这台主机能够上网,因为私服当中还没有进行初始化。

    先简单配置一下,将yum源指向到私服中来。

    cd /etc/yum.repos.d/
    mkdir bak
    mv * bak/
    

    2,创建一个新的源

    vim nexus.repo
    

    添加如下内容:

    其中的url就是私服当中创建的group的对外地址,后面的$releasever/os/$basearch/不要漏掉了。

    [nexus]
    name=Nexus Repository
    baseurl=http://192.168.75.11:8081/repository/group-yum/$releasever/os/$basearch/
    enabled=1
    gpgcheck=0
    

    注意这还不是完整内容,我第一次构建的时候只写了这些内容,以求私服自己能够通过刚刚配置的proxy将远程的包拉下来,最后发现这种方式,死活都是无法成功的。

    因此,这里还应该将163的源配置添加进来。

    注意:CentOS8系统的不一样

    完整内容应该如下:

    [nexus]
    name=Nexus Repository
    baseurl=http://192.168.106.65:8081/repository/group-yum/$releasever/os/$basearch/
    enabled=1
    gpgcheck=0
     
    #released updates
    [updates]
    name=CentOS-$releasever-Updates-163.com
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
    baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
     
    #additional packages that may be useful
    [extras]
    name=CentOS-$releasever-Extras-163.com
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
    baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
     
    #additional packages that extend functionality of existing packages
    [centosplus]
    name=CentOS-$releasever-Plus-163.com
    baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
    

    注意:不知是否还可以添加其他的源内容,比如epel-release的源内容?

    3,构建缓存

    现在,就可以通过make cache将远程的包拉到内部私服当中了。

    操作之前,就像古代变戏法一般的,依旧先去私服看一眼group-yum当中是否有包存在,这是一个固定流程哈。

    可以看到空空如也,那么通过如下三步操作创建缓存。

    # yum clean all
    # yum makecache
    # yum -y install httpd
    

    当上边的第三步执行完成之后,此时我们可以回到刚刚那个空白的页面,看看内容是否上来了。

    6,验证一下效果

    验证的方式其实也很简单,找一台不能上网但是可以与刚刚私服通信的主机,将其yum源指向的配置好的私服,看看安装软件什么的是否可以so easy。

    或者是将其他的源都切断,然后yum源仅仅指向私服,看看安装是否顺利。

    这里采用第二种方式简单试验一下。

    1,将原有的移走

    # cd /etc/yum.repos.d/
    # mkdir bak
    # mv * bak
    

    2,创建一个新的源

    cat /etc/yum.repos.d/nexus.repo
    [nexus]
    name=Nexus Repository
    baseurl=http://192.168.75.11:8081/repository/group-yum/$releasever/os/$basearch/
    enabled=1
    gpgcheck=0
    

    然后安装软件

  • 相关阅读:
    【算法】Manacher算法
    python 02 python入门知识
    python 01:计算机基础知识
    表示数值的字符串
    C++ 迭代器(STL迭代器)iterator详解
    构建乘积数组
    C++ 容器(STL容器)
    数组中重复的数字
    把字符串转换成整数
    十大经典排序算法
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/13100982.html
Copyright © 2020-2023  润新知