Linux自定義repo文件


repo文件簡介
repo文件是CentOS中yum源(軟件倉庫)的配置文件,通常一個repo文件定義了一個或者多個軟件倉庫的細節內容,例如我們將從哪里下載需要安裝或者升級的軟件包,repo文件中的設置內容將被yum讀取和應用

yum原理
YUM的工作原理並不復雜,每一個 RPM軟件的頭(header)里面都會紀錄該軟件的依賴關系,那么如果可以將該頭的內容紀錄下來並且進行分析,可以知道每個軟件在安裝之前需要額外安裝 哪些基礎軟件。也就是說,在服務器上面先以分析工具將所有的RPM檔案進行分析,然后將該分析紀錄下來,只要在進行安裝或升級時先查詢該紀錄的文件,就可 以知道所有相關聯的軟件。所以YUM的基本工作流程如下:

服務器端:在服務器上面存放了所有的RPM軟件包,然后以相關的功能去分析每個RPM文件的依賴性關系,將這些數據記錄成文件存放在服務器的某特定目錄內。

客戶端: 如果需要安裝某個軟件時,先下載服務器上面記錄的依賴性關系文件(可通過WWW或FTP方式),通過對服務器端下載的紀錄數據進行分析,然后取得所有相關的軟件,一次全部下載下來進行安裝。

自定義repo文件
1、進入/etc/yum.repos.d
2、創建repo文件

vim Kubernetes.repo
1

3、執行yum repolist查看配置情況

元素說明
[serverid]
其中serverid是用於區別各個不同的repository,必須有一個獨一無二的名稱。用enabled 測試是后面覆蓋前面
上圖中的serverid就是Kubernetes

name
是對repository的描述,支持像$releasever $basearch這樣的變量; name=Fedora Core $releasever - $basearch - Released Updates

baseurl
baseurl是服務器設置中最重要的部分,只有設置正確,才能從上面獲取軟件。它的格式是:

baseurl=url://server1/path/to/repository/
url://server2/path/to/repository/
url://server3/path/to/repository/
1
2
3
其中url支持的協議有 http:// ftp:// file:// 三種。baseurl后可以跟多個url,你可以自己改為速度比較快的鏡像站,但baseurl只能有一個,也就是說不能像如下格式:

baseurl=url://server1/path/to/repository/
baseurl=url://server2/path/to/repository/
baseurl=url://server3/path/to/repository/
1
2
3
url之后可以加上多個選項,如gpgcheck、exclude、failovermethod等,比如:

gpgcheck
gpgchkeck= 有1和0兩個選擇,分別代表是否是否進行gpg校驗,如果沒有這一項,默認是檢查的。gpgcheck= 這里等於0表不啟用gpgkey,為1表啟用gpgkey

gpgkey
官方在發布RPM包時,會提供一個GPG密鑰文件,即所謂的公鑰,用戶下載安裝這個RPM包時,引入這個RPM GPG公鑰,用來驗證RPM包是不是官方簽名的

exclude
exclude 排除某些軟件在升級名單之外,可以用通配符,列表中各個項目要用空格隔開,這個對於安裝了諸如美化包,中文補丁的朋友特別有用。

enabled
當某個軟件倉庫被配置成 enabled=0 時,yum 在安裝或升級軟件包時不會將該倉庫做為軟件包提供源。使用這個選項,可以啟用或禁用軟件倉庫。這里等於0表不啟用baseurl,為1表啟用baseurl路徑

擴展
yum.conf 解釋

[main]

cachedir=/var/cache/yum
cachedir:yum緩存的目錄,yum在此存儲下載的rpm包和數據庫,一般是/var/cache/yum。

keepcache=[1 or 0]
設置 keepcache=1,yum 在成功安裝軟件包之后保留緩存的頭文件 (headers) 和軟件包。默認值為 keepcache=0 不保存

debuglevel=2
debuglevel:除錯級別,0──10,默認是2 貌似只記錄安裝和刪除記錄

logfile=/var/log/yum.log
yum的日志文件所在的位置

exactarch=1
exactarch,有兩個選項1和0,代表是否只升級和你安裝軟件包cpu體系一致的包,如果設為1,則如你安裝了一個i386的rpm,則yum不會用1686的包來升級。

obsoletes=1
簡單的說就是相當於upgrade,允許更新陳舊的RPM包

gpgcheck=1
gpgchkeck= 有1和0兩個選擇,分別代表是否是否進行gpg校驗,如果沒有這一項,默認是檢查的。

plugins=1
是否允許使用插件,默認是0不允許,

installonly_limit
允許保留多少個內核包

distroverpkg
指定一個軟件包,yum會根據這個包判斷你的發行版本,默認是redhat-release,也可以是安裝的任何針對自己發行版的rpm包

exclude
屏蔽不想更新的RPM包,可用通配符,多個RPM包之間使用空格分離
————————————————
版權聲明:本文為CSDN博主「牽着蝸牛去散步_」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u010859650/java/article/details/90679856


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM