xbps/bin/xbps-bin/xbps-bin.8
2012-10-02 02:49:10 -06:00

356 lines
10 KiB
Groff

.Dd September 24, 2012
.Os Void GNU/Linux
.Dt xbps-bin 8
.Sh NAME
.Nm xbps-bin
.Nd XBPS command for binary packages
.Sh SYNOPSYS
.Nm xbps-bin
.Op options
.Op target
.Op pkgname(s)|pkgpattern(s)
.Sh DESCRIPTION
The
.Nm
command is used to handle binary packages created for the XBPS binary
package system. You can use it to install, remove, update, list or show information
about any binary package. Binary packages can be installed from
.Em local
(directories)
or
.Em remote
repositories (http, https or ftp), see
.Xr xbps-repo 8
for information about repositories.
.Sh OPTIONS
.Bl -tag -width Fl
.It Fl A
Sets the
.Em automatic-install
boolean object for a package, therefore explicitly
setting that the package was installed as if it were a dependency, even if it is not.
Use of this option takes effect in the
.Em dist-upgrade ,
.Em install
and
.Em update
targets.
Targetted packages and its required dependencies will be matched.
.It Fl B Ar repository
If a configuration file cannot be found, this repository will be used as
as primary source to install packages.
.It Fl C Ar conffile
Full path to the XBPS configuration file. By default set to
.Pa /etc/xbps/xbps.conf .
.It Fl c Ar cachedir
Sets the
.Em cache
directory to store downloaded binary packages from remote
repositories. By default set to
.Pa /var/cache/xbps .
.It Fl d
Enables extra debugging output to be shown to stderr.
.It Fl D
Only show the URLs to download the binary packages from repositories. This is
useful if you want to download them by other means, and later you can move
them to the cachedir to start the installation. This option can be used for
the install, update and dist-upgrade targets.
.It Fl F
Used currently in the
.Em remove
target. If set, package will be removed even if other packages are currently
depending on it, i.e package is a dependency of any other installed package.
.It Fl f
Used currently in the
.Em install ,
.Em reconfigure
and
.Em remove
targets. If set, package(s) will be reconfigured regardless of its state in
.Em reconfigure
target, or to
.Em force
removal of package files even if its hash does not match in the
.Em remove
target. If set, package(s) will be reinstalled even if its state is
.Em installed
when used with the
.Em install
target.
.It Fl M
Sets the
.Em automatic-install
boolean object for package to false, therefore
explicitly setting that package was installed manually by the user. Use of this
option takes effect in the
.Em dist-upgrade ,
.Em install
and
.Em update
targets
and target packages and its required dependencies will be matched.
.It Fl n
Enables dry-run mode.
To show the actions that would be executed in a transaction.
This mode takes effect in the
.Em remove-orphans ,
.Em dist-upgrade ,
.Em install ,
.Rm remove
and
.Em update
targets.
.It Fl o Ar key Op key2,...
Used currently in the
.Em show
target. Prints the value of specified key(s) from
package's properties dictionary. Multiple keys can be specified delimited by
the comma character.
.It Fl R
Used currently in the
.Em remove
target. If set, recursively removes packages that
are not required by any other installed package and that were installed by
the package that we want to remove.
.It Fl r Ar rootdir
Sets the
.Em root
directory. By default the root directory is set to
.Em / .
Please note that the database directory is always set to
.Pa /var/db/xbps
independently of rootdir setting. So if you use a rootdir of
.Pa /blah ,
metadata stuff will go into
.Pa /blah/var/db/xbps .
.It Fl S
Sync remote repository index files before executing the target.
Used currently in the
.Em dist-upgrade ,
.Em install
and
.Em update
targets.
.It Fl v
Shows verbose messages. Useful while installing and removing packages.
.It Fl y
Assume
.Em yes
to all questions. This will bypass all questions and immediately proceed
with the task.
.It Fl V
Shows the current XBPS release version (version, API, index).
.Sh TARGETS
Please note that all targets are case insensitive.
.Pp
.Bl -tag -width ident
.It Sy check Ar pkgname | Ar all
Checks for integrity errors in installed packages. The checks are to find
missing run-time dependencies, missing and modified package files and
metadata files. If the
.Em all
keyword is used, all packages currently installed
will be checked, otherwise just pkgname.
.It Sy dist-upgrade
Updates all currently installed packages to the newest version available in
all repositories.
.It Sy find-files Ar pattern Ar [patterns ...]
Prints the name of the installed
.Em package(s)
matching the pattern on its file list. Multiple patterns can be specified
as arguments.
.It Sy install Ar pattern Ar [patterns ...]
Install binary package(s) from repository pool by specifying a
.Em pattern .
Three different ways exist to install packages: by specifying just the
.Em package name ,
the best available version from repositories will be installed; by specifying a
.Em package pattern
with '>' '<' '>=' or '<='
.Em ( foo>=2.0 )
or by specifying an exact package version, i.e
.Em ( foo-1.0_1) .
The first repository matching
.Em pattern
will be used. The package(s) will be
.Em downloaded
(if found in a remote repository),
.Em unpacked
and
.Em configured .
The
.Em unpack
stage will execute the pre-install action on its INSTALL script, and unpack its files.
The
.Em configure
stage will run the post-install action set on its INSTALL script and will change its
.Em state
to installed in the package database.
.It Sy list Op state
Lists all currently installed packages. Optionally another argument can be specified
to list only packages with the specified
.Op state .
By default only packages fully installed will be listed if
.Em state
has not been specified. Accepted states are:
.Em half-removed ,
.Em half-unpacked ,
.Em installed
and
.Em unpacked .
.It Sy list-manual
Lists packages that were installed manually by the user, i.e not as dependencies
of any other package.
.It Sy reconfigure Ar pkgname | Ar all
Reconfigure an unpacked package. Packages in this state are not fully installed,
because they were not configured for whatever reason. The configure stage will
run the post-install action set on its INSTALL script and will change its state
to installed in the package database. The
.Em all
keyword can be used to reconfigure all not configured packages. If
.Ql -f
option is used, the package will be reconfigured even if its state is already installed.
.It Sy remove Ar pkgname Ar [pkgnames ...]
Removes the installed package
.Em pkgname(s) .
Files not matching the original SHA256 hash will be preserved. If
.Ql -f
option is used, package files will be
.Em removed even if its SHA256 hash don't match .
If
.Ql -F
option is used, package will be removed even if there are
.Em installed reverse dependencies .
.It Sy remove-orphans
Removes package orphans. These packages were installed as dependencies and
currently there is not any package depending on it, directly or indirectly.
Usually it is safe to always answer yes.
.It Sy show Ar pkgname
Shows information for installed package
.Em pkgname .
This will print the size it takes in filesystem, description, maintainer,
architecture and other useful information.
.It Sy show-deps Ar pkgname
Shows the list of dependencies that
.Em pkgname
requires at run time.
.It Sy show-files Ar pkgname
Shows the list of files that
.Em pkgname
contains.
.It Sy show-orphans
Shows the list of package orphans currently installed. Package orphans are
packages that were installed as dependencies of another package, but no other
package currently depends on.
.It Sy show-revdeps Ar pkgname
Shows the reverse dependencies for
.Em pkgname .
Reverse dependencies are packages that are currently depending in
.Em pkgname
directly.
.It Sy update Ar pkgname Ar [pkgnames ...]
Updates
.Em pkgname
to the newest version available in repository pool. This can be used if only
.Em pkgname
need to be updated, unlike the
.Em dist-upgrade
target that will update all currently installed packages.
.Sh PACKAGE STATES
A package can be in a different state while it is being
.Em installed ,
.Em removed ,
.Em unpacked
or
.Em configured .
The following states are available:
.Bl -tag -width ident
.It Sy installed
The package is fully installed, that means it was unpacked and configured correctly.
.It Sy half-unpacked
The package was being unpacked but didn't finish properly for unknown reasons.
.It Sy unpacked
The package has been unpacked in destination root directory, but it is not fully
installed because it was not yet configured. Please note that some packages will
do not work if they are only unpacked.
.It Sy half-removed
The package removal did not finish for unknown reasons (power outage, process killed, etc).
The
.Em purge
action in its metadata REMOVE script has not been yet executed. The package
metadata directory is still available and it is registered in package database.
Packages in this state can be still removed.
.Sh FILES
.Bl -tag -width /var/db/xbps/metadata/<pkgname>/props.plist -compact
.It Pa /etc/xbps/xbps.conf
Default XBPS configuration file.
.It Pa /var/db/xbps
XBPS global metadata directory.
.It Pa /var/db/xbps/metadata/<pkgname>/files.plist
Installed package metadata list of files.
.It Pa /var/db/xbps/metadata/<pkgname>/props.plist
Installed package metadata properties.
.It Pa /var/db/xbps/pkgdb.plist
XBPS master package database plist file.
.It Pa /var/cache/xbps
XBPS cache directory for downloaded binary packages.
.Sh EXAMPLES
Install best package version by specifying a
.Em pkgname :
.Pp
.Dl $ xbps-bin install foo
.Pp
Install a package by specifying a
.Em package pattern :
.Pp
.Dl $ xbps-bin install \*qfoo>=3.0\*q
.Pp
Install an exact
.Em package version :
.Pp
.Dl $ xbps-bin install foo-1.0_1
.Pp
Install multiple packages by specifying
.Em pkgnames
and
.Em package patterns
and
.Em exact package versions :
.Pp
.Dl $ xbps-bin install foo \*qblah<=4.0\*q baz-2.0_1 \*qblob>1.0<1.8\*q
.Pp
Find the package that owns the file
.Pa /bin/mount :
.Pp
.Dl $ xbps-bin find-files /bin/mount
.Pp
Find the packages that match the pattern
.Pa "/usr/lib/libav*" :
.Pp
.Dl $ xbps-bin find-files \*q/usr/lib/libav*\*q
.Pp
Remove the package
.Em proplib-devel
without confirmation:
.Pp
.Dl $ xbps-bin -y remove proplib-devel
.Pp
Remove the package
.Em bsdtar
and
.Em recursively
all packages that were installed automatically by it:
.Pp
.Dl $ xbps-bin -Ry remove bsdtar
.Pp
.Sh SEE ALSO
.Xr xbps-repo 8 ,
.Xr http://code.google.com/p/xbps
.Sh AUTHORS
.An Juan Romero Pardines <xtraeme@gmail.com>
.Sh BUGS
Probably, but I try to make this not happen. Use it under your own
responsability and enjoy your life.
.Pp
Report bugs in http://code.google.com/p/xbps.