溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux repo指的是什么

發(fā)布時(shí)間:2023-03-25 09:57:56 來源:億速云 閱讀:138 作者:iii 欄目:建站服務(wù)器

本篇內(nèi)容主要講解“l(fā)inux repo指的是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“l(fā)inux repo指的是什么”吧!

linux repo就是指“repository”,表示安裝文件的位置,同時(shí),repo也是在linux環(huán)境中開發(fā)android主機(jī)環(huán)境需要的工具包名稱,用于進(jìn)行版本控制;repo文件是指Fedora中yum源的配置文件,通常一個(gè)repo文件定義了一個(gè)或者多個(gè)軟件倉庫的細(xì)節(jié)內(nèi)容。

linux repo是什么?

在linux操作系統(tǒng)中,repo=repository,表示安裝文件的位置,同時(shí),repo也是在linux環(huán)境中開發(fā)android主機(jī)環(huán)境需要的工具包名稱,用于進(jìn)行版本控制。REPO是Google用python腳本寫的調(diào)用Git的腳本,主要用來下載、管理android項(xiàng)目的軟件倉庫。

linux yum的配置文件 repo文件詳解

repo文件:

repo文件是Fedora中yum源(軟件倉庫)的配置文件,通常一個(gè)repo文件定義了一個(gè)或者多個(gè)軟件倉庫的細(xì)節(jié)內(nèi)容,例如我們將從哪里下載需要安裝或者升級(jí)的軟件包,repo文件中的設(shè)置內(nèi)容將被yum讀取和應(yīng)用!

YUM的工作原理并不復(fù)雜,每一個(gè) RPM軟件的頭(header)里面都會(huì)紀(jì)錄該軟件的依賴關(guān)系,那么如果可以將該頭的內(nèi)容紀(jì)錄下來并且進(jìn)行分析,可以知道每個(gè)軟件在安裝之前需要額外安裝哪些基礎(chǔ)軟件。也就是說,在服務(wù)器上面先以分析工具將所有的RPM檔案進(jìn)行分析,然后將該分析紀(jì)錄下來,只要在進(jìn)行安裝或升級(jí)時(shí)先查詢?cè)摷o(jì)錄的文件,就可以知道所有相關(guān)聯(lián)的軟件。所以YUM的基本工作流程如下:

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

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

vi /etc/yum.conf
[main]
cachedir=/var/cache/yum
#cachedir:yum緩存的目錄,yum在此存儲(chǔ)下載的rpm包和數(shù)據(jù)庫,一般是/var/cache/yum。
debuglevel=2
#debuglevel:除錯(cuò)級(jí)別,0──10,默認(rèn)是2 貌似只記錄安裝和刪除記錄
logfile=/var/log/yum.log
pkgpolicy=newest

#pkgpolicy: 包的策略。一共有兩個(gè)選項(xiàng),newest和last,這個(gè)作用是如果你設(shè)置了多個(gè)repository,而同一軟件在不同的repository中同時(shí)存 在,yum應(yīng)該安裝哪一個(gè),如果是newest,則yum會(huì)安裝最新的那個(gè)版本。如果是last,則yum會(huì)將服務(wù)器id以字母表排序,并選擇最后的那個(gè) 服務(wù)器上的軟件安裝。一般都是選newest。

distroverpkg=centos-release

#指定一個(gè)軟件包,yum會(huì)根據(jù)這個(gè)包判斷你的發(fā)行版本,默認(rèn)是redhat-release,也可以是安裝的任何針對(duì)自己發(fā)行版的rpm包。

tolerant=1

#tolerent,也有1和0兩個(gè)選項(xiàng),表示yum是否容忍命令行發(fā)生與軟件包有關(guān)的錯(cuò)誤,比如你要安裝1,2,3三個(gè)包,而其中3此前已經(jīng)安裝了,如果你設(shè)為1,則yum不會(huì)出現(xiàn)錯(cuò)誤信息。默認(rèn)是0。

exactarch=1
#exactarch,有兩個(gè)選項(xiàng)1和0,代表是否只升級(jí)和你安裝軟件包c(diǎn)pu體系一致的包,如果設(shè)為1,則如你安裝了一個(gè)i386的rpm,則yum不會(huì)用1686的包來升級(jí)。
retries=20
#retries,網(wǎng)絡(luò)連接發(fā)生錯(cuò)誤后的重試次數(shù),如果設(shè)為0,則會(huì)無限重試。
obsoletes=1
gpgcheck=1
#gpgchkeck= 有1和0兩個(gè)選擇,分別代表是否是否進(jìn)行g(shù)pg校驗(yàn),如果沒有這一項(xiàng),默認(rèn)是檢查的。
reposdir=/etc/yy.rm #默認(rèn)是 /etc/yum.repos.d/ 低下的 xx.repo后綴文件

#默認(rèn)都會(huì)被include 進(jìn)來 也就是說 /etc/yum.repos.d/xx.repo 無論配置文件有多少個(gè) 每個(gè)里面有多少個(gè)[name] 最后其實(shí)都被整合到 一個(gè)里面看就是了 重復(fù)的[name]后面的覆蓋前面的

exclude=xxx

#exclude 排除某些軟件在升級(jí)名單之外,可以用通配符,列表中各個(gè)項(xiàng)目要用空格隔開,這個(gè)對(duì)于安裝了諸如美化包,中文補(bǔ)丁的朋友特別有用。

keepcache=[1 or 0]

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

reposdir=[包含 .repo 文件的目錄的絕對(duì)路徑]

#  該選項(xiàng)用戶指定 .repo 文件的絕對(duì)路徑。.repo 文件包含軟件倉庫的信息 (作用與 /etc/yum.conf 文件中的 [repository] 片段相同)。

第二部分:

vi /etc/yum.repo.d/xx.repo

這個(gè)字段其實(shí)也可以在yum.conf里面直接配置

[serverid]

#其中serverid是用于區(qū)別各個(gè)不同的repository,必須有一個(gè)獨(dú)一無二的名稱。 重復(fù)了 前面覆蓋后面--還是反過來呢???用enabled 測(cè)試是后面覆蓋前面

name=Some name for this server

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

baseurl=url://path/to/repository/

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

baseurl=url://server1/path/to/repository/
url://server2/path/to/repository/
url://server3/path/to/repository/

#其中url支持的協(xié)議有 http:// ftp:// file://三種。baseurl后可以跟多個(gè)url,你可以自己改為速度比較快的鏡像站,但baseurl只能有一個(gè),也就是說不能像如下格式:

baseurl=url://server1/path/to/repository/
baseurl=url://server2/path/to/repository/
baseurl=url://server3/path/to/repository/

其中url指向的目錄必須是這個(gè)repository header目錄的上一級(jí),它也支持$releasever $basearch這樣的變量。

#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch

#上面的這一行是指定一個(gè)鏡像服務(wù)器的地址列表,通常是開啟的,本例中加了注釋符號(hào)禁用了,我們可以試試,將$releasever和$basearch替換成自己對(duì)應(yīng)的版本和架構(gòu),例如10和i386,在瀏覽器中打開,我們就能看到一長(zhǎng)串鏡可用的鏡像服務(wù)器地址列表。

url之后可以加上多個(gè)選項(xiàng),如gpgcheck、exclude、failovermethod等,比如:

gpgcheck=1

exclude=gaim

#其中g(shù)pgcheck,exclude的含義和[main]部分相同,但只對(duì)此服務(wù)器起作用,

failovermethod=priority

#failovermethode 有兩個(gè)選項(xiàng)roundrobin和priority,意思分別是有多個(gè)url可供選擇時(shí),yum選擇的次序,roundrobin是隨機(jī)選擇,如果連接失 敗則使用下一個(gè),依次循環(huán),priority則根據(jù)url的次序從第一個(gè)開始。如果不指明,默認(rèn)是roundrobin。

enabled=[1 or 0]

#當(dāng)某個(gè)軟件倉庫被配置成 enabled=0 時(shí),yum 在安裝或升級(jí)軟件包時(shí)不會(huì)將該倉庫做為軟件包提供源。使用這個(gè)選項(xiàng),可以啟用或禁用軟件倉庫。

#通過 yum 的 --enablerepo=[repo_name] 和 --disablerepo=[repo_name] 選項(xiàng),或者通過 PackageKit 的"添加/刪除軟件"工具,也能夠方便地啟用和禁用指定的軟件倉庫

幾個(gè)變量

$releasever,發(fā)行版的版本,從[main]部分的distroverpkg獲取,如果沒有,則根據(jù)redhat-release包進(jìn)行判斷。

$arch,cpu體系,如i686,athlon等

$basearch,cpu的基本體系組,如i686和athlon同屬i386,alpha和alphaev6同屬alpha。

對(duì)yum.conf設(shè)定完成,我們就可以好好體驗(yàn)yum帶來的方便了。

還有一件事沒有做。那就是導(dǎo)入每個(gè)reposity的GPG key,前面說過,yum可以使用gpg對(duì)包進(jìn)行校驗(yàn),確保下載包的完整性,所以我們先要到各個(gè)repository站點(diǎn)找到gpg key,一般都會(huì)放在首頁的醒目位置,一些名字諸如 RPM-GPG-KEY.txt之類的純文本文件,把它們下載,然后用rpm --import xxx.txt命令將它們導(dǎo)入,最好把發(fā)行版自帶GPG-KEY也導(dǎo)入,rpm --import /usr/share/doc/redhat-release-*/RPM-GPG-KEY 官方軟件升級(jí)用的上。

到此,相信大家對(duì)“l(fā)inux repo指的是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI