Pacman

Pacman 是 Archlinux 默认的包管理工具,由 Archlinux 的创始人 Judd Vinet 开发。Pacman 可以很好的处理依赖关系、通过网络使用软件仓库。使用 Pacman,你不仅可以更新 Archlinux 的整个系统,而且能够对包进行管理,包括安装、删除、升级等。同时,Pacman 也允许你搜索包和查看有关包的信息。

配置

Pacman 的配置文件为 /etc/pacman.conf,可以在其中设定使用的软件源分支

  1. [core]
  2. # 在这里添加你的首选服务器,它们将被优先使用
  3. Include = /etc/pacman.d/mirrorlist
  4. [extra]
  5. # 在这里添加你的首选服务器,它们将被优先使用
  6. Include = /etc/pacman.d/mirrorlist
  7. [community]
  8. # 在这里添加你的首选服务器,它们将被优先使用
  9. Include = /etc/pacman.d/mirrorlist
  10. #[testing]
  11. #Include = /etc/pacman.d/mirrorlist
  12. # 自定义软件仓库的示例
  13. #[custom]
  14. #Server = file:///home/custompkgs
  15. # archlinuxfr 软件仓库
  16. [archlinuxfr]
  17. Server = http://repo.archlinux.fr/i686

指定 Pacman 使用的下载工具

  1. # 默认(不指定的情况下)为 wget
  2. #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
  3. # 使用 aria2 下载 ,删除下一行行首注释符 #
  4. #XferCommand = aria2c -s 5 -m 5 -d / -o %o %u
  5. # 使用 curl 下载
  6. #XferCommand = /usr/bin/curl %u > %o

命令

Pacman 是一个命令行工具,这意味着当你执行下面的命令时,必须在终端或控制台中进行。

更新系统

在 Archlinux 中,使用一条命令即可对整个系统进行更新:

  1. pacman -Syu

如果你已经使用 pacman -Sy 将本地的包数据库与远程的仓库进行了同步,也可以只执行:

  1. pacman -Su

安装软件包

这个命令你应该见过无数次了:

  1. pacman -S 软件包名称
  • 如果同时安装多个包,用空格分隔包名

其它用法:

  1. # 先同步包数据库再安装
  2. pacman -Sy 软件包名称
  3. # 显示一些操作信息后执行安装
  4. pacman -Sv 软件包名称
  5. # 安装本地软件包,其扩展名为 pkg.tar.gz
  6. pacman -U 软件包名称

删除软件包

  1. # 只删除软件包,不删除该软件包的依赖
  2. pacman -R 软件包名称
  3. # 删除软件包的同时,也将删除其依赖
  4. pacman -Rs 软件包名称
  5. # 删除软件包、依赖关系、配置文件
  6. pacman -Rsn 软件包名称
  7. # 删除包时不检查依赖
  8. pacman -Rd 软件包名称

搜索

通过关键字搜索软件包

  1. pacman -Ss 关键字

搜索已安装的包

  1. # 查看软件包信息
  2. pacman -Qi 软件包名称
  3. # 列出软件包的文件
  4. pacman -Ql 软件包名称
  5. # 查看某一文件属于哪个软件包
  6. pacman -Qo 文件名

假如想知道某一程序的相关信息,可以配合 whereis 使用 pacman

  1. whereis sudo
  2. sudo: /usr/bin/sudo /usr/share/man/man8/sudo.8.gz
  3.  
  4. pacman -Qo /usr/bin/sudo
  5. /usr/bin/sudo is owned by sudo 1.6.9p18-1
  6.  
  7. pacman -Qi sudo
  8. Name : sudo
  9. Version : 1.6.9p18-1
  10. URL : http://www.sudo.ws/sudo/
  11. Licenses : custom ISC
  12. Groups : None
  13. Provides : None
  14. Depends On : glibc pam
  15. Optional Deps : None
  16. Required By : None
  17. Conflicts With : None
  18. Replaces : None
  19. Installed Size : 308.00 K
  20. Packager : Allan McRae <allan@archlinux.org>
  21. Architecture : i686
  22. Build Date : Sat 15 Nov 2008 06:17:33 AM CST
  23. Install Date : Fri 21 Nov 2008 12:20:07 PM CST
  24. Install Reason : Explicitly installed
  25. Install Script : No
  26. Description : Give certain users the ability to run some commands as root
  27.  
  28. pacman -Ql sudo
  29. sudo /etc/
  30. sudo /etc/pam.d/
  31. sudo /etc/pam.d/sudo
  32. sudo /etc/sudoers
  33. sudo /usr/
  34. sudo /usr/bin/
  35. sudo /usr/bin/sudo
  36. sudo /usr/bin/sudoedit
  37. sudo /usr/lib/
  38. sudo /usr/lib/sudo_noexec.so
  39. sudo /usr/sbin/
  40. sudo /usr/sbin/visudo
  41. sudo /usr/share/
  42. sudo /usr/share/licenses/
  43. sudo /usr/share/licenses/sudo/
  44. sudo /usr/share/licenses/sudo/LICENSE
  45. sudo /usr/share/man/
  46. sudo /usr/share/man/man5/
  47. sudo /usr/share/man/man5/sudoers.5.gz
  48. sudo /usr/share/man/man8/
  49. sudo /usr/share/man/man8/sudo.8.gz
  50. sudo /usr/share/man/man8/sudoedit.8.gz
  51. sudo /usr/share/man/man8/visudo.8.gz

其他

  1. # 只下载软件包,不安装
  2. pacman -Sw 软件包名称
  3. # Pacman 下载的软件包缓存于 /var/cache/pacman/pkg/ 目录。清理未安装的包
  4. pacman -Sc
  5. # 清理所有缓存的文件
  6. pacman -Scc
  7. # 搜索孤立软件包
  8. pacman -Qdt