summaryrefslogtreecommitdiff
path: root/doc/pacman.conf.5.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/pacman.conf.5.txt')
-rw-r--r--doc/pacman.conf.5.txt147
1 files changed, 147 insertions, 0 deletions
diff --git a/doc/pacman.conf.5.txt b/doc/pacman.conf.5.txt
new file mode 100644
index 00000000..d422a4b9
--- /dev/null
+++ b/doc/pacman.conf.5.txt
@@ -0,0 +1,147 @@
+/////
+vim:set ts=4 sw=4 syntax=asciidoc noet:
+/////
+pacman.conf(5)
+==============
+
+Name
+----
+pacman.conf - pacman package manager configuration file
+
+
+Synopsis
+--------
+{sysconfdir}/pacman.conf
+
+
+Description
+-----------
+Pacman, using manlink:libalpm[3], will attempt to read pacman.conf each time it
+is invoked. This configuration file is divided into sections or repositories.
+Each section defines a package repository that pacman can use when searching
+for packages in '\--sync' mode. The exception to this is the options section,
+which defines global options.
+
+
+Example
+-------
+--------
+#
+# pacman.conf
+#
+[options]
+NoUpgrade = etc/passwd etc/group etc/shadow
+NoUpgrade = etc/fstab
+
+[current]
+Include = /etc/pacman.d/current
+
+[custom]
+Server = file:///home/pkgs
+--------
+
+
+Options
+-------
+*RootDir =* path/to/root::
+ Set the default root directory for pacman to install to.
+
+*DBPath =* path/to/db/dir::
+ Overrides the default location of the toplevel database directory.
+ The default is ``/var/lib/pacman/''.
+
+*CacheDir =* path/to/cache/dir::
+ Overrides the default location of the package cache directory. The default
+ is ``/var/cache/pacman/pkg/''. Multiple cache directories can be specified,
+ and they are tried in the order they are listed in the config file. If a
+ file is not found in any cache directory, it will be downloaded to the
+ first cache directory with write access.
+
+*LogFile =* '/path/to/file'::
+ Log actions directly to a file. Default is ``/var/log/pacman.log''.
+
+*HoldPkg =* package ...::
+ If a user tries to '\--remove' a package that's listed in `HoldPkg`,
+ pacman will ask for confirmation before proceeding.
+
+*IgnorePkg =* package ...::
+ Instructs pacman to ignore any upgrades for this package when performing
+ a '\--sysupgrade'.
+
+*Include =* path::
+ Include another config file. This file can include repositories or
+ general configuration options.
+
+*XferCommand =* /path/to/command %u::
+ If set, an external program will be used to download all remote files.
+ All instances of `%u` will be replaced with the download URL. If present,
+ instances of `%o` will be replaced with the local filename, plus a
+ ``.part'' extension, which allows programs like wget to do file resumes
+ properly.
+ +
+ This option is useful for users who experience problems with built-in
+ http/ftp support, or need the more advanced proxy support that comes with
+ utilities like wget.
+
+*NoPassiveFtp*::
+ Disables passive ftp connections when downloading packages. (aka Active Mode)
+
+*NoUpgrade =* file ...::
+ All files listed with a `NoUpgrade` directive will never be touched during
+ a package install/upgrade. Do not include the leading slash when specifying
+ files.
+
+*NoExtract =* file ...::
+ All files listed with a `NoExtract` directive will never be extracted from
+ a package into the filesystem. This can be useful when you don't want part
+ of a package to be installed. For example, if your httpd root uses an
+ 'index.php', then you would not want the 'index.html' file to be extracted
+ from the 'apache' package.
+
+*UseSyslog*::
+ Log action messages through syslog(). This will insert log entries into
+ ``/var/log/messages'' or equivalent.
+
+*ShowSize*::
+ Display the size of individual packages for '\--sync' and '\--query' modes.
+
+
+Repository Sections
+-------------------
+Each repository section defines a section name and at least one location where
+the packages can be found. The section name is defined by the string within
+square brackets (the two above are 'current' and 'custom'). Locations are
+defined with the 'Server' directive and follow a URL naming structure. If you
+want to use a local directory, you can specify the full path with a ``file://''
+prefix, as shown above.
+
+The order of repositories in the file matters; repositories listed first will
+take precedence over those listed later in the file when packages in two
+repositories have identical names, regardless of version number.
+
+Using Your Own Repository
+-------------------------
+If you have numerous custom packages of your own, it is often easier to generate
+your own custom local repository than install them all with the '\--upgrade'
+option. All you need to do is generate a compressed package database in the
+directory with these packages so pacman can find it when run with '\--refresh'.
+
+ repo-add /home/pkgs/custom.db.tar.gz /home/pkgs/*.pkg.tar.gz
+
+The above command will generate a compressed database named
+'/home/pkgs/custom.db.tar.gz'. Note that the database must be of the form
+'{treename}.db.tar.gz', where '{treename}' is the name of the section defined in
+the configuration file. That's it! Now configure your custom section in the
+configuration file as shown in the config example above. Pacman will now use your
+package repository. If you add new packages to the repository, remember to
+re-generate the database and use pacman's '\--refresh' option.
+
+For more information on the repo-add command, see ``repo-add \--help'' or
+manlink:repo-add[8].
+
+
+See Also
+--------
+manlink:pacman[8], manlink:libalpm[3]
+
+include::footer.txt[]