xbps/bin/xbps-bin/xbps-bin.8.txt

226 lines
7.5 KiB
Plaintext

XBPS-BIN(8)
===========
NAME
----
xbps-bin - XBPS command for binary packages
SYNOPSIS
--------
*xbps-bin* ['options'] 'target' ['pkgname']
DESCRIPTION
-----------
The xbps-bin(8) command is used to handle binary packages created
for the *XBPS binary package system*. You can use it to install, remove,
list or show information about any binary package. Binary packages can
be installed from local ('directory') or remote repositories ('http',
'https' or 'ftp'), see xbps-repo(8) for information about repositories.
OPTIONS
-------
*-c* 'cachedir'::
Sets the 'cache' directory to store downloaded binary packages
from remote repositories.
By default it's set to '/var/cache/xbps' and it's always relative
to the 'root' directory. So if you use a 'rootdir' of '/blah',
it will become '/blah/cachedir'.
*-f*::
Used currently in the 'purge', 'reconfigure' and 'remove' targets.
If set, package(s) will be reconfigured regardless of its state if working
with the 'reconfigure target, or to force removal of package files
even if its hash doesn't match in the 'purge' and 'remove' targets.
*-p*::
Used currently in the 'remove' and 'autoremove' targets, if enabled
after removing a package it is also purged.
*-r* 'rootdir'::
Sets the 'root' directory. By default the root directory is
set to '/'. Please note that the database directory is always
set to '/var/db/xbps' independently of 'rootdir'. So if you
use a 'rootdir' of '/blah', metadata stuff will go into
'/blah/var/db/xbps'.
*-v*::
Shows verbose messages. Useful while installing and removing packages.
*-y*::
Assume "yes" to all questions. This will bypass all questions and
immediately proceed with the task, use this option with care.
*-V*::
Shows the current XBPS release version (library and code).
TARGETS
-------
Please note that all targets are *case insensitive*.
*autoremove*::
Removes 'leaf' packages. 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'.
*autoupdate*::
Updates all currently installed packages to the most newer version
available in repository pool.
*check 'pkgname(s)' | 'all'*::
Checks for integrity errors in installed packages. The checks
are to found missing run-time dependencies, missing and modified
package files and metadata files. If the *all* keyword is used,
'all' packages currently installed will be checked, otherwise only
*pkgname*.
*install 'pkgname(s)' | 'pkgpattern(s)'*::
Install binary package(s) from repository pool by specifying
"*pkgname(s)*" or "*package pattern(s)*".
The first repository matching the arguments will be used.
The package(s) will be 'download' (if working with
a remote repository), 'unpacked' and 'configured'. The 'unpack stage will
execute the *pre-install* action on its *INSTALL* script, and unpack its files.
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.
*list*::
Lists all currently installed packages.
*list-manual*::
Lists packages that were installed 'manually' by the user, i.e
not as dependencies of any other package.
*purge 'pkgname' | 'all'*::
Purge an installed package, *pkgname* or *all* packages. The 'purge'
stage runs the *post-remove* action set in the *REMOVE* script in its
metadata directory ( /var/db/xbps/metadata/'pkgname' ) and will
remove configuration (if they were not modified by the user) and
metadata files. The package will be fully removed from the system once
it has been *purged*. If *-f* option is used, configuration files
that have been modified *WILL BE REMOVED, BEWARE WITH THIS!*.
*reconfigure 'pkgname' | '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 'all' keyword can be used to reconfigure all
not configured packages. If *-f* option is used, the package will be
reconfigured even if its state is already *installed*.
*remove 'pkgname(s)'*::
Removes the installed package 'pkgname(s)'. Its files will be removed
and its state will be changed to *config-files* in the package
database. Configuration files, its metadata directory/files and
its information in the package database are preserved. To fully remove
a package in *config-files* state, it must be *purged* with the
*purge* command. If *-f* option is used, package files will be removed
even if its SHA256 hash doesn't match.
*show 'pkgname'*::
Shows information for installed package 'pkgname'. This will print
the size it takes in filesystem, description, maintainer, architecture
and other information.
*show-deps 'pkgname'*::
Shows the list of dependencies that 'pkgname' requires at run time.
*show-files 'pkgname'*::
Shows the list of files that 'pkgname' contains.
*show-revdeps 'pkgname'*::
Shows the reverse dependencies for 'pkgname'. Reverse dependencies
are packages that are currently depending in 'pkgname' directly.
*update 'pkgname(s)'*::
Updates 'pkgname(s)' to the most newer version available in repository
pool. This can be used if only 'pkgname(s)' needs to be updated, unlike
the *autoupdate* target that will update all currently installed
packages.
PACKAGE STATES
--------------
A package can be in a different state while it is being installed, removed,
unpacked, configured or purged. The following states are available:
*installed*::
The package is fully installed, that means it was unpacked and
configured correctly.
*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.
*config-files*::
The package has been removed but configuration files and its metadata
directory are still available (and it is still registered
in the package database). You can 'purge' safely packages that are
in this state, modified configuration files will be preserved.
FILES
-----
*/var/db/xbps*:: xbps global _metadata_ directory.
+
*/var/db/xbps/metadata/<pkgname>*:: Installed package metadata directory.
+
*/var/db/xbps/metadata/<pkgname>/files.plist*:: Installed package metadata list of files.
+
*/var/db/xbps/metadata/<pkgname>/prop.plist*:: Installed package metadata properties.
+
*/var/db/xbps/regpkgdb.plist*:: Registered packages plist database.
+
*/var/cache/xbps*:: xbps _cache_ directory for downloaded binary packages.
+
EXAMPLES
--------
*Install a package by specifying its name:*::
$ xbps-bin install foo
*Install a package by specifying a package pattern:*::
$ xbps-bin install "*foo>=3.0*"
*Install multiple packages by specifying names and package patterns:*::
$ xbps-bin install foo "*blah<=4.0*" baz-2.0 "*blob>4.[0-9]*"
BUGS
----
Probably, but I try to make this not happen. Use it under your own
responsability and enjoy your life.
Report bugs in '<http://code.google.com/p/xbps>'.
SEE ALSO
--------
link:xbps-repo.8.html[xbps-repo(8)], link:xbps-src.8.html[xbps-src(8)]
The XBPS project: '<http://code.google.com/p/xbps>'
To build binary packages, the xbps-src(8) shell script is the command
designed for this task. This must be retrieved from a Mercurial repository,
available at '<http://xbps-src.xbps.googlecode.com/hg/>'.
AUTHORS
-------
The *XBPS binary package system* has been designed and implemented by
Juan Romero Pardines <xtraeme@gmail.com>.