YUM 源配置與使用方法

Cen  YUM 源配置與使用方法

一、 YUM簡介

 yum,是Yellow dog Updater, Modified 的簡稱,是杜克大學爲了提高RPM 軟件包安裝性而開發的一種軟件包管理器。起初是由yellow dog 這一發行版的開發者Terra Soft 研發,用python 寫成,那時還叫做yup(yellow dog updater),後經杜克大學的Linux@Duke 開發團隊進行改進,遂有此名。yum 的宗旨是自動化地升級,安裝/移除rpm 包,收集rpm 包的相關信息,檢查依賴性並自動提示用戶解決。yum 的關鍵之處是要有可靠的repository,顧名思義,這是軟件的倉庫,它可以是http 或ftp 站點,也可以是本地軟件池,但必須包含rpm 的header,header 包括了rpm 包的各種信息,包括描述,功能,提供的文件,依賴性等。正是收集了這些header 並加以分析,才能自動化地完成餘下的任務。


  yum 的理念是使用一個中心倉庫(repository)管理一部分甚至一個distribution 的應用程序相互關係,根據計算出來的軟件依賴關係進行相關的升級、安裝、刪除等等操作,減少了Linux 用戶一直頭痛的dependencies 的問題。這一點上,yum 和apt 相同。apt 原爲debian 的deb 類型軟件管理所使用,但是現在也能用到RedHat 門下的rpm 了。


   yum 主要功能是更方便的添加/刪除/更新RPM 包,自動解決包的倚賴性問題,便於管理大量系統的更新問題。


  yum可以同時配置多個資源庫(Repository),簡潔的配置文件(/etc/yum.conf),自動解決增加或刪除rpm 包時遇到的依賴性問題,保持與RPM 數據庫的一致性。

二、 YUM安裝 (系統默認已安裝)

     rpm -qa|grep yum 查看yum 是否已經安裝  

1、yum-metadata-parser-1.1.4-10.el7.x86_64

2、yum-3.4.3-118.el7.centos.noarch

3、yum-plugin-fastestmirror-1.1.31-24.el7.noarch

4、yum-plugin-fastestmirror-1.1.31-24.el7.noarch

5、yum-plugin-fastestmirror-1.1.31-24.el7.noarch

wKioL1m35SjQHYOpAABDbnEVLVg060.jpg-wh_50

     rpm -e  加所查詢的出的軟件包全稱即可; 卸載默認yum源;

      1、rpm -e yum-metadata-parser-1.1.4-10.el7.x86_64 

      2、rpm -e yum-3.4.3-118.el7.centos.noarch

      3、rpm -e yum-plugin-fastestmirror-1.1.31-24.el7.noarch

      4、rpm -e yum-plugin-fastestmirror-1.1.31-24.el7.noarch

      5、rpm -e yum-plugin-fastestmirror-1.1.31-24.el7.noarch

三、重新安裝yum 

這裏可以通過wget 從網上下載相關包安裝,也可以掛載系統安裝光盤進行安裝,這裏選擇掛載系統安裝光盤進行安裝。

# ls -l /dev | grep cdrom     查看已加載的光盤名稱;

# mkdir /mnt/cdrom

# mount /dev/cdrom /mnt/cdrom/

# rpm -ivh yum-3.2.22-33.el5.centos.noarch.rpm yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm

wKiom1m35mfytrK2AAC46WJ-JKw245.jpg-wh_50

上圖爲搜索需要安裝的安裝包名字。

wKiom1m35jfTm5QkAACSqqKPRV0672.jpg

# yum -v   詳盡的操作過程

yum 的基礎安裝包包括:

yum  //RPM installer/updater

yum-fastestmirror  //Yum plugin which chooses fastest repository from a mirrorlist

yum-metadata-parser  //A fast metadata parser for yum

四、配置YUM文件

yum 的配置文件分爲兩部分:main 和repository

main 部分定義了全局配置選項,整個yum 配置文件應該只有一個main。常位於/etc/yum.conf 中。

wKioL1m35dPSAifeAAGzdC2V7Ns442.jpg

repository 部分定義了每個源/服務器的具體配置,可以有一到多個。常位於/etc/yum.repo.d 目錄下的各文件中。

yum.conf 文件一般位於/etc目錄下,一般其中只包含main部分的配置選項。

vim /etc/yum.conf

配置本地YUM源

CentOS-Base.repo 是yum 網絡源的配置文件


CentOS-Media.repo 是yum 本地源的配置文件


修改CentOS-Media.repo


cat CentOS-Media.repo

# CentOS-Media.repo

#

# This repo is used to mount the default locations for a CDROM / DVD on

#  CentOS-5.  You can use this repo and yum to install items directly off the

#  DVD ISO that we release.

#

# To use this repo, put in your DVD and use it with the other repos too:

#  yum --enablerepo=c5-media [command]

#  

# or for ONLY the media repo, do this:

#

#  yum --disablerepo=\* --enablerepo=c5-media [command]

 

[local-media]

name=CentOS-$releasever - Media

baseurl=file:///media/CentOS/

        file:///mnt/cdrom/

        file:///media/cdrecorder/

gpgcheck=0

enabled=1

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

#\\在baseurl 中修改第2個路徑爲/mnt/cdrom(即爲光盤掛載點)

將enabled=0改爲1

#\\禁用默認的yum 網絡源

  mv CentOS-Base.repo CentOS-Base.repo.back

將yum 網絡源配置文件改名爲CentOS-Base.repo.bak,否則會先在網絡源中尋找適合的包,改名之後直接從本地源讀取。

五、關於repo 文件的格式


所有repository 服務器設置都應該遵循如下格式:


[serverid]

name=Some name for this server

baseurl=url://path/to/repository/

serverid 是用於區別各個不同的repository,必須有一個獨一無二的名稱;

name 是對repository 的描述,支持像$releasever $basearch這樣的變量;

baseurl 是服務器設置中最重要的部分,只有設置正確,才能從上面獲取軟件。它的格式是:

baseurl=url://server1/path/to/repository/

     url://server2/path/to/repository/

     url://server3/path/to/repository/

其中url 支持的協議有 http:// ftp:// file:// 三種。baseurl 後可以跟多個url,你可以自己改爲速度比較快的鏡像站,但baseurl 只能有一個,也就是說不能像如下格式:


baseurl=url://server1/path/to/repository/

baseurl=url://server2/path/to/repository/

baseurl=url://server3/path/to/repository/

其中url 指向的目錄必須是這個repository header 目錄的上一級,它也支持$releasever $basearch 這樣的變量。

url 之後可以加上多個選項,如gpgcheck、exclude、failovermethod 等,比如:

六、配置網絡源

   163網易yum源配置信息   

    修改/etc/yum.repos.d/CentOS-Base.repo爲:

    # CentOS-Base.repo

注意:在找到網絡源例如  163網易開源鏡像站:http://mirrors.163.com/。搜狐開源鏡像站:http://mirrors.sohu.com/中國科學技術大學:http://mirrors.ustc.edu.cn/ (IPv4+IPv6)

http://mirrors4.ustc.edu.cn/

http://mirrors6.ustc.edu.cn/

東北大學:

http://mirror.neu.edu.cn/ (IPv4 only)

http://mirror.neu6.edu.cn/ (IPv6 only)

這些網址需要查看是否存在,驗證網址是否存在,驗收地址裏是否有你需要的鏡像源。

wKiom1m35wTAm6pTAAA7PFH2u40348.jpgwKiom1m350DgB8zGAAHihmp5VEQ377.jpgwKiom1m354DT4wkrAAB_ZxZn2Pw903.jpg

例如配置信息

[base]

name=CentOS-$releasever - Base

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

baseurl=http://mirrors.163.com/centos/7/os/$basearch/             #//163鏡像地址目錄-使用時需驗證網址是否存在;

gpgcheck=0

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7         #//驗證的祕鑰網絡地址祕鑰。需驗證網址中是否存在你所需要的祕鑰;

priority=1

#released updates 

[updates]

name=CentOS-$releasever - Updates

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

baseurl=http://mirrors.163.com/centos/7/updates/$basearch/

gpgcheck=0

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7


#additional packages that may be useful

[extras]

name=CentOS-$releasever - Extras

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

baseurl=http://mirrors.163.com/centos/7/extras/$basearch/

gpgcheck=0

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7


#additional packages that extend functionality of existing packages

[centosplus]

name=CentOS-$releasever - Plus

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

baseurl=http://mirrors.163.com/centos/7/centosplus/$basearch/

gpgcheck=0

enabled=1

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

配置完成!!!

    使用命令測試清楚yum clean  all 緩存;

     在進行安裝第三方軟件安裝包例如   yum  -y  install  ltfp    

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章