|
NAMEpackage repository —
format and operation of package repositories used by
pkg(8).
DESCRIPTIONPackage repositories used by the
pkg(8)
program consist of one or more collections of “package tarballs”
together with package catalogues and optionally various other collected
package metadata.
Each collection consists of packages suitable for installation on a specific system ABI: a combination of operating system, CPU architecture, OS version, word size, and for certain processors endianness or similar attributes. The package collections are typically made available to users for
download via a web or FTP server although various other means of access may
be employed. Encoding the ABI value into the repository
URL allows Repositories may be mirrored over several sites:
FILESYSTEM ORGANIZATIONOnly very minimal constraints on repository layout are prescribed bypkg . The following constraints are all that must be
met:
Package catalogues contain the paths relative to the
Where a package may be applicable to more than one ABI (e.g., it contains only text files) symbolic or hard links, URL mappings or other techniques may be utilised to avoid duplication of storage. Although no specific filesystem organization is required, the usual convention (inherited from pkg-install(8)) is to create a filesystem hierarchy thus:
Each of the packages listed in the repository catalogue must have
a unique REPOSITORY ACCESS METHODSpkg uses standard network protocols for repository
access. Any URL scheme understood by the
fetch(3)
library may be used (HTTP ,
HTTPS , FTP or
FILE ) as well as remote access over
SSH . See
fetch(3)
for a description of additional environment variables, including
FETCH_BIND_ADDRESS , FTP_LOGIN ,
FTP_PASSIVE_MODE ,
FTP_PASSWORD , FTP_PROXY ,
ftp_proxy , HTTP_AUTH ,
HTTP_PROXY , http_proxy ,
HTTP_PROXY_AUTH , HTTP_REFERER ,
HTTP_USER_AGENT , NETRC ,
NO_PROXY and
no_proxy .
REPOSITORY MIRRORINGMultiple copies of a repository can be provided for resilience or to scale up site capacity. Two schemes are provided to auto-discover sets of mirrors given a single repository URL.
Mirrored repositories are assumed to have identical content, and only one copy of the repository catalogue will be downloaded to apply to all mirror sites. WORKING WITH MULTIPLE REPOSITORIESWhere several different repositories are configuredpkg
will search amongst them all in the order specified by the
PRIORITY settings in the
repo.conf files, unless directed to use a single
repository by the -r flag to
pkg-fetch(8),
pkg-install(8),
pkg-upgrade(8),
pkg-search(8)
or
pkg-rquery(8).
Where several different versions of the same package are
available, pkg install example-1.0.0 will actually result in example-1.0.1 being installed. To override this behaviour, on first installation of the package select the repository with the appropriate version: pkg install -r repo-a example-1.0.0 and then to make updates to that package “sticky” to
the same repository, set the value
SEE ALSOpkg_create(3), pkg_printf(3), pkg_repos(3), pkg-keywords(5), pkg-lua-script(5), pkg-script(5), pkg-triggers(5), pkg.conf(5), pkg(8), pkg-add(8), pkg-alias(8), pkg-annotate(8), pkg-audit(8), pkg-autoremove(8), pkg-backup(8), pkg-check(8), pkg-clean(8), pkg-config(8), pkg-create(8), pkg-delete(8), pkg-fetch(8), pkg-info(8), pkg-install(8), pkg-lock(8), pkg-query(8), pkg-register(8), pkg-repo(8), pkg-rquery(8), pkg-search(8), pkg-set(8), pkg-shell(8), pkg-shlib(8), pkg-ssh(8), pkg-stats(8), pkg-triggers(8), pkg-update(8), pkg-updating(8), pkg-upgrade(8), pkg-version(8), pkg-which(8)
Visit the GSP FreeBSD Man Page Interface. |