mirror of
https://github.com/moparisthebest/pacman
synced 2024-11-17 23:05:00 -05:00
b6f3fe6957
After adding a alpm_db_check() operation in the back end, we can call it in the front end and present a user-friendly interface to it. Inspired-by: VMiklos <vmiklos@frugalware.org> Signed-off-by: Dan McGee <dan@archlinux.org>
298 lines
11 KiB
Groff
298 lines
11 KiB
Groff
." the string declarations are a start to try and make distro independent
|
|
.ds DS Arch Linux
|
|
.ds PB PKGBUILD
|
|
.ds VR 3.0.0
|
|
.ds LV 1.0.0
|
|
.TH pacman 8 "Feb 07, 2007" "pacman version \*(VR" "\*(DS Utilities"
|
|
.SH NAME
|
|
pacman \- package manager utility
|
|
|
|
.SH SYNOPSIS
|
|
.B pacman
|
|
<\fIoperation\fR> [\fIoptions\fR] [\fIpackages\fR]
|
|
|
|
.SH DESCRIPTION
|
|
\fBpacman\fP is a \fIpackage management\fP utility that tracks installed
|
|
packages on a Linux system. It features dependency support, package groups,
|
|
install and uninstall hooks, and the ability to sync your local machine with a
|
|
remote ftp server to automatically upgrade packages. \fBpacman\fP packages are
|
|
a zipped tar format.
|
|
|
|
Since version 3.0.0, \fBpacman\fP has been the frontend to \fBlibalpm\fP, the
|
|
"Arch Linux Package Management" library. This library allows alternative front
|
|
ends to be written (for instance, a GUI front end).
|
|
|
|
.SH OPERATIONS
|
|
.TP
|
|
.B \-A, --add (deprecated)
|
|
Add a package to the system. Either a URL or file path can be specified. The
|
|
package will be uncompressed into the installation root and the database will
|
|
be updated. The package will not be installed if another version is already
|
|
installed. NOTE: please use \fB--upgrade\fP in place of this option.
|
|
.TP
|
|
.B \-F, --freshen
|
|
This is like \fB--upgrade\fP except it will only upgrade packages already
|
|
installed on the system.
|
|
.TP
|
|
.B \-Q, --query
|
|
Query the package database. This operation allows you to view installed
|
|
packages and their files, as well as meta-information about individual packages
|
|
(dependencies, conflicts, install date, build date, size). This can be run
|
|
against the local package database or can be used on individual .tar.gz
|
|
packages. See \fBQUERY OPTIONS\fP below.
|
|
.TP
|
|
.B \-R, --remove
|
|
Remove a package from the system. Files belonging to the specified package
|
|
will be deleted, and the database will be updated. Most configuration files
|
|
will be saved with a \fI.pacsave\fP extension unless the \fB--nosave\fP option
|
|
is used. See \fBREMOVE OPTIONS\fP below.
|
|
.TP
|
|
.B \-S, --sync
|
|
Synchronize packages. Packages are installed directly from the ftp servers,
|
|
including all dependencies required to run the packages. For example,
|
|
\fBpacman -S qt\fP will download and install \fBqt\fP and all the packages it
|
|
depends on. You can also use \fBpacman -Su\fP to upgrade all packages that are
|
|
out of date. See \fBSYNC OPTIONS\fP below.
|
|
.TP
|
|
.B \-U, --upgrade
|
|
Upgrade or add a package to the system. Either a URL or file path can be
|
|
specified. This is a "remove-then-add" process. See \fBHANDLING CONFIG
|
|
FILES\fP for an explanation on how pacman takes care of config files.
|
|
.TP
|
|
.B \-V, --version
|
|
Display version and exit.
|
|
.TP
|
|
.B \-h, --help
|
|
Display syntax for the given operation. If no operation was supplied then the
|
|
general syntax is shown.
|
|
|
|
.SH OPTIONS
|
|
.TP
|
|
.B \--ask \fInumber\fP
|
|
Pre-specify answers to questions. It is doubtful whether this option even
|
|
works, so I would not recommend using it. TODO: document this more, as I have
|
|
no idea how it works or when you would use it, or if we should just dump it.
|
|
.TP
|
|
.B \-b, --dbpath \fIpath\fP
|
|
Specify an alternative database location (default is "/var/lib/pacman/"). This
|
|
should not be used unless you know what you are doing.
|
|
.TP
|
|
.B \-d, --nodeps
|
|
Skips all dependency checks. Normally, pacman will always check a package's
|
|
dependency fields to ensure that all dependencies are installed and there are
|
|
no package conflicts in the system.
|
|
.TP
|
|
.B \-f, --force
|
|
Bypass file conflict checks and overwrite conflicting files. If the package
|
|
that is about to be installed contains files that are already installed, this
|
|
option will cause all those files to be overwritten. This option should be
|
|
used with care, ideally not at all.
|
|
.TP
|
|
.B \-r, --root \fIpath\fP
|
|
Specify an alternative installation root (default is "/"). This should
|
|
\fInot\fP be used as a way to install software into /usr/local instead of /usr.
|
|
This option is used if you want to install a package on a temporary mounted
|
|
partition which is "owned" by another system. By using this option you not only
|
|
specify where the software should be installed, but you also specify which
|
|
package database and cache location to use.
|
|
.TP
|
|
.B \-v, --verbose
|
|
Output more status messages, such as the Root and DBPath.
|
|
.TP
|
|
.B \--cachedir \fIdir\fP
|
|
Specify an alternative package cache location (default is
|
|
"/var/cache/pacman/pkg/"). This should not be used unless you know what you are
|
|
doing.
|
|
.TP
|
|
.B \--config \fIfilepath\fP
|
|
Specify an alternate configuration file.
|
|
.TP
|
|
.B \--noconfirm
|
|
Bypass any and all "Are you sure?" messages. It's not a good idea to do this
|
|
unless you want to run pacman from a script.
|
|
.TP
|
|
.B \--noprogressbar
|
|
Do not show a progress bar when downloading files. This can be useful for
|
|
scripts that call pacman and capture the output.
|
|
.TP
|
|
.B \--noscriptlet
|
|
If an install scriptlet exists, do not execute it. Do not use this unless you
|
|
know what you are doing.
|
|
|
|
.SH QUERY OPTIONS
|
|
.TP
|
|
.B \-c, --changelog
|
|
View the ChangeLog of a package. Not every package will provide one but it
|
|
will be shown if available.
|
|
.TP
|
|
.B \-e, --orphans
|
|
List all packages that were pulled in by a previously installed package but no
|
|
longer required by any installed package.
|
|
.TP
|
|
.B \-g, --groups
|
|
Display all packages that are members of a named group. If not name is
|
|
specified, list all grouped packages.
|
|
.TP
|
|
.B \-i, --info
|
|
Display information on a given package. The \fB-p\fP option can be used if
|
|
querying a package file instead of the local database.
|
|
.TP
|
|
.B \-l, --list
|
|
List all files owned by a given package. Multiple packages can be specified on
|
|
the command line.
|
|
.TP
|
|
.B \-m, --foreign
|
|
List all packages that were not found in the sync database(s). Typically these
|
|
are packages that were downloaded manually and installed with \fB--upgrade\fP.
|
|
.TP
|
|
.B \-o, --owns \fIfile\fP
|
|
Search for the package that owns \fIfile\fP.
|
|
.TP
|
|
.B \-p, --file
|
|
Signifies that the package supplied on the command line is a file and not an
|
|
entry in the database. The file will be decompressed and queried. This is
|
|
useful in combination with \fB--info\fP and \fB--list\fP.
|
|
.TP
|
|
.B \-s, --search \fIregexp\fP
|
|
This will search each locally-installed package for names or descriptions that
|
|
matche \fIregexp\fP.
|
|
.TP
|
|
.B \-t, --test
|
|
Test the consistancy of the local pacman database, and alert you of any
|
|
problems found while searching. Returns 0 on success, >0 otherwise.
|
|
.TP
|
|
.B \-u, --upgrades
|
|
Lists all packages that are out of date on the local system. This option works
|
|
best if the sync database is refreshed using \fB-Sy\fP.
|
|
|
|
.SH REMOVE OPTIONS
|
|
.TP
|
|
.B \-c, --cascade
|
|
Remove all target packages, as well as all packages that depend on one or more
|
|
target packages. This operation is recursive.
|
|
.TP
|
|
.B \-k, --keep
|
|
Removes the database entry only. Leaves all files in place.
|
|
.TP
|
|
.B \-n, --nosave
|
|
Instructs pacman to ignore file backup designations. Normally, when a file is
|
|
removed from the system the database is checked to see if the file should be
|
|
renamed with a .pacsave extension.
|
|
.TP
|
|
.B \-s, --recursive
|
|
Remove each target specified including all dependencies, provided that (A) they
|
|
are not required by other packages; and (B) they were not explicitly installed
|
|
by the user. This option is analogous to a backwards \fB--sync\fP operation.
|
|
|
|
.SH SYNC OPTIONS
|
|
.TP
|
|
.B \-c, --clean
|
|
Remove old packages from the cache to free up disk space. When \fBpacman\fP
|
|
downloads packages, it saves them in \fI/var/cache/pacman/pkg\fP. Use one
|
|
\fB--clean\fP switch to remove \fIold\fP packages; use two to remove \fIall\fP
|
|
packages from the cache.
|
|
.TP
|
|
.B \-e, --dependsonly
|
|
Install all dependencies of a package, but not the specified package itself.
|
|
This is pretty useless and we're not sure why it even exists.
|
|
.TP
|
|
.B \-g, --groups
|
|
Display all the members for each package group specified. If no group names
|
|
are provided, all groups will be listed; pass the flag twice to view all
|
|
groups and their members.
|
|
.TP
|
|
.B \-i, --info
|
|
Display dependency and other information for a given package. This will search
|
|
through all repositories for a matching package.
|
|
.TP
|
|
.B \-l, --list
|
|
List all packages in the specified repositories. Multiple repositories can be
|
|
specified on the command line.
|
|
.TP
|
|
.B \-p, --print-uris
|
|
Print out URIs for each package that will be installed, including any
|
|
dependencies yet to be installed. These can be piped to a file and downloaded
|
|
at a later time, using a program like wget.
|
|
.TP
|
|
.B \-s, --search \fIregexp\fP
|
|
This will search each package in the sync databases for names or descriptions
|
|
that match \fIregexp\fP.
|
|
.TP
|
|
.B \-u, --sysupgrade
|
|
Upgrades all packages that are out of date. Each currently-installed package
|
|
will be examined and upgraded if a newer package exists. A report of all
|
|
packages to upgrade will be presented and the operation will not proceed
|
|
without user confirmation. Dependencies are automatically resolved at this
|
|
level and will be installed/upgraded if necessary.
|
|
.TP
|
|
.B \-w, --downloadonly
|
|
Retrieve all packages from the server, but do not install/upgrade anything.
|
|
.TP
|
|
.B \-y, --refresh
|
|
Download a fresh copy of the master package list from the server(s) defined in
|
|
\fBpacman.conf\fP. This should typically be used each time you use
|
|
\fB--sysupgrade\fP or \fB-u\fP. Passing two \fB--refresh\fP or \fB-y\fP flags
|
|
will force a refresh of all package lists even if they are thought to be
|
|
up to date.
|
|
.TP
|
|
.B \--ignore \fIpackage\fP
|
|
Directs \fBpacman\fP to ignore upgrades of \fIpackage\fP even if there is one
|
|
available.
|
|
|
|
.SH HANDLING CONFIG FILES
|
|
pacman uses the same logic as rpm to determine action against files that are
|
|
designated to be backed up. During an upgrade, 3 md5 hashes are used for each
|
|
backup file to determine the required action: one for the original file
|
|
installed, one for the new file that's about to be installed, and one for the
|
|
actual file existing on the filesystem. After comparing these 3 hashes, the
|
|
follow scenarios can result:
|
|
.TP
|
|
original=\fBX\fP, current=\fBX\fP, new=\fBX\fP
|
|
All three files are the same, so overwrites are not an issue Install the new
|
|
file.
|
|
.TP
|
|
original=\fBX\fP, current=\fBX\fP, new=\fBY\fP
|
|
The current file is the same as the original but the new one differs. Since
|
|
the user did not ever modify the file, and the new one may contain improvements
|
|
or bugfixes, install the new file.
|
|
.TP
|
|
original=\fBX\fP, current=\fBY\fP, new=\fBX\fP
|
|
Both package versions contain the exact same file, but the one on the
|
|
filesystem has been modified. Leave the current file in place.
|
|
.TP
|
|
original=\fBX\fP, current=\fBY\fP, new=\fBY\fP
|
|
The new file is identical to the current file. Install the new file.
|
|
.TP
|
|
original=\fBX\fP, current=\fBY\fP, new=\fBZ\fP
|
|
All three files are different, so install the new file with a .pacnew extension
|
|
and warn the user. The user must then manually merge any necessary changes into
|
|
the original file.
|
|
|
|
.SH CONFIGURATION
|
|
See
|
|
.BR pacman.conf (5)
|
|
for more details on configuring \fBpacman\fP using the \fBpacman.conf\fP file.
|
|
|
|
.SH BUGS
|
|
Bugs? You must be kidding, there are no bugs in this software. But if we happen
|
|
to be wrong, send us an email with as much detail as possible to
|
|
<pacman-dev@archlinux.org>.
|
|
|
|
.SH SEE ALSO
|
|
.BR pacman.conf (5),
|
|
.BR makepkg (8),
|
|
.BR libalpm (3)
|
|
|
|
See the Arch Linux website at <http://www.archlinux.org> for more current
|
|
information on the distribution and the \fBpacman\fP family of tools.
|
|
|
|
.SH AUTHORS
|
|
.nf
|
|
Judd Vinet <jvinet@zeroflux.org>
|
|
Aurelien Foret <aurelien@archlinux.org>
|
|
Aaron Griffin <aaron@archlinux.org>
|
|
Dan McGee <dan@archlinux.org>
|
|
.fi
|
|
|
|
See the 'AUTHORS' file for additional contributors.
|