Manpage of 'pkg_which' on UHLU - BSD System Documentation,
Programming Reference, Manual Pages and Source Code
All manual pages         All RFC pages
Common page
for pkg_which
Other pages
for pkg_which
More pages
containing pkg_which

Section 1 manual page or howto for 'pkg_which'  

PKGDB(1)		FreeBSD General Commands Manual 	      PKGDB(1)

NAME
     pkgdb, pkg_which -- tools to manage and search the package database

SYNOPSIS
     pkgdb [-ahfFiLOQQquv] [-o pkgname] [-s /old/new/]
     pkg_which [-hQQq] [-c pkgname] [file] ...

DESCRIPTION
     The pkgdb command is a tool to create or update the system package data-
     base which is used by the portupgrade(1) tool suite.  It maintains a hash
     that maps an installed file to a package name, a hash that maps a package
     to an origin, and a list of installed packages.

     pkg_which looks in the package database to tell which package each speci-
     fied file came from.  If the database is outdated but you do not have
     permission to update it, it delegates tasks to pkg_info(1).

     Actually, pkgdb and pkg_which are the same command, and are equivalent.

     The pkgdb command also works as an interactive tool for fixing the pack-
     age registry database when -F is specified.  It helps you resolve stale
     dependencies, unlink cyclic dependencies, complete stale or missing ori-
     gins and remove duplicates.  You should run this command periodically so
     portupgrade(1) and other pkg_* tools can work effectively and reliably.

OPTIONS
     The following command line arguments are supported:

     file	   Inquire which package file came from.  If the file is not
		   present, pkg_which calls which(1) to search PATH for the
		   file.

     -h
     --help	   Show help and exit.

     -a
     --auto	   Turn on automatic mode when -F is also specified.  pkgdb
		   only fixes discrepancies that can be fixed securely and
		   leaves the others.

     --autofix	   Shorthand of --auto --fix (-aF).

     -c PKGNAME
     --collate PKGNAME
		   Show files installed by the given package that have been
		   overwritten by other packages.

     -f
     --force	   Force; Specified with -u, update database regardless of
		   timestamps.	Specified with -F, fix "held" packages too.

     -F
     --fix	   Interactively fix the package registry database.

     -i
     --interactive
		   Turn on interactive mode.

     -L
     --fix-lost    Check and restore lost dependencies against the ports tree.

     -o PKGNAME
     --origin PKGNAME
		   Look up the origin of the given package in the package
		   database.

     -O
     --omit-check  Specified with -F, turn off check dependencies against the
		   ports tree.	Useful if you need a speed-up.

     -Q
     --quiet	   Do not write anything to stdout.  Specified twice, do not
		   write anything to stderr either.  This is for internal use.

     -q
     --noconfig    Do not read the configuration file -
		   $PREFIX/etc/pkgtools.conf.

     -s /OLD/NEW/
     --substitute /OLD/NEW/
		   Substitute all the dependencies recorded as OLD with NEW
		   and exit.

     -u
     --update	   Update or create the package database file pkgdb.db in
		   $PKG_DBDIR, which is /var/db/pkg by default.

		   Note: if the ports database files are stale, pkgdb will
		   automatically update them before proceeding, so manual
		   updating is not mandatory.

     -v
     --verbose	   Turn on verbose output.

EXAMPLES
     o	 Get a list of files under /usr/local and /usr/X11R6 that do not

	 belong to any package:

	       find /usr/local /usr/X11R6 -type f | xargs pkg_which -v | fgrep
	       '?'

ENVIRONMENT
     PKG_DBDIR	    Alternative location for the installed package database.
		    Default is ``/var/db/pkg''.

     PORTSDIR	    Alternative location for the ports tree.  Default is
		    ``/usr/ports''.

     PORTS_INDEX    Alternative location for the ports INDEX file.  Default is
		    ``$PORTSDIR/INDEX''.

     PORTS_DBDIR    Alternative location for the ports database files.
		    Default is ``$PORTSDIR''.  The database files in the
		    directory are automatically created or updated as neces-
		    sary.  See portsdb(1) for details.

     PKGTOOLS_CONF  Configuration file for the pkgtools suite.	Default is
		    ``$PREFIX/etc/pkgtools.conf''.

FILES
     /var/db/pkg		Default location of the package database.

     $PREFIX/etc/pkgtools.conf	Default location of the pkgtools configuration

				file.

SEE ALSO
     portsclean(1), portsdb(1), portupgrade(1), pkgtools.conf(5), ports(7)

HISTORY
     The idea of pkgdb.db was taken from NetBSD.

AUTHORS
     Akinori MUSHA <knu@iDaemons.org>
     Sergey Matveychuk <sem@FreeBSD.org>

BUGS
     Sometimes a database may get corrupt, and the pkgtools commands may abort
     with a segmentation fault.  In such cases, run ``pkgdb -fu'' to rebuild
     the database, and the problems should go away.

FreeBSD 		      September 22, 2001		       FreeBSD

NAME - SYNOPSIS - DESCRIPTION - OPTIONS - EXAMPLES - ENVIRONMENT - 
FILES - SEE ALSO - HISTORY - AUTHORS - BUGS -  
All manual pages         All RFC pages
Common page
for pkg_which
Other pages
for pkg_which
More pages
containing pkg_which
A random manual page         All manual pages        All RFC pages