Pacman
Pacman 是 Archlinux 默认的包管理工具,由 Archlinux 的创始人 Judd Vinet 开发。Pacman 可以很好的处理依赖关系、通过网络使用软件仓库。使用 Pacman,你不仅可以更新 Archlinux 的整个系统,而且能够对包进行管理,包括安装、删除、升级等。同时,Pacman 也允许你搜索包和查看有关包的信息。
配置
Pacman 的配置文件为 /etc/pacman.conf
,可以在其中设定使用的软件源分支
[core]
# 在这里添加你的首选服务器,它们将被优先使用
Include = /etc/pacman.d/mirrorlist
[extra]
# 在这里添加你的首选服务器,它们将被优先使用
Include = /etc/pacman.d/mirrorlist
[community]
# 在这里添加你的首选服务器,它们将被优先使用
Include = /etc/pacman.d/mirrorlist
#[testing]
#Include = /etc/pacman.d/mirrorlist
# 自定义软件仓库的示例
#[custom]
#Server = file:///home/custompkgs
# archlinuxfr 软件仓库
[archlinuxfr]
Server = http://repo.archlinux.fr/i686
指定 Pacman 使用的下载工具
- # 默认(不指定的情况下)为 wget
- #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
- # 使用 aria2 下载 ,删除下一行行首注释符
#
- #XferCommand = aria2c -s 5 -m 5 -d / -o %o %u
- # 使用 curl 下载
- #XferCommand = /usr/bin/curl %u > %o
命令
Pacman 是一个命令行工具,这意味着当你执行下面的命令时,必须在终端或控制台中进行。
更新系统
在 Archlinux 中,使用一条命令即可对整个系统进行更新:
pacman -Syu
如果你已经使用 pacman -Sy 将本地的包数据库与远程的仓库进行了同步,也可以只执行:
pacman -Su
安装软件包
这个命令你应该见过无数次了:
pacman -S 软件包名称
- 如果同时安装多个包,用空格分隔包名
其它用法:
# 先同步包数据库再安装
pacman -Sy 软件包名称
# 显示一些操作信息后执行安装
pacman -Sv 软件包名称
# 安装本地软件包,其扩展名为 pkg.tar.gz
pacman -U 软件包名称
删除软件包
# 只删除软件包,不删除该软件包的依赖
pacman -R 软件包名称
# 删除软件包的同时,也将删除其依赖
pacman -Rs 软件包名称
# 删除软件包、依赖关系、配置文件
pacman -Rsn 软件包名称
# 删除包时不检查依赖
pacman -Rd 软件包名称
搜索
通过关键字搜索软件包
- pacman -Ss
关键字
搜索已安装的包
- # 查看软件包信息
- pacman -Qi 软件包名称
- # 列出软件包的文件
- pacman -Ql 软件包名称
- # 查看某一文件属于哪个软件包
- pacman -Qo
文件名
假如想知道某一程序的相关信息,可以配合 whereis 使用 pacman
whereis sudo
- sudo:
/usr/bin/sudo
/usr/share/man/man8/sudo.8.gzpacman -Qo /usr/bin/sudo
- /usr/bin/sudo is owned by sudo 1.6.9p18-1
pacman -Qi sudo
- Name : sudo
- Version : 1.6.9p18-1
- URL : http://www.sudo.ws/sudo/
- Licenses : custom ISC
- Groups : None
- Provides : None
- Depends On : glibc pam
- Optional Deps : None
- Required By : None
- Conflicts With : None
- Replaces : None
- Installed Size : 308.00 K
- Packager : Allan McRae <allan@archlinux.org>
- Architecture : i686
- Build Date : Sat 15 Nov 2008 06:17:33 AM CST
- Install Date : Fri 21 Nov 2008 12:20:07 PM CST
- Install Reason : Explicitly installed
- Install Script : No
- Description : Give certain users the ability to run some commands as root
pacman -Ql sudo
- sudo /etc/
- sudo /etc/pam.d/
- sudo /etc/pam.d/sudo
- sudo /etc/sudoers
- sudo /usr/
- sudo /usr/bin/
- sudo /usr/bin/sudo
- sudo /usr/bin/sudoedit
- sudo /usr/lib/
- sudo /usr/lib/sudo_noexec.so
- sudo /usr/sbin/
- sudo /usr/sbin/visudo
- sudo /usr/share/
- sudo /usr/share/licenses/
- sudo /usr/share/licenses/sudo/
- sudo /usr/share/licenses/sudo/LICENSE
- sudo /usr/share/man/
- sudo /usr/share/man/man5/
- sudo /usr/share/man/man5/sudoers.5.gz
- sudo /usr/share/man/man8/
- sudo /usr/share/man/man8/sudo.8.gz
- sudo /usr/share/man/man8/sudoedit.8.gz
- sudo /usr/share/man/man8/visudo.8.gz
其他
# 只下载软件包,不安装
pacman -Sw 软件包名称
# Pacman 下载的软件包缓存于 /var/cache/pacman/pkg/ 目录。清理未安装的包
pacman -Sc
# 清理所有缓存的文件
pacman -Scc
# 搜索孤立软件包
pacman -Qdt