237 lines
7.1 KiB
Groff
237 lines
7.1 KiB
Groff
.\" $NetBSD: pkg_admin.1,v 1.35 2005/02/26 14:09:58 grant Exp $
|
|
.\"
|
|
.\" Copyright (c) 1999-2002 Hubert Feyrer. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by Hubert Feyrer for
|
|
.\" the NetBSD Project.
|
|
.\" 4. The name of the author may not be used to endorse or promote products
|
|
.\" derived from this software without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.Dd August 13, 2004
|
|
.Dt PKG_ADMIN 1
|
|
.Os
|
|
.Sh NAME
|
|
.Nm pkg_admin
|
|
.Nd perform various administrative tasks to the pkg system
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl bqSV
|
|
.Nb -words
|
|
.Op Fl d Ar lsdir
|
|
.Bk -words
|
|
.Op Fl K Ar pkg_dbdir
|
|
.Ek
|
|
.Bk -words
|
|
.Op Fl s Ar sfx_pattern
|
|
.Ek
|
|
.Ar command Op args ...
|
|
.Sh DESCRIPTION
|
|
This command performs various administrative tasks around the
|
|
.Nx
|
|
Packages System.
|
|
.Sh OPTIONS
|
|
The following command-line options are supported:
|
|
.Bl -tag -width indent
|
|
.It Fl b
|
|
Print only the basenames when matching package names for
|
|
.Cm lsall
|
|
and
|
|
.Cm lsbest .
|
|
.It Fl d Ar lsdir
|
|
Set
|
|
.Ar lsdir
|
|
as the path to the directory in which to find matching package names for
|
|
.Cm lsall
|
|
and
|
|
.Cm lsbest .
|
|
.It Fl K Ar pkg_dbdir
|
|
Set
|
|
.Ar pkg_dbdir
|
|
as the package database directory.
|
|
If this option isn't specified, then the package database directory is
|
|
taken from the value of the environment variable
|
|
.Ev PKG_DBDIR
|
|
if it's set, otherwise it defaults to
|
|
.Pa /var/db/pkg .
|
|
.It Fl q
|
|
Perform checks in a quiet manner.
|
|
In normal operation,
|
|
.Nm
|
|
prints a
|
|
.Sq \&.
|
|
to standard output to indicate progress.
|
|
This option suppresses this progress indicator.
|
|
.It Fl S
|
|
Set the shell glob pattern for package suffixes when matching package
|
|
names for
|
|
.Cm lsall
|
|
and
|
|
.Cm lsbest
|
|
to be the null suffix.
|
|
.It Fl s Ar sfx_pattern
|
|
Set the shell glob pattern for package suffixes when matching package
|
|
names for
|
|
.Cm lsall
|
|
and
|
|
.Cm lsbest .
|
|
The default pattern is ".t[bg]z".
|
|
.It Fl V
|
|
Print version number and exit.
|
|
.El
|
|
.Pp
|
|
The following commands are supported:
|
|
.Bl -tag -width indent
|
|
.It Cm add Ar pkg ...
|
|
For each listed package, write the absolute pathnames of the files listed in
|
|
its
|
|
.Pa +CONTENTS
|
|
file together with the package they belong to into the package database.
|
|
This should be used only by
|
|
.Xr pkg_view 1 .
|
|
.It Cm check Op Ar pkg ...
|
|
Use this command to check the files belonging to some or all of the
|
|
packages installed on the local machine against the checksum
|
|
which was recorded in the
|
|
.Pa +CONTENTS
|
|
files at package installation time.
|
|
Symbolic links also have their integrity checked against the recorded
|
|
value at package installation time.
|
|
If no additional argument is given, the files of all installed packages
|
|
are checked, else only the named packages will be checked (wildcards can
|
|
be used here, see
|
|
.Xr pkg_info 1 ) .
|
|
.Pp
|
|
The packages'
|
|
.Pa +CONTENTS
|
|
files will be parsed and the
|
|
checksum will be checked for every file found.
|
|
A warning message is printed if the expected checksum differs from the
|
|
checksum of the file on disk.
|
|
Symbolic links are also checked, ensuring that the targets on disk are
|
|
the same as the contents recorded at package installation time.
|
|
.It Cm delete Ar pkg ...
|
|
For each listed package, remove all file entries in the package database that
|
|
belong to the package.
|
|
This should be used only by
|
|
.Xr pkg_view 1 .
|
|
.It Cm dump
|
|
Dump the contents of the package database, similar to
|
|
.Cm pkg_info -F .
|
|
Columns are printed for the keyfield used in the pkgdb - the filename -,
|
|
and the data field - the package the file belongs to.
|
|
.It Cm lsall Ar /dir/pkgpattern
|
|
.It Cm lsbest Ar /dir/pkgpattern
|
|
List all/best package matching pattern in the given directory
|
|
.Pa /dir .
|
|
If the
|
|
.Fl d
|
|
flag is given, then that directory path overrides
|
|
.Pa /dir .
|
|
Can be used to work around limitations of /bin/sh and other
|
|
filename globbing mechanisms.
|
|
This option implements matching of
|
|
pkg-wildcards against arbitrary files and directories, useful mainly in
|
|
the build system itself.
|
|
See
|
|
.Xr pkg_info 1
|
|
for a description of the pattern.
|
|
.Pp
|
|
Example:
|
|
.Bd -literal
|
|
yui# cd /usr/pkgsrc/packages/i386ELF/All/
|
|
yui# ls unzip*
|
|
unzip-5.40.tgz unzip-5.41.tgz
|
|
yui# pkg_admin lsall 'unzip*'
|
|
/usr/pkgsrc/packages/i386ELF/All/unzip-5.40.tgz
|
|
/usr/pkgsrc/packages/i386ELF/All/unzip-5.41.tgz
|
|
yui# pkg_admin lsall 'unzip\*[Ge]5.40'
|
|
/usr/pkgsrc/packages/i386ELF/All/unzip-5.40.tgz
|
|
/usr/pkgsrc/packages/i386ELF/All/unzip-5.41.tgz
|
|
yui# pkg_admin lsall 'unzip\*[Ge]5.41'
|
|
/usr/pkgsrc/packages/i386ELF/All/unzip-5.41.tgz
|
|
yui# pkg_admin lsbest 'unzip\*[Ge]5.40'
|
|
/usr/pkgsrc/packages/i386ELF/All/unzip-5.41.tgz
|
|
yui# pkg_admin lsall /usr/pkgsrc/packages/i386ELF/All/'{mit,unproven}-pthread*'
|
|
/usr/pkgsrc/packages/i386ELF/All/mit-pthreads-1.60b6.tgz
|
|
/usr/pkgsrc/packages/i386ELF/All/unproven-pthreads-0.15.tgz
|
|
.Ed
|
|
.It Cm pmatch Ar pattern Ar pkg
|
|
Returns true if
|
|
.Ar pkg
|
|
matches
|
|
.Ar pattern ,
|
|
otherwise returns false.
|
|
.It Cm rebuild
|
|
Rebuild the package database mapping from scratch, scanning
|
|
subdirectories in
|
|
.Pa /var/db/pkg
|
|
for
|
|
.Pa +CONTENTS
|
|
files, parsing them and writing the resulting absolute pathnames
|
|
together with the package they belong to into the package database.
|
|
.Pp
|
|
This option is intended to be used for upgrading from non-pkgdb-pkg_*
|
|
tools to pkgdb-pkg_* tools, further manipulation of the pkgdb will be
|
|
done by
|
|
.Xr pkg_add 1 ,
|
|
.Xr pkg_delete 1 ,
|
|
and
|
|
.Xr pkg_create 1 .
|
|
.Pp
|
|
Needs to be run as root.
|
|
.Pp
|
|
.El
|
|
.Sh ENVIRONMENT
|
|
.Bl -tag -width indent -compact
|
|
.It Ev PKG_DBDIR
|
|
If the
|
|
.Fl K
|
|
flag isn't given, then
|
|
.Ev PKG_DBDIR
|
|
is the location of the package database directory.
|
|
The default package database directory is
|
|
.Pa /var/db/pkg .
|
|
.El
|
|
.Sh FILES
|
|
.Bl -tag -width /var/db/pkg/pkgdb.byfile.db -compact
|
|
.It Pa /var/db/pkg/pkgdb.byfile.db
|
|
.It Pa /var/db/pkg/\*[Lt]pkg\*[Gt]/+CONTENTS
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr pkg_add 1 ,
|
|
.Xr pkg_create 1 ,
|
|
.Xr pkg_delete 1 ,
|
|
.Xr pkg_info 1 ,
|
|
.Xr pkg_view 1 ,
|
|
.Xr packages 7
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
command first appeared in
|
|
.Nx 1.4 .
|
|
.Sh AUTHORS
|
|
The
|
|
.Nm
|
|
command was written by Hubert Feyrer.
|