2021-05-12 14:32:11
如何手工搭建本地Yum倉庫
了解:
Yum:Yellowdog Updater,Modified的簡稱,起初由yellow dog發行版的開發者Terra Soft研發,用Python編寫,後經杜克大學的Linux@Duke開發團隊進行改進,遂有此名。Yum是一個shell前端軟體包管理器,基於RPM包管理,能夠從指定的伺服器自動下載RPM包並安裝,可以自動處理依賴關係,並且一次安裝所有依賴的軟體包。
實施:
1.掛載:掛載光碟到mnt目錄下
[root@henry ~]# mount /dev/cdrom /mnt mount: 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]# ls CentOS-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*
更多YUM相關教學見以下內容:
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
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-09/135480.htm
相關文章