首頁 運維 linux運維 linux repo是什麼

linux repo是什麼

Mar 25, 2023 am 09:08 AM
linux repo

linux repo就是指“repository”,表示安裝檔案的位置,同時,repo也是在linux環境中開發android主機環境需要的工具包名稱,用於進行版本控制;repo檔案是指Fedora中yum來源的設定文件,通常一個repo文件定義了一個或多個軟體倉庫的細節內容。

linux repo是什麼

本教學操作環境:linux5.9.8系統、Dell G3電腦。

linux repo是什麼?

在linux作業系統中,repo=repository,表示安裝檔案的位置,同時,repo也是在linux環境中開發android主機環境所需的工具包名稱,用於進行版本控制。 REPO是Google用python腳本寫的呼叫Git的腳本,主要用來下載、管理android專案的軟體倉庫。

linux yum的設定檔repo檔詳解

#repo檔:

repo檔是Fedora中yum來源(軟體倉庫)的設定文件,通常一個repo文件定義了一個或多個軟體倉庫的細節內容,例如我們將從哪裡下載需要安裝或升級的軟體包,repo文件中的設定內容將被yum讀取和應用!

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

伺服器端:在伺服器上面存放了所有的RPM軟體包,然後以相關的功能去分析每個RPM檔案的依賴性關係,將這些資料記錄成文件存放在伺服器的某特定目錄內。

客戶端:如果需要安裝某個軟體時,先下載伺服器上面記錄的依賴性關係檔(可透過WWW或FTP方式),透過對伺服器端下載的紀錄資料進行分析,然後取得所有相關的軟體,一次全部下載下來進行安裝。

vi /etc/yum.conf
[main]
cachedir=/var/cache/yum
#cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。
debuglevel=2
#debuglevel:除错级别,0──10,默认是2 貌似只记录安装和删除记录
logfile=/var/log/yum.log
pkgpolicy=newest
登入後複製

#pkgpolicy: 套件的策略。總共有兩個選項,newest和last,這個作用是如果你設定了多個repository,而同一軟體在不同的repository中同時存在,yum應該安裝哪一個,如果是newest,則yum會安裝最新的那個版本。如果是last,則yum會將伺服器id以字母表排序,並選擇最後的該 伺服器上的軟體安裝。一般都是選newest。

distroverpkg=centos-release

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

tolerant=1

#tolerent,也有1和0兩個選項,表示yum是否容忍命令列發生與軟體包有關的錯誤,例如你要安裝1,2,3三個包,而其中3先前已經安裝了,如果你設為1,則yum不會出現錯誤訊息。預設是0。

exactarch=1
#exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用1686的包来升级。
retries=20
#retries,网络连接发生错误后的重试次数,如果设为0,则会无限重试。
obsoletes=1
gpgcheck=1
#gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的。
reposdir=/etc/yy.rm #默认是 /etc/yum.repos.d/ 低下的 xx.repo后缀文件
登入後複製

#預設都會被include 進來也就是說/etc/yum.repos.d/xx.repo 無論設定檔有多少個每個裡面有多少個[name] 最後其實都被整合到一個裡面看就是了重複的[name]後面的覆蓋前面的

exclude=xxx
登入後複製

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

keepcache=[1 or 0]
登入後複製

#  設定 keepcache=1,yum 在成功安裝軟體包之後保留快取的頭檔 (headers) 和軟體包。預設值為 keepcache=0 不儲存

reposdir=[包含 .repo 文件的目录的绝对路径]
登入後複製

#  此選項使用者指定 .repo 檔案的絕對路徑。 .repo 檔案包含軟體倉庫的資訊 (作用與 /etc/yum.conf 檔案中的 [repository] ​​片段相同)。

第二部分:

vi /etc/yum.repo.d/xx.repo
登入後複製

這個欄位其實也可以在yum.conf裡面直接設定

[serverid]

#其中serverid是用於區別各不同的repository,必須有一個獨特的名稱。重複了 前面覆蓋後面--還是反過來呢? ? ?用enabled 測試是後面覆蓋前面

name=Some name for this server
登入後複製

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

baseurl=url://path/to/repository/
登入後複製

#baseurl是伺服器設定中最重要的部分,只有設定正確,才能從上方取得軟體。它的格式是:

baseurl=url://server1/path/to/repository/
url://server2/path/to/repository/
url://server3/path/to/repository/
登入後複製

#其中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/
登入後複製

其中url指向的目錄必須是這個repository header目錄的上一層,它也支援$releasever $basearch這樣的變數。

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

#上面的這一行是指定一個鏡像伺服器的位址列表,通常是開啟的,本例中加了註解符號禁用了,我們可以試試,將$releasever和$basearch替換成自己對應的版本和架構,例如10和i386,在瀏覽器中打開,我們就能看到一長串鏡可用的鏡像伺服器位址清單。

url之後可以加上多個選項,如gpgcheck、exclude、failovermethod等,例如:

gpgcheck=1

exclude=gaim

#其中gpgcheck,exclude的意義和[main]部分相同,但只對此伺服器起作用,

failovermethod=priority

#failovermethode 有兩個選項roundrobin和priority,意思分別是有當多個url可供選擇時,yum選擇的順序,roundrobin是隨機選擇,如果連接失敗則使用下一個,依次循環,priority則根據url的順序從第一個開始。如果不指明,預設是roundrobin。

enabled=[1 or 0]

#當某個軟體倉庫被設定成enabled=0 時,yum 在安裝或升級軟體包時不會將該倉庫做為軟體包提供源。使用這個選項,可以啟用或停用軟體倉庫。

#透過yum 的--enablerepo=[repo_name] 和--disablerepo=[repo_name] 選項,或透過PackageKit 的"新增/刪除軟體"工具,也能夠方便地啟用和停用指定的軟體倉庫

幾個變數

$releasever,發行版的版本,從[main]部分的distroverpkg取得,如果沒有,則根據redhat-release套件進行判斷。

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

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

對yum.conf設定完成,我們就可以好好體驗yum帶來的方便了。

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

推薦學習:《linux影片教學

以上是linux repo是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Linux實際上有什麼好處? Linux實際上有什麼好處? Apr 12, 2025 am 12:20 AM

Linux適用於服務器、開發環境和嵌入式系統。 1.作為服務器操作系統,Linux穩定高效,常用於部署高並發應用。 2.作為開發環境,Linux提供高效的命令行工具和包管理系統,提升開發效率。 3.在嵌入式系統中,Linux輕量且可定制,適合資源有限的環境。

將Docker與Linux一起使用:綜合指南 將Docker與Linux一起使用:綜合指南 Apr 12, 2025 am 12:07 AM

在Linux上使用Docker可以提高開發和部署效率。 1.安裝Docker:使用腳本在Ubuntu上安裝Docker。 2.驗證安裝:運行sudodockerrunhello-world。 3.基本用法:創建Nginx容器dockerrun--namemy-nginx-p8080:80-dnginx。 4.高級用法:創建自定義鏡像,使用Dockerfile構建並運行。 5.優化與最佳實踐:使用多階段構建和DockerCompose,遵循編寫Dockerfile的最佳實踐。

apache80端口被佔用怎麼辦 apache80端口被佔用怎麼辦 Apr 13, 2025 pm 01:24 PM

當 Apache 80 端口被佔用時,解決方法如下:找出佔用該端口的進程並關閉它。檢查防火牆設置以確保 Apache 未被阻止。如果以上方法無效,請重新配置 Apache 使用不同的端口。重啟 Apache 服務。

apache怎麼啟動 apache怎麼啟動 Apr 13, 2025 pm 01:06 PM

啟動 Apache 的步驟如下:安裝 Apache(命令:sudo apt-get install apache2 或從官網下載)啟動 Apache(Linux:sudo systemctl start apache2;Windows:右鍵“Apache2.4”服務並選擇“啟動”)檢查是否已啟動(Linux:sudo systemctl status apache2;Windows:查看服務管理器中“Apache2.4”服務的狀態)啟用開機自動啟動(可選,Linux:sudo systemctl

oracle怎麼啟動監聽 oracle怎麼啟動監聽 Apr 12, 2025 am 06:00 AM

啟動 Oracle 監聽器的步驟如下:檢查監聽器狀態(使用 lsnrctl status 命令)對於 Windows,在 Oracle Services Manager 中啟動 "TNS Listener" 服務對於 Linux 和 Unix,使用 lsnrctl start 命令啟動監聽器運行 lsnrctl status 命令驗證監聽器是否已啟動

如何在Debian上監控Nginx SSL性能 如何在Debian上監控Nginx SSL性能 Apr 12, 2025 pm 10:18 PM

本文介紹如何在Debian系統上有效監控Nginx服務器的SSL性能。我們將使用NginxExporter將Nginx狀態數據導出到Prometheus,再通過Grafana進行可視化展示。第一步:配置Nginx首先,我們需要在Nginx配置文件中啟用stub_status模塊來獲取Nginx的狀態信息。在你的Nginx配置文件(通常位於/etc/nginx/nginx.conf或其包含文件中)中添加以下代碼段:location/nginx_status{stub_status

Debian系統中如何設置回收站 Debian系統中如何設置回收站 Apr 12, 2025 pm 10:51 PM

本文介紹兩種在Debian系統中配置回收站的方法:圖形界面和命令行。方法一:使用Nautilus圖形界面打開文件管理器:在桌面或應用程序菜單中找到並啟動Nautilus文件管理器(通常名為“文件”)。找到回收站:在左側導航欄中尋找“回收站”文件夾。如果找不到,請嘗試點擊“其他位置”或“計算機”進行搜索。配置回收站屬性:右鍵點擊“回收站”,選擇“屬性”。在屬性窗口中,您可以調整以下設置:最大大小:限制回收站可用的磁盤空間。保留時間:設置文件在回收站中自動刪除前的保

如何優化debian readdir的性能 如何優化debian readdir的性能 Apr 13, 2025 am 08:48 AM

在Debian系統中,readdir系統調用用於讀取目錄內容。如果其性能表現不佳,可嘗試以下優化策略:精簡目錄文件數量:盡可能將大型目錄拆分成多個小型目錄,降低每次readdir調用處理的項目數量。啟用目錄內容緩存:構建緩存機制,定期或在目錄內容變更時更新緩存,減少對readdir的頻繁調用。內存緩存(如Memcached或Redis)或本地緩存(如文件或數據庫)均可考慮。採用高效數據結構:如果自行實現目錄遍歷,選擇更高效的數據結構(例如哈希表而非線性搜索)存儲和訪問目錄信

See all articles