Linux下程式包管理之YUM
實驗環境:
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源
配置EPEL YUM源
Redhat 本地yum源配置
yum的設定檔說明
RedHat 6.1下安裝yum(圖文)
YUM 安裝及清理
CentOS 6.4上搭建yum本地源
一.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命令來安裝管理程式包了。
更多詳情見請繼續閱讀下一頁的精彩內容: