Difference between revisions of "Pacman"

From ArchWiki
Jump to navigation Jump to search
m (lnk.)
Line 13: Line 13:
 
{{i18n_entry|Русский|:Pacman (Русский)}}
 
{{i18n_entry|Русский|:Pacman (Русский)}}
 
{{i18n_entry|简体中文|:Pacman (简体中文)}}
 
{{i18n_entry|简体中文|:Pacman (简体中文)}}
 +
{{i18n_entry|한국어|:Pacman (한국어)}}
 
{{i18n_links_end}}
 
{{i18n_links_end}}
  

Revision as of 11:19, 26 July 2007


Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n links end

Overview

The Pacman package manager is one of the great highlights of Arch Linux. It combines a simple binary package format with an easy-to-use build system (see makepkg and ABS). Pacman makes it possible to easily manage packages, whether they be from the official Arch repositories or the user's own builds.

Pacman can keep a system up to date by synchronizing package lists with the master server. This server/client model also allows you to download/install packages with a simple command, complete with all required dependencies (similar to Debian's apt-get).

Usage

To really learn what pacman can do, read man pacman. The below is just a small sample of operations that can be performed.

Installing and Removing Packages

Before installing and upgrading packages, it is a good idea to synchronize the local package database with the remote repositories.

pacman -Sy

or

pacman --sync --refresh

To install or upgrade a single package or list of packages (including dependencies), issue the following command:

pacman -S package_name1 package_name2

Sometimes there are more versions of a package in different repositories (e.g. extra and testing). You can specify which one to install:

pacman -S extra/package_name
pacman -S testing/package_name

You can also refresh the package database before installing a package in one command:

pacman -Sy package_name

To remove a single package, leaving all of its dependencies installed:

pacman -R package_name

To remove all of the packages dependencies which aren't used by any other installed package:

pacman -Rs package_name

To remove a package without checking dependencies:

pacman -Rd package_name

Upgrading the System

Pacman can update all packages on the system with just one command. This could take quite a while depending on how up-to-date your system is.

pacman -Su

However, the best option is to synchronize the repository databases AND update your system in one go with the following:

pacman -Syu

Querying the Package Database

Pacman can search the package database for a list of packages, you can enter part of the package name to search for all packages matching the string:

pacman -Ss package

To search installed packages only:

pacman -Qs package

Once you know the name of the package you are looking for, you can display some information on the package. Note that query info (-Qi) will show more info than sync info (-Si), as long as the package is installed.

pacman -Si package  
pacman -Qi package

For a list of files contained in a package:

pacman -Ql package

For a list of files no longer in use by any currently installed packages:

pacman -Qe 

You can also query what package a file on your system belongs to.

pacman -Qo /path/to/file

Other Usage

Pacman is quite an extensive package management tool, here is just a brief collection of other features.

  • Download a package without installing it:
pacman -Sw package_name
  • Install a local package (not from a repository):
pacman -U /path/to/package/package_name-version.pkg.tar.gz
  • Fully clean the package cache (/var/cache/pacman/pkg):
pacman -Scc

For a more detailed list of switches please refer to pacman --help or man pacman.


Configuration

Pacman configuration is located in /etc/pacman.conf. In depth information about the configuration file can be found in man pacman.conf.

General options

General options are in [options] section. Read the man page or look in the default pacman.conf for information on what can be done here.

Repositories

In this section you define which repositories to use, as referred to in /etc/pacman.conf, and then listed in /etc/pacman.d/. They can be defined directly there or you can include them from another file. The latter is useful for the official repositories which have a lot of mirrors. Avoid using ftp.archlinux.org as it is throttled.

[repository-name]
Server = ftp://server.net/repo
[current]
# Add your preferred servers here, they will be used first
Include = /etc/pacman.d/current

Related links

Improve Pacman Performance
Colored Pacman output
Downgrade packages
Redownloading all installed packages
Server configuration in pacman.conf
ArchLinux User-community Repository (AUR)
Local repository HOW-TO
Custom local repository with ABS and gensync
Howto Upgrade via Home Network (Network Shared Pacman Cache)
rucksack
Pacman GUI Frontends
Pacman Aliases (for bash)