如何手工搭建本地YUM倉庫

来源:http://www.cnblogs.com/henryt/archive/2016/09/24/5903091.html
-Advertisement-
Play Games

瞭解: Yum:Yellowdog Updater,Modified的簡稱,起初由yellow dog發行版的開發者Terra Soft研發,用Python編寫,後經杜克大學的Linux@Duke開發團隊進行改進,遂有此名。Yum是一個shell前端軟體包管理器,基於RPM包管理,能夠從指定的伺服器 ...


瞭解:

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*


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...