實驗環境:
CentOS release 6.6 (Final) 一台
IP地址:172.16.249.230
附帶:CentOS release 6.6光盤鏡像文件
CentOS-6.6-x86_64-bin-DVD1.iso
CentOS-6.6-x86_64-bin-DVD2.iso
YUM(Yellow dog Updater, Modified) 由Duke University團隊,修改Yellow Dog Linux的Yellow Dog Updater開發而成,是一個基於 RPM 包管理的字符前端軟件包管理器。能夠從指定的服務器自動下載 RPM 包並且安裝,可以處理依賴性關系,並且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。被Yellow Dog Linux本身,以及Fedora、Red Hat Enterprise Linux、CentOS、SUSE采用。
RedHat 6.2 Linux修改yum源免費使用CentOS源 http://www.linuxidc.com/Linux/2013-07/87383.htm
配置EPEL YUM源 http://www.linuxidc.com/Linux/2012-10/71850.htm
Redhat 本地yum源配置 http://www.linuxidc.com/Linux/2012-11/75127.htm
yum的配置文件說明 http://www.linuxidc.com/Linux/2013-04/83298.htm
RedHat 6.1下安裝yum(圖文) http://www.linuxidc.com/Linux/2013-06/86535.htm
YUM 安裝及清理 http://www.linuxidc.com/Linux/2013-07/87163.htm
CentOS 6.4上搭建yum本地源 http://www.linuxidc.com/Linux/2014-07/104533.htm
一.YUM倉庫和客戶端簡介
YUM repository:yum倉庫
存儲了眾多rpm包,以及包的相關元數據的文件服務器
文件服務器:
HTTP:http://ip/centos/$releasever/os/$basearch/
FTP:ftp://ip/centos/$releasever/os/$basearch/
NFS:網絡文件系統,nfs://ip/centos/$releasever/os/$basearch/
FILE:本地,file:///centos/$releasever/os/$basearch/
YUM Client :客戶端
配置文件:指向倉庫的位置以及各種配置信息,每個yum客戶端可以有多個倉庫。
緩存文件:/var/cache/yum/
二.YUM的配置文件詳解
yum的配置一般有兩種方式,一種是直接配置/etc目錄下的yum.conf文件,另外一種是在/etc/yum.repos.d目錄下增加.repo文件。
(一).關於yum.conf文件詳解
#cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
#yum下載的RPM包的緩存目錄
keepcache=0
#緩存是否保存,1保存,0不保存。
debuglevel=2
#調試級別(0-10),默認為2(具體調試級別的應用,我也不了解)。
logfile=/var/log/yum.log
#yum的日志文件所在的位置
exactarch=1
#在更新的時候,是否允許更新不同版本的RPM包,比如是否在i386上更新i686的RPM包。
obsoletes=1
#這是一個update的參數,具體請參閱yum(8),簡單的說就是相當於upgrade,允許更新陳舊的RPM包。
gpgcheck=1
#是否檢查GPG(GNU Private Guard),一種密鑰方式簽名。
plugins=1
#是否允許使用插件,默認是0不允許,但是我們一般會用yum-fastestmirror這個插件。
installonly_limit=5
#允許保留多少個內核包。
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
(二).關於/etc/yum.repos.d/*.repo文件詳解
什麼是repo文件?
repo文件是CentOS中yum源(軟件倉庫)的配置文件,通常一個repo文件定義了一個或者多個軟件倉庫的細節內容,例如我們將從哪裡下載需要安裝或者升級的軟件包,repo文件中的設置內容將被yum讀取和應用!
我們以一份系統自帶的repo文件做為實例來探討(#號後面是我加的注釋):
[base]
name=CentOS-$releasever - Base
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[base]
#方括號裡面的是軟件源的名稱,將被yum取得並識別
name=CentOS-$releasever - Base
#這裡也定義了軟件 倉庫的名稱,通常是為了方便閱讀配置文件,一般沒什麼作用,
$releasever變量定義了發行版本,通常是5,6,7等數字,
這個變量根據當前系統的版本架構不同而有不同的取值,
這可以方便yum升級的時候選擇 適合當前系統的軟件包,以下同……
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
#上面的一行baseurl第一個字符是'#'表示該行已經被注釋,將不會被讀取,
$basearch變量定義了系統的架構,可以是i386、x86_64、ppc等值
這一行的意思是指定一個baseurl(源的鏡像服務器地址)
enabled=1
#這個選項表示這個repo中定義的源是啟用的,0為禁用
gpgcheck=1 #
這個選項表示這個repo中下載的rpm將進行gpg的校驗,已確定rpm包的來源是有效和安全的
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#定義用於校驗的gpg密鑰
三.構建YUM倉庫
簡要步驟說明
(一).確認文件共享方式
(二).把rpm包放置於能夠被各yum客戶端訪問到位置
(三).創建yum倉庫的元數據
createrepo命令
#yum -y install createrepo
為yum倉庫創建元數據文件
#createrepo 軟件包文件目錄
實驗案例:
在本文中我創建一個本地光盤yum來構建一個本地YUM倉庫。
(一)、掛載本地光盤
#mkdir /mnt/cdrom
#新建掛載目錄
#mount -t iso9660 /dev/cdrom /mnt/cdrom
#掛載光盤到/mnt/cdrom 目錄
#ls /mnt/cdrom
#查看/mnt/cdrom 目錄內容
[root@LinuxHost yum.repos.d]# mkdir /mnt/cdrom
[root@LinuxHost yum.repos.d]# mount -t iso9660 /dev/cdrom /mnt/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@LinuxHost yum.repos.d]# ls /mnt/cdrom
CentOS_BuildTag isolinux RPM-GPG-KEY-CentOS-Debug-6
EFI Packages RPM-GPG-KEY-CentOS-Security-6
EULA RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Testing-6
GPL repodata TRANS.TBL
images RPM-GPG-KEY-CentOS-6
(二)、配置本地YUM源
#cd /etc/yum.repos.d/
#進入/etc/yum.repos.d 目錄
#ls
#查看目錄內容
#mv CentOS-Base.repo CentOS-Base.repo.bak
#mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
#重命名上面2個文件
#vi CentOS-Media.repo
#對CentOS-Media.repo 進行編輯
(三)、修改CentOS-Media.repo內容
[c6-media]
name=CentOS-$releaserver - Media
#自定義Yum源名稱
baseurl=file:///mnt/cdrom/
#本地光盤掛載路徑
gpgcheck=1
#檢查GPG-KEY
enabled=1
#啟用Yum源
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-6
#GPG-KEY路徑
[root@LinuxHost yum.repos.d]# cat CentOS-Media.repo
[C6-Media]
name=CentOS-$releaserver-Media
baseurl=file:///mnt/cdrom
gpcheck=1
enabled=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-6
檢查列出可用yum倉庫元數據
[root@LinuxHost yum.repos.d]# yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
repo id repo name status
C6-Media CentOS-$releaserver-Media 6,518
repolist: 6,518
至此,本地YUM源配置完成,我們就可以使用yum命令來安裝管理程序包了。
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-11/109897p2.htm