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-1pacman -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 rootpacman -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