简介:

Pacman软件包管理器是 Arch Linux 的一大亮点。它将一个简单的二进制包格式和易用的构建系统结合了起来。Pacman的目标是简化对软件包的管理,无论软件包是来自官方软件仓库还是用户自己创建的软件包。

Pacman 通过和主服务器同步软件包列表来保持系统是最新的。这种服务器/客户端模式可使得用户使用简单的命令,就能下载或安装软件包,并包含其所有必需的依赖包。

Pacman 用 C 语言编写,并使用 bsdtar(1) tar 作为打包格式。

所谓的“滚”,就是:

pacman -Syu

警告: 在 Arch 上安装软件包时,请避免在还没有“滚”前下载安装包。

安装软件包

一个软件包中包含:

应用程序所有(编译好的)文件。

供 pacman 使用的安装文件和指令。

应用的元数据,例如应用名称、版本和依赖等。

Arch 的软件包管理器 pacman 可以安装、更新和删除这些软件包。

使用软件包而不是自己编译和安装程序有很多好处

轻松升级:pacman 会在更新可用时立即更新已安装的软件包

依赖检查:pacman 会为你处理依赖问题,只需要指明程序(名),pacman 就会将它和它所需的所有其他程序都一起安装。

干净卸载:pacman 持有软件包包含的所有文件的列表。这样一来,当你决定移除软件包时,不会无意留下任何文件。

操作:

  同步与升级


  安装和升级软件包前,先将本地的包数据库和远程的软件仓库同步
  pacman -Sy

  安装和升级软件包前,先将本地的包数据库和远程的软件仓库强制同步
  pacman -Syy


  同时进行同步软件库并更新系统,就是所谓的“滚”
  pacman -Syu


安装软件包


  安装或者升级单个软件包:
  pacman -S 包名

  安装或者升级多个软件包:
  pacman -S 包名

查询仓库的包

pacman -Ss 包名关键字


  选择软件包版本:
  pacman -S extra/包名
  pacman -S testing/包名


  也可以在一个命令里同步包数据库并安装一个软件包:
  pacman -Sy 包名


卸载软件包


  删除单个软件包,保留其全部已经安装的依赖关系
  pacman -R 包名


  删除指定软件包,及其所有没有被其他已安装软件包使用的依赖关系:
  pacman -Rs package_name

包数据库查询


  可以使用 -Q 标志搜索和查询本地包数据库。详情参见
  pacman -Q –help
  可以使用-S 标志搜索和查询远程同步的包数据库。详情参见
  pacman -S –help

其它


  下载包而不安装它:
  pacman -Sw package_name
  安装一个本地包(不从源里):
  pacman -U /path/to/package/package_name-version.pkg.tar.gz
  完全清理包缓存(/var/cache/pacman/pkg):
  pacman -Scc  

长参数

 pacman [-短参数] [–长参数]

覆盖安装组,包等

pacman -S --overwrite='*' (包名)  

更多参数可以看ArchWiki中的pacman包管理