搭建局域網YUM源


1、yum是什么

yum(全稱為Yellowdog Updater Modified)是一個在CentOS、RedHat和Fedora操作系統中使用的Shell前端軟件包管理器。

yum主要管理基於rpm的軟件包,它可以自動升級、安裝、刪除rpm軟件包,同時它還能夠自動查找並解決rpm包之間的依賴關系,並且無需管理員逐個、手工的去安裝每一個rpm包,使管理員在維護Linux主機時更加輕松自如。

yum可以從一個或多個repo文件中配置的repo倉庫,通過http或ftp協議從repo倉庫獲得必要的信息,然后下載相關的軟件包。這樣,本地用戶通過建立不同的repo倉庫,在有Internet連接時就能方便進行系統的升級和維護工作。

repo倉庫可以通過createrepo或yum-arch命令進行創建,也能夠用別人已經創建好的repo倉庫作為yum源,在此我們主要探討通過createrepo命令創建的repo倉庫。

2、repo文件是什么

一個標准的centos的repo文件內容如下:

[base]

name=CentOS-$releasever – Base

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

各個選項說明如下:

[base]

  該選項是定義軟件源的名稱,該名稱是可以自定義,同時在該服務器上所有repo文件中是唯一的。注意:方括號里面不能有空格。

name=CentOS-$releasever – Base

  該選項是定義軟件倉庫的名稱,$releasever變量定義了發行版本,通常是5,6,7等數字。

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

  這是指定鏡像服務器的地址列表,通常是開啟的。

  baseurl通常有以下四種格式,如下:

baseurl= http://mirrors.aliyun.com/centos/6.6/os/x86_64/

  使用http協議鏡像服務器地址

baseurl= ftp://ftp.sjtu.edu.cn/centos/6.6/os/x86_64/

  使用ftp協議鏡像服務器地址

baseurl= rsync://mirror.zol.co.zw/centos/

  使用rsync鏡像服務器地址

baseurl= file:///ilanni/yum/

  使用本機的鏡像服務器地址

enabled=1

  該選項表示在這個repo文件中啟用這個軟件源,默認該選項可以不寫。但是如果enabled的值為0,則表示禁用這個軟件源。

  注意:一個repo文件中可以定義多個軟件源。

gpgcheck=1

  該選項表示對通過該軟件源下載的rpm包進行gpg校驗,如果gpgcheck的值為0表示不進行gpg校驗。

gpgkey= file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

  該選項定義用於校驗的gpg密鑰文件。

通過以上這個repo文件的說明,相信各位會覺得,其實centos的repo文件真是很簡單。有了一個初步的認識了之后,我們就可以進行下面的實驗了。

我們現在要求在內網搭建一個yum源。該yum源需要配置兩個源:一個是centos的光盤鏡像源,一個是特殊rpm軟件的鏡像源,並且該yum源是通過http進行訪問。

3、yum服務器端配置

3.1 配置web服務器

在yum服務器上,我們現在直接使用yum安裝apache。

 

3.2 安裝createrepo

reaterepo是什么?createrepo是linux下創建倉庫的軟件包。create是創建的意思,repo是repository的縮寫,是倉庫的意思。

只有安裝createrepo這個軟件,才能在yum服務器創建軟件倉庫。

createrepo的安裝很簡單,我們現在通過yum進行安裝,如下:

yum -y install createrepo

createrepo安裝完畢后,我們就可以創建repo倉庫了。

3.3 光盤鏡像

把本地下載的光盤鏡像復制到yum服務器上,如下:

創建光盤掛載的目錄,如下:

復制到光盤下的所有文件到/var/www/html/repl/目錄下,如下:

[root@android-55aba78065642f3d tmp]# cp -r /tmp/iso/ /var/www/html/repl

 

注意:在此我們沒有創建yum數據庫和信息索引文件,是因為光盤已經有yum數據庫和信息索引文件,我們不需要再通過createrepo命令在進行。其實yum的數據庫和信息索引文件,都在repodata文件夾下。

3.4 特殊軟件鏡像

在我們的網站目錄下新建一個repl目錄,並上傳一個cron的.rpm包放到目錄下。。

 

createrepo ./ 這一步非常重要,生成一個repodata文件

 

 

現在我們到服務器上查看一下剛剛上傳的cron

 

通過上圖我們可以很明顯的看到,目前該目錄是可以被正常訪問的。

以上的所有配置都是在yum服務器上進行的,現在我們來切換到yum客戶端上進行操作。

3.5  yum客戶端配置

yum客戶端的操作就簡單了很多,我們只需要修改客戶端的repo文件即可。

進入/etc/yum.repos.d/目錄,備份原有的repo文件,如下:

rename .repo .repo.bak *.repo

然后在該目錄下,創建一個新的repo文件corn.repo,內容如下:

-----------------------------------------------------------------------------------------

[centos7]

name=centos7

baseurl=http://服務器ip地址/yum/

enabled=1

gpgcheck=0

[ilanni]

name=ilanni

baseurl=http://192.168.139.135/repl/        #服務器網站目錄

enabled=1

gpgcheck=0

-----------------------------------------------------------------------------------------

注意:該文件名可以變,但是后綴一定是.repo。

repo文件修改完畢后,我們來進行相關測試。

直接yum安裝cron就可以。。。

注意:如果客戶端yum安裝軟件包時,提示找不到該軟件。強烈建議,在客戶端上執行yum clean all和yum list命令。

其中yum clean all表示清除yum源緩存,yum list表示列出所有的軟件包。

3.6 保存yum安裝的軟件包

在我們使用yum進行安裝軟件時,安裝完畢后會自動把軟件包刪除。

為了保存yum安裝的軟件包,我們需要修改yum的配置文件yum.conf,把keepcache修改為1即可。如下:

vi /etc/yum.conf

cachedir表示rpm包的緩存位置。

3.7 更新rpm包

在我們搭建完畢內網yum源后,會經常遇到這兩種情況。一是軟件版本的更新,二是新增軟件。

無論遇到以上那種情況,我們都需要先刪除原來的yum服務器的yum數據庫和信息索引文件,然后通過createrepo命令重新創建yum數據庫和信息索引文件。

在此我們以新增軟件為例,該軟件為corn。

如下:

--------------------------------------------------------------------------------------------------------------------------------------

cp /var/cache/yum/x86_64/7/base/yum-cron-3.2.29-81.el6.centos.noarch.rpm  /var/www/html/repl

rm -fr /var/www/html/repl/repodata/

createrepo /var/www/html/repl/

--------------------------------------------------------------------------------------------------------------------------------------

現在我們再來切換到客戶端上進行操作,如下:

--------------------------------------------------------------------------------------------------------------------------------------

yum clean all

yum list |grep corn

yum -y install corn

--------------------------------------------------------------------------------------------------------------------------------------

4.更換yum源

1. 原來的yum源做備份

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

2. 下載新的yum源

•我用的vagrant centos 7 的box,默認沒有裝wget命令,yum源里也沒有wget包,下載下來替換

vim /etc/yum.repos.d/CentOS-Base.repo

阿里yum源

tips : 具體的linux版本及系統版本請自行選擇,當然,還有其他的源,選擇你自己喜歡的就可以了。

 下載下來復制里面的內容

進入 INSERT 模式 : 剛開始學linux,直接在command 模式下粘貼,總是錯,新手注意下這個

或者wget直接下載

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3. 更新列表,安裝軟件

--------------------------------------------------------------------------------------------------------------------------------------

yum clean all

yum makecache

--------------------------------------------------------------------------------------------------------------------------------------

 

轉自:https://blog.csdn.net/a1779078902/article/details/84670539


免責聲明!

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



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