display information on software packages
command is used to dump out information for
packages, as created by
, which may be
still packed up or already installed on the system with the
The pkg-name may be the name of an installed
package, the pathname to a package distribution file, or a URL to a package
available through FTP, HTTP, HTTPS, or SCP.
will try to complete pkg-name with a version number
while looking through installed packages.
When browsing through uninstalled packages, running
pkg_info -I *.tgz will report a summary line for
each package, so that it is possible to run
pkgname.tgz to obtain a longer package description, and
pkg_add -n pkgname.tgz to check that the
installation would proceed cleanly, including dependencies.
The following command-line options are supported:
- Show information for all currently installed packages, including internal
- Show information for all currently installed packages.
- Show certificate information for signed packages.
- Show the one-line comment field for each package.
- Show the long-description field for each package.
- Look for the package(s) that contains the given
filename. As a faster alternative, note that there
is a package, pkglocatedb, that contains a
locate(1) database of every
file in every package.
- This option allows you to test for the presence of another (perhaps
prerequisite) package from a script. If the package identified by
pkg-name is currently installed, return 0, otherwise
return 1. In addition, the names of any package(s) found installed are
printed to stdout unless turned off using the
The given pkg-name is actually a package
specification, as described in
pkg_info -e 'name->=1.3' will
match versions 1.3 and later of the name
- Another variant of this option that uses a pkgpath instead. A pkgpath is a
location within the ports tree, as described in
pkgpath(7). For example,
pkg_info -e x11/kde/base3 will match any package
that was compiled according to
- Show the packing-list instructions for each package. See
package(5) for the various
- Show the index entry for each package.
- Prefix file names with category keyword (e.g., @file, @lib). Always used
- Show the files within each package. This is different from just viewing
the packing-list, since full pathnames for everything are generated.
- Prefix each information category header (see
shown with str. This is primarily of use to
front-end programs that want to request a lot of different information
fields at once for a package, but don't necessarily want the output
intermingled in such a way that they can't organize it. This lets you add
a special token to the start of each field.
- Show the install-message file (if any) for each package.
- Only show packages tagged as manual installations. It should omit anything
installed automatically as a dependency.
- Show the pkgpath(7) for
each package. You can easily build a subdirlist with this.
- Show all packages in $PKG_PATH which match the given
- Be “quiet” in emitting report headers and such, just dump
the raw info (basically, assume a non-human reading).
- Show which packages require a given package.
- Check a list for a given pkgspec. The following
arguments are names of packages to verify. Exit status will be augmented
by 2 if none of the packages do match.
- Show the update signature for each package. The ‘update
signature’ is a unique tag showing the package name, and the
version number of every run time dependency and shared library used to
build this package.
- Show an estimate of the total size of each package.
- Show packages which are not required by any other packages.
- Show the deinstall-message file (if any) for each package.
- Turn on verbose output.
- Fuzzy listing option, often used together with
Only shows stems, flavors and branches information. To be reused with
-l to recreate a package installation with
different versions and no ambiguity. Note that this intentionally does not
include firmware, as they are not handled by
Package info is either extracted from package files named on the command line,
or from already installed package information in
- The standard package database directory,
/var/db/pkg, can be overridden by specifying an
alternative directory in the
- This can be used to specify a colon-separated list of paths to search for
package files. The current directory is always searched first, even if
PKG_PATH is set. If
PKG_PATH is used, the suffix “.tgz”
is automatically appended to the pkg-name, whereas
searching in the current directory uses pkg-name
- Temporary area where package information files will be extracted, instead
- Jordan Hubbard
- initial design
- complete rewrite