如何手工搭建本地YUM倉庫,搭建YUM倉庫
瞭解:
Yum:Yellowdog Updater,Modified的簡稱,起初由yellow dog發行版的開發人員Terra Soft研發,用Python編寫,後經杜克大學的Linux@DukeTeam Dev進行改進,遂有此名。Yum是一個shell前端軟體包管理器,基於RPM包管理,能夠從指定的伺服器自動下載RPM包並安裝,可以自動處理依賴關係,並且一次安裝所有依賴的軟體包。
實施:
1.掛載:掛載光碟片到mnt目錄下
[root@henry ~]# mount /dev/cdrom /mntmount: block device /dev/sr0 is write-protected, mounting read-only[root@henry ~]# ls /mnt
2.建立新檔案夾:本地搭建yum倉庫需要把光碟片Packages包拷貝到本地,在根目錄下建立檔案夾henry_repo
[root@henry ~]# cd /[root@henry /]# mkdir henry_repo
3.拷貝:並將Packages包拷貝到建立檔案夾中,注意實際路徑
[root@henry /]# cd /mnt[root@henry mnt]# cp -rv Packages /henry_repo/
4.安裝必要工具包:包拷貝完成之後需要構建yum使用的資料庫,以xml檔案形式存在,該資料庫會對所有包進行分類建立索引,方便yum程式快速搜尋安裝包和檢查包之間的依賴關係。但建立資料庫要用到一個工具包createrepo-0.9.9-18.el6.noarch.rpm,預設是沒有的,先要對它進行安裝
[root@henry Packages]# rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm
這時候程式提示,此包有一個python-deltarpm的依賴關係包,加上去再次運行
[root@henry Packages]# rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm python-deltarpm-3.5-0.5.20090913git.el6.i686.rpm
此時程式再次提示,python-deltarpm這個包也存在一個deltarpm = 3.5-0.5.20090913git.el6的依賴關係包,最後,加上去三個包一起運行,並安裝成功。
[root@henry Packages]# rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm python-deltarpm-3.5-0.5.20090913git.el6.i686.rpm deltarpm-3.5-0.5.20090913git.el6.i686.rpm
5.建立yum資料庫:安裝完成後,就可使用createrepo進行建立yum資料庫。建立之前注意在原光碟片裡面repodata檔案夾下,這個末尾為comps.xml的分類檔案(系統版本不一樣,實際情況也不太一樣,本機顯示的是3f開頭comps.xml結尾)也要一併拷貝過來並重建。
[root@henry Packages]# createrepo -g /mnt/repodata/3fe289964708818d65e318fae9784208fdb73f21560f21b524582a87c170a677-c6-i386-comps.xml .
運行完成後,在Packages檔案夾裡面就會產生一個repodata的檔案夾,裡面存放著yum工作所需要的索引倉庫,儲存了所有的軟體包索引資訊。當使用yum進行安裝時,會直接讀取這些索引資訊,而不必去逐一掃描軟體包。
6.建立yum設定檔:單獨建立自己的設定檔。進入yum.repos.d檔案夾,建立henry.repo檔案並進行編輯。檔案名稱隨意起,但需要.repo結尾。
[root@henry repodata]# cd /etc/yum.repos.d/[root@henry yum.repos.d]# lsCentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo[root@henry yum.repos.d]# vi henry.repo
以上是檔案編輯內容
第一行:yum倉庫名字,任意。
第二行:詳細名字,任意。
第三行:倉庫路徑。
baseurl為關鍵字
file:// 告訴yum為本地倉庫
/henry_repo/Packages/ 為絕對路徑
第四行:關閉rpm包的gpg校正功能。如果個人環境,建議關閉,參數值為0,如果生產環境,建議開啟,參數值為1
最後儲存退出。
7.更換yum源並重新整理:CentOS6.5預設使用yum.repos.d檔案夾下的CentOS-Base.repo設定檔,該檔案在yum進行安裝包時會進行連網下載操作。現在替換成自己本地的yum源。把原來的檔案名稱改掉即可。
[root@henry yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.backup
最後,清理yum緩衝,並重新載入。
[root@henry yum.repos.d]# yum clean all[root@henry yum.repos.d]# yum list
現在,可以通過yum進行安裝軟體包,程式將自動解決包依賴問題。
[root@henry yum.repos.d]# yum install gcc*