手把手教你linux下建立一個YUM倉庫(3)

文本編輯器 Linux CentOS 軟件 安靜的十年 安靜的十年 2017-10-05

手把手教你linux下建立一個YUM倉庫

這是我的新手期第三天。首先道個歉,昨天本來最後說今天要說下DNS的,結果寫之前,我考慮了一下,最後還是決定還是先講下YUM吧,畢竟安裝軟件的時候如果有的小夥伴還是用rpm安裝,有的軟件包會很費事的,就先照顧一下那些開始對linux感興趣的同學吧,別的同學海涵一下啊。

好了,閒話就不說了。

手把手教你linux下建立一個YUM倉庫(3)

開始今天的話題,照例,還是先說下我理解的原理。yum,在linux裡,我感覺還是安裝/卸載rpm軟件包的,因為你如果單獨安裝一個rpm包,可能需要安裝N個它依賴,並需要提前安裝的軟件包,很麻煩。而今天講的YUM倉庫,就是先把一般常用的rpm包下載到本地,什麼時候更新了,直接送服務器給下面所有客戶機全部更新軟件的。YUM的前身是YUP(Yellow dog Updater)Yellow dog Linux的軟件更新,最初是TSS公司使用Python語音開發而成的。後來是杜克大學的Linux開發隊伍進行改進,命名為YUM。藉助YUM軟件倉庫,可以完成安裝、卸載、自動升級epm軟件包等任務,可以自動解決rpm包之間的依賴關係。

手把手教你linux下建立一個YUM倉庫(3)

好了,我也知道原理啊,什麼的,很沒意思,我還是直接把做的步驟寫出來吧,咱們一起做,你就知道怎麼做了。

========================================================

1)先安裝一個vsftp,就是之前我們做的ftp服務器,需要安裝的vsftp軟件包,安裝好了,開啟你的FTP服務。在/var/ftp/下創建一個目錄。(上次忘了說了,/var/ftp這個路徑,其實是ftp這個服務默認的共享目錄)

mkdir /var/ftp/centos6

再把之前安裝我之前安裝系統的CentOS6.5的ISO文件放入光盤,掛載上。把光盤內的內容拷貝到我新建立的centos6目錄下。

mount /dev/sr0 /media/cdrom掛載光盤到/media/cdrom下

cp -rf /media/cdrom/* /var/ftp/contos6複製光盤內所有內容到centos6下

2)以後需要安裝的軟件,可能有的光盤裡有,但是有的軟件包,光盤裡可能沒有,其實找rpm包,可以去上網(http://www.rpmfind.org/)找。但是沒一個都叫你去找,也很麻煩。。。說一就建立一個擴展的軟件倉庫。

mkdir /var/ftp/extras建立一個擴展的目錄,以後存放擴展的rpm軟件包

可以先隨便找兩個rpm包,什麼的包都可以。去extras目錄下,創建依賴關係的文件,以解決以後所需的依賴關係。需要安裝createrepo軟件包。

cd /var/ftp/extras先去將要創建依賴關係的目錄下。

createrepo -v ./在當前目錄下,創建依賴關係文件。

此時,在/var/ftp/extras下,會生成一個repodata的目錄,裡面就有依賴關係文件了。前提的你生成依賴關係文件之前,你的extras目錄下,你得最少放倆rpm包啊。

3)現在本地的rpm包有了,可以在客戶機先做一個內網的YUM源了。

cd /etc/yum.repos.d/先去/etc/yum.repos.d/下

mkdir bak隨意在當前目錄下,新建一個目錄

mv C* bak/把當前目錄下,所有的C*(就是YUM的源文件)放入上面建立的目錄下

vim test.repo用vim新建一個test.repo的YUM源文件,內容格式為下面:

[centos6]YUM的rpm軟件包庫的名字

name=centos 6.5重複註釋你這個是什麼庫

baseurl=ftp://你的服務器IP/centos6這個就是客戶機需要去哪裡找rpm包

gpgcheck=0這個是驗證,0是不驗證,1是驗證

enable=1這個是可以登陸,0是不可以登陸,1是可以登陸

同理,下面再寫一個擴展的庫

[extras]

name=extras

baseurl=ftp://你的服務器IP/extras

gpgcheck=0

enable=1

...你可能不只寫兩個庫,這裡是看你寫幾個庫,寫完後,按ESC,切換到vim的命令模式下,輸入:x保存並退出

4)現在就可以用客戶機測試一下了。

yum -y clean all清理本地緩存

yum makecache重建本地緩存,完成後,就可以用yum -y install xxx(表示你需要安裝的軟件名稱)

5)其實講到這裡,客戶機的已經配置好了,需要注意的是,服務器現在只有光盤內的內容,你可以安裝的軟件其實是有限的。我們還需要一些我們沒有的,但是以後可能需要用到的rpm軟件包,那我們就得先配置一個忘了YUM源了。先在服務器上安裝一個wget的軟件包。

yum -y install wget

vim /etc/yum.conf修改/etc/yum.conf文件,使keepcache=1,0是不保存

修改cachedir的路徑,使cachedir=/var/ftp/extras,把以後需要下載的rpm軟件包都下載進入/var/ftp/extras裡。

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

上面的是163的網絡YUM源。

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

上面的是阿里的網絡YUM源,你可以隨便用哪個都可以,但是需要注意的是,你得看你的CentOS是哪個版本的。。。

做到這裡,其實你現在所做的網絡YUM源倉庫已經做好了,以後需要補充的,也只是一些rpm包了。下面我在給大家介紹一下擴充本地yum倉庫辦法。

cd /var/ftp/extras進入extras目錄下

yum repolist查看yum庫,比如我的就有: base extras updates HDP-2.2 HDP-UTILS-1.1.0.20

reposync -r HDP-2.2這個HDP-2.2是我在做Ambari+hadoop實驗的yum源,因為該源可能被多臺hadoop datanode端用到所有,搭建本地yum源,會節約大量的出口寬帶,提高工作效率。這條命令就是自動更新yum源到本地文件夾.

手把手教你linux下建立一個YUM倉庫(3)

這樣直接一次下載一個庫的包,更省事。好的,這次的服務也寫完了,明天給大家介紹一下SSH。後天再介紹DNS的緩存服務器和主從服務器。

相關推薦

推薦中...