我使用的是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"
}查看在REPOS_DIR中命名的两个目录:
/etc/pkg包含看起来像默认FreeBSD.conf (enabled=yes)的内容。/usr/local/etc/pkg/repos包含一个不同的FreeBSD.conf (enabled=no),以及一个包含pkg -vv报告的两个回购定义的pfsense.conf。/usr/local/share/pfSense/pkg/repos,它包含与/usr/local/etc/pkg/repos相同的FreeBSD.conf和pfsense.conf (后者在不同的文件名下,尽管是:pfSense-repo.conf),还有一个指向单独文件pfSense-repo-devel.conf中的进一步开发repos的链接。我试图计算出pkg选择哪一个覆盖其他人的逻辑,特别是在给定优先级的情况下,在每种情况下都是相同的(=0)。
如果两个文件都存在,/usr/local/etc/pkg/*.conf文件会自动覆盖/etc/pkg/*.conf上的同名文件吗?如果没有,究竟发生了什么事,pkg如何选择该关注的回复?
发布于 2017-01-01 15:06:12
这种行为实际上都记录在手册(q.v.)中。REPOS_DIR是从pkg.conf中提取的,它的目录按给定的顺序处理。每个目录中的文件按字母顺序处理。没有比较文件名的概念。相反,稍后处理的文件将覆盖与其冲突的任何早期文件。
pkg.conf。第5节. FreeBSD手册。2015年。https://unix.stackexchange.com/questions/334110
复制相似问题