Yum
linux如何找到一個軟體包的正確位置
我正在閱讀一本關於 Linux 的書,它對使用 yum 安裝軟體包時 Linux 所做的事情的解釋有些拙劣。
執行
yum install packagehere
時,linux 做的第一件事就是檢查/etc/yum.conf
文件以查看 sotfware 儲存庫的位置。/etc/yum.conf
我新安裝的系統上沒有。既然我沒有
/etc/yum.conf
,那麼首先必須檢查/etc/yum.repos.d
文件夾。在裡面我有fedora.repo
,fedora-cisco-openh264.repo
,fedora-updates.repo
,fedora-updates-testing-repo
.每個文件都有一行以#baseurl 開頭。
假設我執行
yum install httpd
我如何知道(實際上 Linux 是如何知道)哪個 baseurl 包含包 httpd?它會掃描所有這些嗎?
您可以嘗試該
verbose
模式,控制台輸出中最後提到的baseurl
或*.repo
文件是選擇的。通常,如果儲存庫在 XML 元數據中包含所述程序,那麼它會從您的install
命令中“找到”該程序。您可以查看以下響應以了解 yum 內部的工作原理: https ://www.redhat.com/archives/rhl-list/2008-January/msg02246.html
所有的包管理器都以自己的方式做這件事,但都共享一個軟體儲存庫的基本概念。
通常,包管理器會找到基本 url,有時會下載包的索引及其版本以及其他資訊(如文件列表、校驗和、相對路徑等),在索引中查找包,然後通過構造來自 baseurl 的正確 URL 和它在索引中找到的資訊。