DragonFly On-Line Manual Pages

Search: Section:  


PKG(8)                 DragonFly System Manager's Manual                PKG(8)

NAME

pkg, pkg-static - manipulate packages

SYNOPSIS

pkg [-v] [-d] [-l] [-N] [-j <chroot path> | -r <root directory>] [-C <configuration file>] [-R <repository configuration directory>] [-4 | -6] <command> <flags> pkg [--version] [--debug] [--list] [-N] [--jail <jail name or id> | --chroot <chroot path> | --rootdir <root directory>] [--config <configuration file>] [--repo-conf-dir <repository configuration directory>] [-4 | -6] <command> <flags>

DESCRIPTION

pkg provides an interface for manipulating packages: registering, adding, removing and upgrading packages. pkg-static is a statically linked variant of pkg typically only used for the initial installation of pkg. There are some differences in functionality. See pkg.conf(5) for details.

OPTIONS

The following options are supported by pkg: -v, --version Display the current version of pkg. -d, --debug Show debug information. -l, --list List all the available command names, and exit without performing any other action. The -v option takes precedence over -l but -l will override any other command line arguments. -o <option=value>, --option <option=value> Set configuration option for pkg from the command line. Options that are set from the environment are redefined. It is permitted to specify this option multiple times. -N Activation status check mode. Prevent pkg from automatically creating or initializing the SQLite database in /var/db/pkg/local.sqlite if it does not already exist. Prevent pkg from performing any actions if no packages are currently installed, on the basis that a correctly initialised system using pkg will always have at least the pkg package itself registered. If used without any other arguments, pkg -N will run the sanity tests and if successful print out a short message showing how many packages are currently installed. The exit status should be a reliable indication of whether a system is configured to use pkg as its package management system or not. Example usage: if pkg -N >/dev/null 2>&1; then # pkgng-specifics else # pkg_install-specifics fi The -N flag was first released in the /usr/sbin/pkg bootstrapper in FreeBSD 8.4, but was missing from FreeBSD 9.1. It may not be enough to just call pkg -N, as the bootstrapper may be invoked, or an error returned from pkg. The following script is the safest way to detect if pkg is installed and activated: if TMPDIR=/dev/null ASSUME_ALWAYS_YES=yes \ PACKAGESITE=file:///nonexistent \ pkg info -x 'pkg(-devel)?$' >/dev/null 2>&1; then # pkgng-specifics else # pkg_install-specifics fi -c <chroot path>, --chroot <chroot path> pkg will chroot in the <chroot path> environment. -r <root directory>, --rootdir <root directory> pkg will install all packages within the specified <root directory>. -C <configuration file>, --config <configuration file> pkg will use the specified file as a configuration file. -R <repo conf dir>, --repo-conf-dir <repo conf dir> pkg will search the directory for per-repository configuration files. This overrides any value of REPOS_DIR specified in the main configuration file. -4 pkg will use IPv4 for fetching repository and packages. -6 pkg will use IPv6 for fetching repository and packages.

COMMANDS

The following commands (or their unambiguous abbreviations) are supported by pkg: help command Display usage information of the specified command. add Install a package from either a local source or a remote one. When installing from remote source you need to specify the protocol to use when fetching the package. Currently supported protocols are FTP, HTTP and HTTPS. annotate Add, modify or delete tag-value style annotations on packages. alias List the command line aliases. audit Audit installed packages against known vulnerabilities. autoremove Delete packages which were automatically installed as dependencies and are not required any more. bootstrap This is for compatibility with the pkg(7) bootstrapper. If pkg is already installed, nothing is done. If invoked with the -f flag an attempt will be made to reinstall pkg from remote repository. check Sanity checks installed packages. clean Clean the local cache of fetched remote packages. convert Convert to and from the old pkg_add(1) format. create Create a package. delete Delete a package from the database and the system. fetch Fetch packages from a remote repository. info Display information about installed packages and package files. install Install a package from a remote package repository. If a package is found in more than one remote repository, then installation happens from the first one. Downloading a package is tried from each package repository in turn, until the package is successfully fetched. lock Prevent modification or deletion of a package. plugins List the available plugins. query Query information about installed packages and package files. register Register a package in the database. repo Create a local package repository for remote usage. rquery Query information for remote repositories. search Search for the given pattern in the remote package repositories. set Modify information in the installed database. shell Open a SQLite shell to the local or remote database. Extreme care should be taken when using this command. shlib Displays which packages link to a specific shared library. stats Display package database statistics. unlock Unlocks packages, allowing them to be modified or deleted. update Update the available remote repositories as listed in pkg.conf(5). updating Display UPDATING entries of installed packages. upgrade Upgrade a package to a newer version. version Summarize installed versions of packages. which Query the database for package(s) that installed a specific file.

ENVIRONMENT

All configuration options from pkg.conf(5) can be passed as environment variables. Extra environment variables are: INSTALL_AS_USER Allow all manipulation to be done as a regular user instead of checking for root credentials when appropriate. It is expected that the user will ensure that every file and directory manipulated by pkg are readable (or writable where appropriate) by the user.

FILES

See pkg.conf(5).

EXAMPLES

Search for a package: $ pkg search perl Install a package: Installing must specify a unique origin or version otherwise it will try installing all matches. % pkg install perl-5.14 List installed packages: $ pkg info Upgrade from remote repository: % pkg upgrade Change the origin for an installed package: % pkg set -o lang/perl5.12:lang/perl5.14 % pkg install -Rf lang/perl5.14 List non-automatic packages: $ pkg query -e '%a = 0' %o List automatic packages: $ pkg query -e '%a = 1' %o Delete an installed package: % pkg delete perl-5.14 Remove unneeded dependencies: % pkg autoremove Change a package from automatic to non-automatic, which will prevent autoremove from removing it: % pkg set -A 0 perl-5.14 Change a package from non-automatic to automatic, which will make autoremove allow it be removed once nothing depends on it: % pkg set -A 1 perl-5.14 Create package file from an installed package: % pkg create -o /usr/dports/packages/All perl-5.14 Determine which package installed a file: $ pkg which /usr/local/bin/perl Audit installed packages for security advisories: $ pkg audit Check installed packages for checksum mismatches: # pkg check -s -a Check for missing dependencies: # pkg check -d -a Show the pkg-message of a package: # pkg info -D perl-5.14 Restore a backup database: % rm /var/db/pkg/local.sqlite % xzcat /var/backups/pkg.sql.xz | pkg shell

SEE ALSO

pkg_create(3), pkg_printf(3), pkg_repos(3), pkg-keywords(5), pkg-lua-script(5), pkg-repository(5), pkg-script(5), pkg-triggers(5), pkg.conf(5), pkg-add(8), pkg-alias(8), pkg-annotate(8), pkg-audit(8), pkg-autoremove(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) To build your own package set for one or multiple servers see poudriere(8) (ports/ports-mgmt/poudriere). FreeBSD pkg mirror: https://pkg.freebsd.org Your closest pkg mirror based on MaxMind GeoLite geo-DNS.

HISTORY

The pkg command first appeared in FreeBSD 9.1.

AUTHORS AND CONTRIBUTORS

Baptiste Daroussin <bapt@FreeBSD.org>, Julien Laffaye <jlaffaye@FreeBSD.org>, Philippe Pepiot <phil@philpep.org>, Will Andrews <will@FreeBSD.org>, Marin Atanasov Nikolov <dnaeon@gmail.com>, Yuri Pankov <yuri.pankov@gmail.com>, Alberto Villa <avilla@FreeBSD.org>, Brad Davis <brd@FreeBSD.org>, Matthew Seaman <matthew@FreeBSD.org>, Bryan Drewery <bryan@shatow.net>, Eitan Adler <eadler@FreeBSD.org>, Romain Tarti`ere <romain@FreeBSD.org>, Vsevolod Stakhov <vsevolod@FreeBSD.org>, Alexandre Perrin <alex@kaworu.ch>

BUGS

See the issue tracker at https://github.com/freebsd/pkg/issues. Please direct questions and issues to the pkg@FreeBSD.org mailing list. DragonFly 6.5-DEVELOPMENT June 29, 2020 DragonFly 6.5-DEVELOPMENT PKG-SEARCH(8) DragonFly System Manager's Manual PKG-SEARCH(8)

NAME

pkg search - search package repository catalogues

SYNOPSIS

pkg search [-U] [-r reponame] [-S search] [-L label] [-Q query-modifier] [-Cegix] pattern pkg search [-cDdfopqRsU] [-r reponame] [-Cegix] pattern pkg search [--no-repo-update] [--repository reponame] [--search search] [--label label] [--query-modifier query-modifier] [--{case-sensitive,exact,glob,case-insensitive,regex}] pattern pkg search [--{comment,description,depends-on,full,origins,prefix}] [--{quiet,raw,size,no-repo-update}] [--repository reponame] [--{case-sensitive,exact,glob,case-insensitive,regex}] [--raw-format format] pattern

DESCRIPTION

pkg search is used for searching package repository catalogues. Packages available for installation can be matched by name, by name and version, by origin, or by text in the package comments or package descriptions. The output defaults to displaying the field matched by the search term, but any of the searchable fields may be displayed. The output may be modified to additionally show many other package data available from the repository catalogues. Package repository catalogues will be automatically updated whenever pkg search is run by a user ID with write access to the package database, unless disabled by the -U flag or setting REPO_AUTOUPDATE to NO in pkg.conf(5). Package repositories are defined in the pkg.conf file or by creating repository definitions in /usr/local/etc/pkg/repos. See pkg.conf(5) for details.

OPTIONS

The following options are supported by pkg search: -C, --case-sensitive Make the exact (-e) or the regular expression (-x) matching against pkg-name case sensitive. -c, --comment Search for packages with comment text matching pattern. Equivalent to -S comment. -D, --description Search for packages with description text matching pattern. Equivalent to -S description. -d, --depends-on Display the list of packages depended on by each matched package. Equivalent to -Q depends-on. -e, --exact pattern should be an exact match against the search field. -f, --full Show ``full'' information about the package. Equivalent to -Q full. -g, --glob Treat pattern as a shell globbing expression. The glob pattern must match the entire field being searched. -i, --case-insensitive Make the exact (-e) or regular expression (-x) matching against pattern case insensitive. This is the default, unless modified by setting CASE_SENSITIVE_MATCH to true in pkg.conf. -L label, --label label Select which identifying label is printed for each matched package, unless -q is used. Several different fields from the repository catalogue database may be used to search on, or to generate the label, as indicated by the label argument. See the "Search and Label Options" section for details. If unspecified, label is set to the same as the value searched via the -S search option. -o, --origins List packages by origin for each package matching pattern. Equivalent to -L origin. -p, --prefix Display the package installation prefix for each matched package. Equivalent to -Q prefix. -q, --quiet Be "quiet". Produce less output. In particular do not show an identifying label field for each package. -Q query-modifier, --query-modifier query-modifier Modify the query output by adding an additional field to the result. Multiple fields can be added by using additional -Q query-modifier flags. See the "Output Modifier Options" section for details. -r reponame, --repository reponame Search for packages from only the named repository, irrespective of the configured "active" status from repo.conf. By default all repository catalogues marked "active" are searched. -R, --raw Display the full manifest (raw) from the matching packages. -S search, --search search Specify the field to search the repository catalogue on. If unspecified, searches on pkg-name unless the search term contains a / character, when it searches on port origin. Output will be sorted in order of the search field. See the "Search and Label Options" sections for more details. --raw-format format Choose the format of the raw output. The format can be: json, json-compact, yaml (default). -s, --size Display the installed size of matched packages. Equivalent to -Q size. -U, --no-repo-update Suppress the automatic update of the local copy of the repository catalogue from remote. Automatic repository catalogue updates are only attempted when the effective UID of the process has write access to the package database. Otherwise they are silently ignored. -x, --regex Treat pattern as a regular expression according to the "modern" or "extended" syntax of re_format(7). This is the default. Matches any substring of the search field unless explicit beginning or ending anchor terms are used. Search and Label Options The following database fields (or composites of several fields) can be used both for searching for a match to the given pattern and as identifying labels for the block of output for each package. comment The one line comment field describing the port, derived from the COMMENT variable in the port's Makefile. When chosen as a label option, the output format will additionally include the package name, equivalent to -L pkg-name -Q comment. When chosen as a search option, only the comment field is used for sorting the output. description The multi-line package description from the pkg-descr file in the port. This does include the WWW URL reference, if any, from that file. When chosen as a label option, the output format will additionally include the package name, equivalent to -L pkg-name -Q description. When chosen as a search option, only the description field is used for sorting the output. name The name of the package, derived from the PORTNAME variable in the port's Makefile. origin The port origin, in the format category/port, that the package was compiled from. pkg-name The package name in the format name-version. The same as the PKGNAME variable in the port's Makefile. Any unambiguous prefix of the label name may be used on the command line. Thus -Sd, -S descr and -S description are all equivalent. Output Modifier Options Additional data from the repository catalogue to print for each matched package. Multiple output modifiers can be combined. Where more than one output field is required, either because multiple -Q query-modifier options were given, or one or more -Q query-modifier option was combined with the -L comment or -L description options, then each output field will be tagged with the field name. annotations Arbitrary text in tag-value format that can be added to any package. arch The architecture string indicating what OS version and CPU architecture the package is suitable for. For example, freebsd:9:x86:64 indicates a package suitable for FreeBSD 9.x running on an amd64 processor, while freebsd:* indicates an architecture independent package suitable for any version of FreeBSD. categories All categories, real and virtual, the underlying package belongs to, derived from the CATEGORIES variable in the port's Makefile. comment The one line comment field describing the port, derived from the COMMENT variable in the port's Makefile. depends-on The list of packages the named package depends on. Dependency packages are listed in the format name-version one per line. If the port has no dependencies, nothing will be output for this field, including suppressing the tag name when multiple output fields are requested. description The multi-line package description from the pkg-descr file in the port. This does include the WWW URL reference, if any, from that file. full Show a standard set of fields, equivalent to a combination of the name, version, origin, prefix, repository, categories, license, maintainer, www, comment, options, shared-libs-required, shared-libs-provided, annotations, size, pkg-size and descr fields, in that order. licenses Displays a list of all the licenses the package is released under on a single line. Where more than one license applies, indicate if the terms of all licenses should apply (&) or if one or more licenses may be selected out of those available (|). maintainer Display the maintainer's e-mail address. name Display the port name, which is derived from the PORTNAME variable in the port's Makefile. options Displays a list of the port options and their state (on or off) when the package was built. If the package does not have any options to set, nothing will be output for this field, including suppressing the tag name when multiple output fields are requested. pkg-size Display the size of the compressed package tarball, i.e., how much would need to be downloaded from the repository. prefix Display the installation prefix for the package, usually /usr/local. repository Displays the repository name and the corresponding base URL for the repository. For a default repository defined in pkg.conf. required-by Displays all of the packages in the repository that require the named package as a dependency. Dependency packages are listed in the format name-version one per line. If no other packages require the named package, nothing will be output for this field, including suppressing the tag name when multiple output fields are requested. shared-libs-required If the package contains dynamically linked FreeBSD ELF binaries, display a list of all of the shared libraries other than those from the base system required for those binaries to run. Shared libraries for foreign (e.g., Linux) binaries run under emulation will not be displayed. If the package does not require any shared libraries, nothing will be output for this field including suppressing the tag name when multiple fields are requested. shared-libs-provided If the package contains any shared libraries, display a list of the library names, including the ABI version number, if any. A shared library, of either the same or differing ABI versions, may legitimately be provided by more than installed package, but this frequently indicates a problem. size Display the total amount of filesystem space the package files will take up once unpacked and installed. url Display the URL that would be used to download the package from the repository. version Display the package version, which is derived from the PKGVERSION variable in the port's Makefile. www Display the general URL, if any, for the project developing the software used in the package. This is extracted from the pkg-descr file in the port. Any unambiguous prefix of the query modifier name may be used on the command line. Thus -Qm, -Q maint and -Q maintainer are all equivalent, but you need to use at least -Q si and -Q sh to distinguish size from shared-libs-required or shared-libs-provided, and you'll need at least -Q shared-libs-p to select the shared-libs-provided unambiguously.

ENVIRONMENT

The following environment variables affect the execution of pkg search. See pkg.conf(5) for further description. PKG_DBDIR CASE_SENSITIVE_MATCH

FILES

See pkg.conf(5).

SEE ALSO

pkg_create(3), pkg_printf(3), pkg_repos(3), pkg-keywords(5), pkg-lua-script(5), pkg-repository(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-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-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) DragonFly 6.5-DEVELOPMENT November 18, 2014 DragonFly 6.5-DEVELOPMENT

Search: Section: