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

然后安裝軟件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM