저는 FreeBSD 10의 사용자 정의 기반을 사용하는 pfSense를 사용하고 있습니다. 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(활성화=예)와 유사한 내용을 포함합니다./usr/local/etc/pkg/repos
보고된 두 개의 저장소 정의가 포함된 다른 FreeBSD.conf(활성화=no) 및 pfsense.conf가 포함되어 있습니다pkg -vv
.- pfsense.conf와 동일한 내용을
/usr/local/share/pfSense/pkg/repos
포함하는 파일 도 있으며 (후자는 파일 이름이 다름) 별도의 파일에 추가 개발 저장소에 대한 링크도 있습니다 .FreeBSD.conf
/usr/local/etc/pkg/repos
pfSense-repo.conf
pfSense-repo-devel.conf
나는 pkg가 이들 중 어느 것을 다른 것보다 우선시하는지 선택하는 논리를 알아내려고 노력하고 있습니다. 특히 우선순위가 주어지면 모든 경우에 동일(=0)이기 때문입니다.
두 파일이 모두 존재하는 경우 해당 파일이 /usr/local/etc/pkg/*.conf
동일한 이름의 파일을 자동으로 덮어쓰나요? /etc/pkg/*.conf
그렇지 않다면 무슨 일이 일어나고 있으며 pkg는 집중할 저장소를 어떻게 선택합니까?
답변1
동작은 실제로 매뉴얼(qv)에 모두 문서화되어 있습니다. 그것으로부터 디렉토리를 REPOS_DIR
얻고 pkg.conf
주어진 순서대로 처리하십시오. 각 디렉터리의 파일은 알파벳 순서로 처리됩니다. 파일 이름을 비교하는 개념은 없습니다. 대신, 나중에 처리된 파일은 이전에 충돌했던 모든 콘텐츠를 덮어씁니다.
추가 읽기
pkg.conf
. §5. FreeBSD 매뉴얼. 2015.