Package-Management
pkg 如何選擇它的 repos (FreeBSD 10)
我正在使用 pfSense,它使用 FreeBSD 10 的自定義基礎。
pkg -vv
顯示以下相關定義:PKG_DBDIR = "/var/db/pkg"; PKG_CACHEDIR = "/var/cache/pkg"; PORTSDIR = "/usr/ports"; REPOS_DIR [ "/etc/pkg/", "/usr/local/etc/pkg/repos/", ] Repositories: pfSense-core: { url : "pkg+https://pkg.pfsense.org/pfSense_v2_3_2_amd64-core", enabled : yes, priority : 0, mirror_type : "SRV" } pfSense: { url : "pkg+https://pkg.pfsense.org/pfSense_v2_3_2_amd64-pfSense_v2_3_2", enabled : yes, priority : 0, mirror_type : "SRV" }
查看名為 in 的兩個目錄
REPOS_DIR
:
/etc/pkg
包含看起來像預設 FreeBSD.conf 的內容(啟用=是)。/usr/local/etc/pkg/repos
包含一個不同的 FreeBSD.conf (enabled=no) 和一個 pfsense.conf,其中包含pkg -vv
.- 還有
/usr/local/share/pfSense/pkg/repos
一個包含與 pfsense.conf 相同的FreeBSD.conf
和 pfsense.conf/usr/local/etc/pkg/repos
(儘管後者在不同的文件名下:)pfSense-repo.conf
,以及一個單獨文件中進一步開發 repos 的連結pfSense-repo-devel.conf
。我正在嘗試找出 pkg 選擇其中哪些覆蓋哪些其他的邏輯,特別是因為當給予優先級時,在每種情況下它都是相同的(= 0)。
如果兩者都存在,文件是否會
/usr/local/etc/pkg/*.conf
自動覆蓋位於 的同名文件?/etc/pkg/*.conf
如果沒有,發生了什麼以及 pkg 如何選擇要關注的儲存庫?
該行為實際上都記錄在手冊(qv)中。
REPOS_DIR
取自,pkg.conf
並按給定順序處理其目錄。每個目錄中的文件按字母順序處理。沒有比較文件名的概念。相反,稍後處理的文件會覆蓋之前與之衝突的任何內容。進一步閱讀
pkg.conf
. §5。 FreeBSD 手冊。2015 年。