什么是yum,yum是Yellow dog Updater, Modified 的簡(jiǎn)稱,是杜克大學(xué)為了提高RPM 軟件包安裝性而開發(fā)的一種軟件包管理器。起初是由yellow dog 這一發(fā)行版的開發(fā)者Terra Soft 研發(fā),用python 寫成,那時(shí)還叫做yup(yellow dog updater),后經(jīng)杜克大學(xué)的Linux@Duke 開發(fā)團(tuán)隊(duì)進(jìn)行改進(jìn),遂有此名。yum 的宗旨是自動(dòng)化地升級(jí),安裝/移除rpm 包,收集rpm 包的相關(guān)信息,檢查依賴性并自動(dòng)提示用戶解決。yum 的關(guān)鍵之處是要有可靠的repository,顧名思義,這是軟件的倉(cāng)庫(kù),它可以是http 或ftp 站點(diǎn),也可以是本地軟件池,但必須包含rpm 的header,header 包括了rpm 包的各種信息,包括描述,功能,提供的文件,依賴性等。正是收集了這些header 并加以分析,才能自動(dòng)化地完成余下的任務(wù)。
yum 的理念是使用一個(gè)中心倉(cāng)庫(kù)(repository)管理一部分甚至一個(gè)distribution 的應(yīng)用程序相互關(guān)系,根據(jù)計(jì)算出來(lái)的軟件依賴關(guān)系進(jìn)行相關(guān)的升級(jí)、安裝、刪除等等操作,減少了Linux 用戶一直頭痛的dependencies 的問(wèn)題。這一點(diǎn)上,yum 和apt 相同。apt 原為debian 的deb 類型軟件管理所使用,但是現(xiàn)在也能用到RedHat下的rpm了。
yum 主要功能是更方便的添加/刪除/更新RPM 包,自動(dòng)解決包的依賴性問(wèn)題,便于管理大量系統(tǒng)的更新問(wèn)題。
yum 可以同時(shí)配置多個(gè)資源庫(kù)(Repository),簡(jiǎn)潔的配置文件(/etc/yum.conf),自動(dòng)解決增加或刪除rpm 包時(shí)遇到的依賴性問(wèn)題,保持與RPM 數(shù)據(jù)庫(kù)的一致性。
這里給大家介紹的是安裝httpd服務(wù)搭建網(wǎng)絡(luò)倉(cāng)庫(kù):
1、首先安裝httpd服務(wù):

http.png
2、安裝好后我們開啟服務(wù):
[ root@localhost ~ ]#systemctl start httpd.service
[ root@localhost ~ ]#ps aux|grep httpd
root 4668 0.5 0.4 221936 5004 ? Ss 10:47 0:00 /usr/sbin/httpd -DFOREGROUND
apache 4669 0.0 0.2 221936 2956 ? S 10:47 0:00 /usr/sbin/httpd -DFOREGROUND
apache 4670 0.0 0.2 221936 2956 ? S 10:47 0:00 /usr/sbin/httpd -DFOREGROUND
apache 4671 0.0 0.2 221936 2956 ? S 10:47 0:00 /usr/sbin/httpd -DFOREGROUND
apache 4672 0.0 0.2 221936 2956 ? S 10:47 0:00 /usr/sbin/httpd -DFOREGROUND
apache 4673 0.0 0.2 221936 2956 ? S 10:47 0:00 /usr/sbin/httpd -DFOREGROUND
root 4675 0.0 0.0 112648 960 pts/1 R+ 10:47 0:00 grep --color=auto httpd
如下圖:
jt.png

jt.png
3、現(xiàn)在我們暫時(shí)還是無(wú)法訪問(wèn)的,先來(lái)關(guān)閉防火墻:
[ root@localhost ~ ]#systemctl stop firewalld.service
4、關(guān)閉后我們用另外一臺(tái)機(jī)器訪問(wèn)http地址:

fu.png
5、配置服務(wù)端的倉(cāng)庫(kù)
因?yàn)槭枪獗P掛載,要實(shí)現(xiàn)網(wǎng)絡(luò)倉(cāng)庫(kù)得把光盤里面的包和文件拷貝到服務(wù)器端,如:
先掛載光盤到服務(wù)端的機(jī)器上:
[ root@localhost ~ ]#mount /dev/sr0 /mnt
// sr0: 光盤 mount: 掛載命令 /mnt: 掛載目錄
掛載好后,光盤里面的文件和目錄都在/mnt目錄下

gp.png
6、接下來(lái)我們把里面文件拷貝到/var/www/html(httpd服務(wù)頁(yè)面文件存放目錄),因?yàn)槲募貏e多拷貝的時(shí)候需要多等待,因?yàn)槭欠?wù)端,所以必須要拷貝到機(jī)器上面,如果是本地端直接掛載光盤即可:
[ root@localhost /var/www/html ]#cp -a /mnt/* ./
[ root@localhost /var/www/html ]#ls
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
7、 都設(shè)置好后,我們?nèi)チ硗庖慌_(tái)機(jī)器把Yum源設(shè)置成剛剛服務(wù)端源:
首先把/etc/yum.repos.d/目錄下的repo包備份到一個(gè)目錄

bf.png
編輯文件:vim /etc/yum.repos.d/yyc.repo
root@CentOS ~ ]#vim /etc/yum.repos.d/yyc.repo
[yyc]
name=wzc
baoeurl=http://172.18.252.144/$releasever
gpgcheck=0
//第一行:RepositoryID,庫(kù)的ID,這個(gè)可以隨意取,但是不要有空格和一些奇怪的字符,不然很可能會(huì)出錯(cuò)
//第二行:庫(kù)的名字,這個(gè)可以有空格
//第三行:yum源地址,也就是我們剛剛配置的服務(wù)端的源,$releasever是你系統(tǒng)的主版本號(hào)

pz.png
這樣目前來(lái)說(shuō)就配置好了,我們來(lái)測(cè)試是否成功
[ root@CentOS ~ ]#yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
http://172.18.252.44/6/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.
To address this issue please refer to the below knowledge base article
https://access.redhat.com/articles/1320623
If above article doesn't help to resolve this issue please open a ticket with Red Hat Support.
repo id repo name status
yyc wzc 6,706
repolist: 6,706
//yum repolist獲取當(dāng)前有效repolist中所能安裝的所有rpm包列表

cg.png