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
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
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 pkg_info
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 packages.
- 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
For example, 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 together with -L.
- Show the files within each package. This is different from
just viewing the packing-list, since full pathnames for everything are
- Prefix each information category header (see
-q) 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
- 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,
a global version number, 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
- Show the deinstall-message file (if any) for each
- Turn on verbose output.
- Fuzzy listing option, often used together with
-m. 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
- The standard package database directory,
/var/db/pkg, can be overridden by specifying
an alternative directory in the
PKG_DBDIR environment variable.
- 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 of /var/tmp.
Package info is either extracted from package files named on the command line,
or from already installed package information in
- Jordan Hubbard
- initial design
- complete rewrite