2007-07-06 16:54:18 -04:00
|
|
|
/////
|
|
|
|
vim:set ts=4 sw=4 syntax=asciidoc noet:
|
|
|
|
/////
|
2007-07-02 19:22:01 -04:00
|
|
|
pacman(8)
|
2007-07-01 17:58:46 -04:00
|
|
|
=========
|
|
|
|
|
2007-07-02 16:30:39 -04:00
|
|
|
Name
|
2007-07-01 17:58:46 -04:00
|
|
|
----
|
|
|
|
pacman - package manager utility
|
|
|
|
|
|
|
|
|
2007-07-02 16:30:39 -04:00
|
|
|
Synopsis
|
2007-07-01 17:58:46 -04:00
|
|
|
--------
|
2011-03-16 20:24:11 -04:00
|
|
|
'pacman' <operation> [options] [targets]
|
2007-07-01 17:58:46 -04:00
|
|
|
|
|
|
|
|
2007-07-02 16:30:39 -04:00
|
|
|
Description
|
2007-07-01 17:58:46 -04:00
|
|
|
-----------
|
|
|
|
Pacman is a package management 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. Pacman packages are a zipped tar format.
|
|
|
|
|
2007-12-29 01:24:15 -05:00
|
|
|
Since version 3.0.0, pacman has been the frontend to linkman:libalpm[3], the
|
2009-01-13 00:44:06 -05:00
|
|
|
``Arch Linux Package Management'' library. This library allows alternative
|
|
|
|
front ends to be written (for instance, a GUI front end).
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2011-03-16 20:24:11 -04:00
|
|
|
Invoking pacman involves specifying an operation with any potential options and
|
|
|
|
targets to operate on. A 'target' is usually a package name, filename, URL, or
|
|
|
|
a search string. Targets can be provided as command line arguments.
|
|
|
|
Additionally, if a single dash (-) is passed as an argument, targets will be
|
|
|
|
read from stdin.
|
|
|
|
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-07-02 16:30:39 -04:00
|
|
|
Operations
|
2007-07-01 17:58:46 -04:00
|
|
|
----------
|
2009-05-20 15:46:23 -04:00
|
|
|
*-D, \--database*::
|
|
|
|
Modify the package database. This options allows you to modify certain
|
|
|
|
attributes of the installed packages in pacman's database. At the
|
|
|
|
moment, you can only change the install reason using '\--asdeps' and
|
|
|
|
'\--asexplicit' options.
|
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-Q, \--query*::
|
2007-07-01 17:58:46 -04:00
|
|
|
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
|
2009-05-14 10:15:20 -04:00
|
|
|
individual '.tar.gz' packages. In the first case, if no package names
|
|
|
|
are provided in the command line, all installed packages will be
|
|
|
|
queried. Additionally, various filters can be applied on the package
|
|
|
|
list. See <<QO,Query Options>> below.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-R, \--remove*::
|
2009-05-21 19:06:33 -04:00
|
|
|
Remove package(s) from the system. Groups can also be specified to be
|
2008-01-08 15:34:34 -05:00
|
|
|
removed, in which case every package in that group will be removed.
|
|
|
|
Files belonging to the specified package will be deleted, and the
|
|
|
|
database will be updated. Most configuration files will be saved
|
2011-03-23 02:43:58 -04:00
|
|
|
with a '.pacsave' extension unless the '\--nosave' option is used.
|
2008-01-08 15:34:34 -05:00
|
|
|
See <<RO,Remove Options>> below.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-S, \--sync*::
|
2007-07-01 17:58:46 -04:00
|
|
|
Synchronize packages. Packages are installed directly from the ftp
|
|
|
|
servers, including all dependencies required to run the packages. For
|
|
|
|
example, `pacman -S qt` will download and install qt and all the
|
2007-09-18 00:01:01 -04:00
|
|
|
packages it depends on. If a package name exists in more than one repo, the
|
|
|
|
repo can be explicitly specified to clarify the package to install:
|
2008-07-08 04:07:05 -04:00
|
|
|
`pacman -S testing/qt`. You can also specify version requirements:
|
|
|
|
`pacman -S "bash>=3.2"`. (Quotes are needed, otherwise your shell
|
|
|
|
interprets ">" as redirection to file.)
|
2008-01-08 15:34:34 -05:00
|
|
|
+
|
|
|
|
In addition to packages, groups can be specified as well. For example, if
|
|
|
|
gnome is a defined package group, then `pacman -S gnome` will install every
|
|
|
|
package in the gnome group, as well as the dependencies of those packages.
|
|
|
|
+
|
|
|
|
Packages which provide other packages are also handled. For example, `pacman -S
|
|
|
|
foo` will first look for a foo package. If foo is not found, packages which
|
|
|
|
provide the same functionality as foo will be searched for. If any package is
|
|
|
|
found, it will be installed.
|
|
|
|
+
|
|
|
|
You can also use `pacman -Su` to upgrade all packages that are out of date. See
|
2008-06-19 20:28:56 -04:00
|
|
|
<<SO,Sync Options>> below. When upgrading, pacman performs version comparison
|
|
|
|
to determine which packages need upgrading. This behavior operates as follows:
|
|
|
|
|
|
|
|
Alphanumeric:
|
2008-07-23 00:41:50 -04:00
|
|
|
1.0a < 1.0alpha < 1.0b < 1.0beta < 1.0p < 1.0pre < 1.0rc < 1.0
|
2008-06-19 20:28:56 -04:00
|
|
|
Numeric:
|
|
|
|
1 < 1.0 < 1.1 < 1.1.1 < 1.2 < 2.0 < 3.0.0
|
2010-10-08 09:52:14 -04:00
|
|
|
+
|
2011-01-07 21:59:51 -05:00
|
|
|
Additionally, version strings can have an 'epoch' value defined that will
|
|
|
|
overrule any version comparison (unless the epoch values are equal). This is
|
|
|
|
specified in an `epoch:version-rel` format. For example, `2:1.0-1` is always
|
|
|
|
greater than `1:3.6-1`.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2009-06-05 08:40:41 -04:00
|
|
|
*-T, \--deptest*::
|
|
|
|
Check dependencies; this is useful in scripts such as makepkg to check
|
|
|
|
installed packages. This operation will check each dependency specified and
|
|
|
|
return a list of those which are not currently satisfied on the system.
|
|
|
|
This operation accepts no other options. Example usage: `pacman -T qt
|
|
|
|
"bash>=3.2"`.
|
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-U, \--upgrade*::
|
Use sync.c for upgrade transaction prepare and commit
This patch utilizes the power of sync.c to fix FS#3492 and FS#5798.
Now an upgrade transaction is just a sync transaction internally (in alpm),
so all sync features are available with -U as well:
* conflict resolving
* sync dependencies from sync repos
* remove unresolvable targets
See http://www.archlinux.org/pipermail/pacman-dev/2009-June/008725.html
for the concept.
We use "mixed" target list, where PKG_FROM_FILE origin indicates local
package file, PKG_FROM_CACHE indicates sync package. The front-end can add
only one type of packages (depending on transaction type) atm, but if alpm
resolves dependencies for -U, we may get a real mixed trans->packages list.
_alpm_pkg_free_trans() was modified so that it can handle both target types
_alpm_add_prepare() was removed, we use _alpm_sync_prepare() instead
_alpm_add_commit() was renamed to _alpm_upgrade_targets()
sync.c (and deps.c) was modified slightly to handle mixed target lists,
the modifications are straightforward. There is one notable change here: We
don't create new upgrade trans in sync.c, we replace the pkgcache entries
with the loaded package files in the target list (this is a bit hackish) and
call _alpm_upgrade_targets(). This implies a TODO (pkg->origin_data.db is
not accessible anymore), but it doesn't hurt anything with pacman front-end,
so it will be fixed later (otherwise this patch would be huge).
I updated the documentation of -U and I added a new pactest, upgrade090.py,
to test the syncdeps feature of -U.
Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Signed-off-by: Dan McGee <dan@archlinux.org>
2009-06-09 11:23:46 -04:00
|
|
|
Upgrade or add package(s) to the system and install the required
|
|
|
|
dependencies from sync repos. Either a URL or file path can be
|
2010-05-05 12:18:27 -04:00
|
|
|
specified. This is a ``remove-then-add'' process. See <<UO,Upgrade
|
|
|
|
Options>> below; also see <<HCF,Handling Config Files>> for an explanation
|
|
|
|
on how pacman takes care of config files.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-V, \--version*::
|
2007-07-01 17:58:46 -04:00
|
|
|
Display version and exit.
|
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-h, \--help*::
|
2007-07-01 17:58:46 -04:00
|
|
|
Display syntax for the given operation. If no operation was supplied
|
|
|
|
then the general syntax is shown.
|
|
|
|
|
|
|
|
|
2007-07-02 16:30:39 -04:00
|
|
|
Options
|
2007-07-01 17:58:46 -04:00
|
|
|
-------
|
2011-03-23 02:43:58 -04:00
|
|
|
*-b, \--dbpath* <path>::
|
2008-01-06 23:18:08 -05:00
|
|
|
Specify an alternative database location (a typical default is
|
2011-03-23 02:43:58 -04:00
|
|
|
`{localstatedir}/lib/pacman`). This should not be used unless you know what you are
|
2008-01-06 23:18:08 -05:00
|
|
|
doing. *NOTE*: if specified, this is an absolute path and the root path is
|
2008-06-08 14:50:01 -04:00
|
|
|
not automatically prepended.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2011-03-23 02:43:58 -04:00
|
|
|
*-r, \--root* <path>::
|
|
|
|
Specify an alternative installation root (default is `/`). This should
|
|
|
|
not 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
|
2007-07-16 12:57:02 -04:00
|
|
|
temporary mounted partition which is "owned" by another system.
|
2008-06-08 14:50:01 -04:00
|
|
|
*NOTE*: if database path or logfile are not specified on either the
|
2008-01-15 07:48:27 -05:00
|
|
|
command line or in linkman:pacman.conf[5], their default location will
|
|
|
|
be inside this root path.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2009-03-22 12:13:29 -04:00
|
|
|
*-v, \--verbose*::
|
2008-01-06 23:18:08 -05:00
|
|
|
Output paths such as as the Root, Conf File, DB Path, Cache Dirs, etc.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2011-03-23 02:43:58 -04:00
|
|
|
*\--arch* <arch>::
|
2010-10-10 12:57:41 -04:00
|
|
|
Specify an alternate architecture.
|
2009-03-22 12:13:29 -04:00
|
|
|
|
2011-03-23 02:43:58 -04:00
|
|
|
*\--cachedir* <dir>::
|
2008-01-06 23:18:08 -05:00
|
|
|
Specify an alternative package cache location (a typical default is
|
2011-03-23 02:43:58 -04:00
|
|
|
`{localstatedir}/cache/pacman/pkg`). Multiple cache directories can be specified,
|
2008-01-14 18:15:30 -05:00
|
|
|
and they are tried in the order they are passed to pacman. *NOTE*: this
|
2008-06-08 14:50:01 -04:00
|
|
|
is an absolute path, the root path is not automatically prepended.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2011-03-23 02:43:58 -04:00
|
|
|
*\--config* <file>::
|
2007-07-01 17:58:46 -04:00
|
|
|
Specify an alternate configuration file.
|
|
|
|
|
2010-10-10 12:57:41 -04:00
|
|
|
*\--debug*::
|
|
|
|
Display debug messages. When reporting bugs, this option is recommended
|
|
|
|
to be used.
|
2010-10-08 16:59:30 -04:00
|
|
|
|
2008-12-14 13:59:39 -05:00
|
|
|
*\--gpgdir* <dir>::
|
|
|
|
Specify a directory of files used by GnuPG to verify package signatures.
|
|
|
|
This directory should contain two files: `pubring.gpg` and `trustdb.gpg`.
|
|
|
|
`pubring.gpg` holds the public keys of all packagers. `trustdb.gpg`
|
|
|
|
contains a so-called trust database, which specifies that the keys are
|
|
|
|
authentic and trusted.
|
|
|
|
|
2011-03-23 02:43:58 -04:00
|
|
|
*\--logfile* <file>::
|
2008-01-06 23:18:08 -05:00
|
|
|
Specify an alternate log file. This is an absolute path, regardless of
|
|
|
|
the installation root setting.
|
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*\--noconfirm*::
|
2009-01-13 00:44:06 -05:00
|
|
|
Bypass any and all ``Are you sure?'' messages. It's not a good idea to do
|
2007-07-01 17:58:46 -04:00
|
|
|
this unless you want to run pacman from a script.
|
|
|
|
|
2010-10-10 12:57:41 -04:00
|
|
|
Transaction Options (apply to '-S', '-R' and '-U')
|
|
|
|
--------------------------------------------------
|
|
|
|
*-d, \--nodeps*::
|
2010-10-01 10:42:09 -04:00
|
|
|
Skips dependency version checks. Package names are still checked. 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. Specify this option twice to skip all dependency checks.
|
2010-10-10 12:57:41 -04:00
|
|
|
|
|
|
|
*-k, \--dbonly*::
|
|
|
|
Adds/Removes the database entry only, leaves all files in place.
|
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*\--noprogressbar*::
|
2007-07-01 17:58:46 -04:00
|
|
|
Do not show a progress bar when downloading files. This can be useful
|
|
|
|
for scripts that call pacman and capture the output.
|
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*\--noscriptlet*::
|
2007-07-01 17:58:46 -04:00
|
|
|
If an install scriptlet exists, do not execute it. Do not use this
|
|
|
|
unless you know what you are doing.
|
|
|
|
|
2009-07-19 05:15:11 -04:00
|
|
|
*-p, \--print*::
|
|
|
|
Only print the targets instead of performing the actual operation (sync,
|
2010-10-10 12:57:41 -04:00
|
|
|
remove or upgrade). Use '\--print-format' to specify how targets are
|
2011-02-20 14:34:32 -05:00
|
|
|
displayed. The default format string is "%l", which displays URLs with
|
|
|
|
'-S', filenames with '-U' and pkgname-pkgver with '-R'.
|
2009-07-19 05:15:11 -04:00
|
|
|
|
2011-03-23 02:43:58 -04:00
|
|
|
*\--print-format* <format>::
|
2009-07-19 05:15:11 -04:00
|
|
|
Specify a printf-like format to control the output of the '\--print'
|
2011-02-20 14:34:32 -05:00
|
|
|
operation. The possible attributes are: %n for pkgname, %v for pkgver,
|
2010-10-10 12:57:41 -04:00
|
|
|
%l for location, %r for repo and %s for size.
|
|
|
|
|
2011-02-20 14:34:32 -05:00
|
|
|
Upgrade Options (apply to '-S' and '-U')[[UO]]
|
2010-10-10 12:57:41 -04:00
|
|
|
--------------------------------------------
|
|
|
|
*-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.
|
|
|
|
|
|
|
|
*\--asdeps*::
|
|
|
|
Install packages non-explicitly; in other words, fake their install reason
|
|
|
|
to be installed as a dependency. This is useful for makepkg and other
|
|
|
|
build from source tools that need to install dependencies before building
|
|
|
|
the package.
|
|
|
|
|
|
|
|
*\--asexplicit*::
|
|
|
|
Install packages explicitly; in other words, fake their install reason to
|
|
|
|
be explicitly installed. This is useful if you want to mark a dependency
|
|
|
|
as explicitly installed so it will not be removed by the '\--recursive'
|
|
|
|
remove operation.
|
|
|
|
|
2011-03-23 02:43:58 -04:00
|
|
|
*\--ignore* <package>::
|
2010-10-10 12:57:41 -04:00
|
|
|
Directs pacman to ignore upgrades of package even if there is one
|
|
|
|
available. Multiple packages can be specified by separating them
|
|
|
|
with a comma.
|
|
|
|
|
2011-03-23 02:43:58 -04:00
|
|
|
*\--ignoregroup* <group>::
|
2010-10-10 12:57:41 -04:00
|
|
|
Directs pacman to ignore upgrades of all packages in 'group' even if
|
|
|
|
there is one available. Multiple groups can be specified by
|
|
|
|
separating them with a comma.
|
2009-07-19 05:15:11 -04:00
|
|
|
|
2007-07-01 17:58:46 -04:00
|
|
|
Query Options[[QO]]
|
|
|
|
-------------------
|
2007-07-16 12:57:02 -04:00
|
|
|
*-c, \--changelog*::
|
2011-02-20 14:34:32 -05:00
|
|
|
View the ChangeLog of a package if it exists.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-08-16 07:41:57 -04:00
|
|
|
*-d, \--deps*::
|
2009-05-14 10:15:20 -04:00
|
|
|
Restrict or filter output to packages installed as dependencies. This
|
2011-02-20 14:34:32 -05:00
|
|
|
option can be combined with '-t' for listing real orphans - packages that
|
2009-05-14 10:15:20 -04:00
|
|
|
were installed as dependencies but are no longer required by any
|
2011-02-20 14:34:32 -05:00
|
|
|
installed package.
|
2007-08-16 07:41:57 -04:00
|
|
|
|
|
|
|
*-e, \--explicit*::
|
2011-02-20 14:34:32 -05:00
|
|
|
Restrict or filter output to explicitly installed packages. This option
|
|
|
|
can be combined with '-t' to list explicitly installed packages which
|
|
|
|
are not required by any other package.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-g, \--groups*::
|
2007-11-09 00:38:32 -05:00
|
|
|
Display all packages that are members of a named group. If a name is not
|
2007-07-01 17:58:46 -04:00
|
|
|
specified, list all grouped packages.
|
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-i, \--info*::
|
|
|
|
Display information on a given package. The '-p' option can be used if
|
2007-09-26 12:59:40 -04:00
|
|
|
querying a package file instead of the local database. Passing two
|
|
|
|
'\--info' or '-i' flags will also display the list of backup files and
|
|
|
|
their modification states.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2009-03-30 12:48:15 -04:00
|
|
|
*-k \--check*::
|
|
|
|
Check that all files owned by the given package(s) are present on the
|
|
|
|
system. If packages are not specified or filter flags are not provided,
|
|
|
|
check all installed packages.
|
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-l, \--list*::
|
2007-07-01 17:58:46 -04:00
|
|
|
List all files owned by a given package. Multiple packages can be
|
|
|
|
specified on the command line.
|
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-m, \--foreign*::
|
2007-08-16 07:41:57 -04:00
|
|
|
Restrict or filter output to packages that were not found in the sync
|
|
|
|
database(s). Typically these are packages that were downloaded manually
|
|
|
|
and installed with '\--upgrade'.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2011-03-23 02:43:58 -04:00
|
|
|
*-o, \--owns* <file>::
|
2011-02-20 14:34:32 -05:00
|
|
|
Search for packages that own the specified file(s). The path can be
|
|
|
|
relative or absolute and one or more files can be specified.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-p, \--file*::
|
2007-07-01 17:58:46 -04:00
|
|
|
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.
|
2007-07-16 12:57:02 -04:00
|
|
|
This is useful in combination with '\--info' and '\--list'.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2008-06-13 21:22:08 -04:00
|
|
|
*-q, \--quiet*::
|
2009-05-10 16:41:29 -04:00
|
|
|
Show less information for certain query operations. (This is useful when
|
|
|
|
pacman's output is processed in a script.) Search will only show package
|
|
|
|
names and not version, group, and description information; owns will
|
2009-05-11 22:43:36 -04:00
|
|
|
only show package names instead of "file is owned by pkg" messages; group
|
|
|
|
will only show package names and omit group names; list will only show
|
2009-03-30 12:48:15 -04:00
|
|
|
files and omit package names; check will only show pairs of package names
|
|
|
|
and missing files; a bare query will only show package names
|
2009-05-11 22:43:36 -04:00
|
|
|
rather than names and versions.
|
2008-06-13 21:22:08 -04:00
|
|
|
|
2011-03-23 02:43:58 -04:00
|
|
|
*-s, \--search* <regexp>::
|
2011-02-20 14:34:32 -05:00
|
|
|
Search each locally-installed package for names or descriptions that
|
|
|
|
match `regexp`. When including multiple search terms, only packages
|
|
|
|
with descriptions matching ALL of those terms are returned.
|
2007-07-16 12:57:02 -04:00
|
|
|
|
2008-01-10 09:59:43 -05:00
|
|
|
*-t, \--unrequired*::
|
2007-08-16 07:41:57 -04:00
|
|
|
Restrict or filter output to packages not required by any currently
|
|
|
|
installed package.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-u, \--upgrades*::
|
2009-05-14 10:15:20 -04:00
|
|
|
Restrict or filter output to packages that are out of date on the local
|
|
|
|
system. (Only package versions are used to find outdated packages,
|
|
|
|
replacements are not checked here.) This option works best if the sync
|
|
|
|
database is refreshed using '-Sy'.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
|
|
|
|
|
|
|
Remove Options[[RO]]
|
|
|
|
--------------------
|
2007-07-16 12:57:02 -04:00
|
|
|
*-c, \--cascade*::
|
2007-07-01 17:58:46 -04:00
|
|
|
Remove all target packages, as well as all packages that depend on one
|
2008-01-13 16:43:53 -05:00
|
|
|
or more target packages. This operation is recursive, and must be used
|
|
|
|
with care since it can remove many potentially needed packages.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-n, \--nosave*::
|
2007-07-01 17:58:46 -04:00
|
|
|
Instructs pacman to ignore file backup designations. Normally, when a
|
|
|
|
file is removed from the system the database is checked to see if the
|
2011-03-23 02:43:58 -04:00
|
|
|
file should be renamed with a '.pacsave' extension.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-s, \--recursive*::
|
2008-01-13 16:43:53 -05:00
|
|
|
Remove each target specified including all of their dependencies, provided
|
|
|
|
that (A) they are not required by other packages; and (B) they were not
|
|
|
|
explicitly installed by the user. This operation is recursive and analogous
|
|
|
|
to a backwards '\--sync' operation, and helps keep a clean system without
|
2008-03-03 16:09:21 -05:00
|
|
|
orphans. If you want to omit condition (B), pass this option twice.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-11-18 12:45:46 -05:00
|
|
|
*-u, \--unneeded*::
|
2011-02-20 14:34:32 -05:00
|
|
|
Removes targets that are not required by any other packages.
|
2007-11-18 12:45:46 -05:00
|
|
|
This is mostly useful when removing a group without using the '-c' option,
|
|
|
|
to avoid breaking any dependencies.
|
|
|
|
|
2007-07-01 17:58:46 -04:00
|
|
|
|
|
|
|
Sync Options[[SO]]
|
|
|
|
------------------
|
2007-07-16 12:57:02 -04:00
|
|
|
*-c, \--clean*::
|
2008-01-15 13:42:40 -05:00
|
|
|
Remove packages that are no longer installed from the cache as well as
|
|
|
|
currently unused sync databases to free up disk space. When pacman
|
|
|
|
downloads packages, it saves them in a cache directory. In addition,
|
|
|
|
databases are saved for every sync DB you download from, and are not
|
|
|
|
deleted even if they are removed from the configuration file
|
|
|
|
linkman:pacman.conf[5]. Use one '\--clean' switch to only remove
|
|
|
|
packages that are no longer installed; use two to remove all packages
|
|
|
|
from the cache. In both cases, you will have a yes or no option to
|
|
|
|
remove packages and/or unused downloaded databases.
|
2008-02-16 10:01:13 -05:00
|
|
|
+
|
|
|
|
If you use a network shared cache, see the 'CleanMethod' option in
|
|
|
|
linkman:pacman.conf[5].
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-g, \--groups*::
|
2007-07-01 17:58:46 -04:00
|
|
|
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.
|
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-i, \--info*::
|
2010-03-25 22:36:30 -04:00
|
|
|
Display information on a given sync database package. Passing two '\--info'
|
|
|
|
or '-i' flags will also display those packages in all repositories that
|
|
|
|
depend on this package.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-l, \--list*::
|
2007-07-01 17:58:46 -04:00
|
|
|
List all packages in the specified repositories. Multiple repositories
|
|
|
|
can be specified on the command line.
|
|
|
|
|
2008-06-13 21:22:08 -04:00
|
|
|
*-q, \--quiet*::
|
2009-05-10 16:41:29 -04:00
|
|
|
Show less information for certain sync operations. (This is useful when
|
|
|
|
pacman's output is processed in a script.) Search will only show package
|
|
|
|
names and not repo, version, group, and description information; list
|
|
|
|
will only show package names and omit databases and versions; group will
|
|
|
|
only show package names and omit group names.
|
2008-06-13 21:22:08 -04:00
|
|
|
|
2011-03-23 02:43:58 -04:00
|
|
|
*-s, \--search* <regexp>::
|
2007-07-01 17:58:46 -04:00
|
|
|
This will search each package in the sync databases for names or
|
2009-06-14 15:00:07 -04:00
|
|
|
descriptions that match `regexp`. When you include multiple search
|
|
|
|
terms, only packages with descriptions matching ALL of those terms will
|
|
|
|
be returned.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-u, \--sysupgrade*::
|
2007-07-01 17:58:46 -04:00
|
|
|
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
|
2009-05-14 12:25:16 -04:00
|
|
|
necessary. Pass this option twice to enable package downgrade; in this
|
|
|
|
case pacman will select sync packages whose version does not match with
|
|
|
|
the local version. This can be useful when the user switches from a testing
|
2009-09-07 14:58:49 -04:00
|
|
|
repo to a stable one. Additional targets can also be specified manually, so
|
|
|
|
that '-Su foo' will do a system upgrade and install/upgrade the foo package in
|
|
|
|
the same operation.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-w, \--downloadonly*::
|
2011-02-20 14:34:32 -05:00
|
|
|
Retrieve all packages from the server, but do not install/upgrade anything.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-07-16 12:57:02 -04:00
|
|
|
*-y, \--refresh*::
|
2007-07-01 17:58:46 -04:00
|
|
|
Download a fresh copy of the master package list from the server(s)
|
2007-12-29 01:24:15 -05:00
|
|
|
defined in linkman:pacman.conf[5]. This should typically be used each time
|
2007-12-05 21:34:38 -05:00
|
|
|
you use '\--sysupgrade' or '-u'. Passing two '\--refresh' or '-y' flags
|
2011-02-20 14:34:32 -05:00
|
|
|
will force a refresh of all package lists even if they appear to be up
|
2007-12-05 21:34:38 -05:00
|
|
|
to date.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
2007-11-22 15:01:45 -05:00
|
|
|
*\--needed*::
|
2011-02-20 14:34:32 -05:00
|
|
|
Don't reinstall the targets that are already up to date.
|
2007-11-22 15:01:45 -05:00
|
|
|
|
2007-07-01 17:58:46 -04:00
|
|
|
|
|
|
|
Handling Config Files[[HCF]]
|
|
|
|
----------------------------
|
|
|
|
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:
|
|
|
|
|
|
|
|
original=X, current=X, new=X::
|
2011-02-20 14:34:32 -05:00
|
|
|
All three files are the same, so overwrites are not an issue. Install the
|
2007-07-01 17:58:46 -04:00
|
|
|
new file.
|
|
|
|
|
|
|
|
original=X, current=X, new=Y::
|
|
|
|
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.
|
|
|
|
|
|
|
|
original=X, current=Y, new=X::
|
|
|
|
Both package versions contain the exact same file, but the one on the
|
|
|
|
filesystem has been modified. Leave the current file in place.
|
|
|
|
|
|
|
|
original=X, current=Y, new=Y::
|
|
|
|
The new file is identical to the current file. Install the new file.
|
|
|
|
|
|
|
|
original=X, current=Y, new=Z::
|
2007-07-16 12:57:02 -04:00
|
|
|
All three files are different, so install the new file with a '.pacnew'
|
2007-07-01 17:58:46 -04:00
|
|
|
extension and warn the user. The user must then manually merge any
|
|
|
|
necessary changes into the original file.
|
|
|
|
|
|
|
|
|
2010-07-01 03:07:04 -04:00
|
|
|
Examples
|
|
|
|
--------
|
|
|
|
|
|
|
|
pacman -Ss ne.hack::
|
|
|
|
Search for regexp "ne.hack" in package database.
|
|
|
|
|
|
|
|
pacman -S gpm::
|
|
|
|
Download and install gpm including dependencies.
|
|
|
|
|
|
|
|
pacman -U /home/user/ceofhack-0.6-1-x86_64.pkg.tar.gz::
|
|
|
|
Install ceofhack-0.6-1 package from a local file.
|
|
|
|
|
|
|
|
pacman -Syu::
|
|
|
|
Update package list and upgrade all packages afterwards.
|
|
|
|
|
|
|
|
pacman -Syu gpm::
|
|
|
|
Update package list, upgrade all packages, and then install gpm if it
|
|
|
|
wasn't already installed.
|
|
|
|
|
2007-07-01 17:58:46 -04:00
|
|
|
Configuration
|
|
|
|
-------------
|
2007-12-29 01:24:15 -05:00
|
|
|
See linkman:pacman.conf[5] for more details on configuring pacman using the
|
2007-07-16 12:57:02 -04:00
|
|
|
'pacman.conf' file.
|
2007-07-01 17:58:46 -04:00
|
|
|
|
|
|
|
|
|
|
|
See Also
|
|
|
|
--------
|
2007-12-29 01:24:15 -05:00
|
|
|
linkman:pacman.conf[5], linkman:makepkg[8], linkman:libalpm[3]
|
2007-07-01 17:58:46 -04:00
|
|
|
|
|
|
|
include::footer.txt[]
|