安装指定的包
安装或者升级单个软件包,或者一列软件包(包含依赖包),使用如下命令:
# pacman -S package_name1 package_name2 ...
用正则表达式安装多个软件包:
# pacman -S $(pacman -Ssq package_regex)
有时候在不同的软件仓库中,一个软件包有多个版本(比如[extra]和[testing])。可以选择一个来安装:
# pacman -S extra/package_name
安装包组
一些包属于一个可以同时安装的包组。例如,运行下面的命令
# pacman -S gnome
有的包组包含大量的软件包,有时用户只需其中几个。除了逐一键入序号外,pacman 还支持选择或排除某个区间内的的软件包:
Enter a selection (default=all): 1-10 15
这将选中序号 1 至 10 和 15 的软件包。而
Enter a selection (default=all): ^5-8 ^2
将会选中除了序号 5 至 8 和 2 之外的所有软件包。
想要查看哪些包属于 gnome 组,运行:
# pacman -Sg gnome
删除软件包
删除单个软件包,保留其全部已经安装的依赖关系
pacman -R package_name
删除指定软件包,及其所有没有被其他已安装软件包使用的依赖关系:
pacman -Rs package_name
要删除软件包和所有依赖这个软件包的程序:
# pacman -Rsc package_name
要删除软件包,但是不删除依赖这个软件包的其他程序:
# pacman -Rdd package_name
pacman 删除某些程序时会备份重要配置文件,在其后面加上*.pacsave扩展名。-n 选项可以删除这些文件:
pacman -Rn package_name
pacman -Rsn package_name
升级软件包
# pacman -Syu
查询包数据库
pacman 使用 -Q 参数查询本地软件包数据库。参见:
$ pacman -Q --help
使用 -S 参数来查询远程同步的数据库。参见:
$ pacman -S --help
pacman 可以在包数据库中查询软件包,查询位置包含了软件包的名字和描述:
$ pacman -Ss string1 string2 ...
要查询已安装的软件包:
$ pacman -Qs string1 string2 ...
显示软件包的详尽的信息:
$ pacman -Si package_name
查询本地安装包的详细信息:
$ pacman -Qi package_name
使用两个 -i 将同时显示备份文件和修改状态:
$ pacman -Qii package_name
要获取已安装软件包所包含文件的列表:
$ pacman -Ql package_name
未安装的软件包使用 pkgfile。
检查软件包安装的文件是否都存在:
$ pacman -Qk package_name
查询数据库获取某个文件属于哪个软件包:
$ pacman -Qo /path/to/file_name
要罗列所有不再作为依赖的软件包(孤立orphans):
$ pacman -Qdt
要显示软件包的依赖树:
$ pactree package_name
检查一个安装的软件包被那些包依赖,可以使用 pkgtools 提供的 whoneeds:
$ whoneeds package_name
清理软件包缓存
使用内建选项即可清除未安装软件包的缓存:
# pacman -Sc
其它命令
升级系统时安装其他软件包:
# pacman -Syu package_name1 package_name2 ...
下载包而不安装它:
# pacman -Sw package_name
安装一个本地包(不从源里下载):
# pacman -U /path/to/package/package_name-version.pkg.tar.xz
小贴士: 要将本地包保存至缓存,可执行:
# pacman -U file://path/to/package/package_name-version.pkg.tar.xz
安装一个远程包(不在 pacman 配置的源里面):
# pacman -U http://www.example.com/repo/example.pkg.tar.xz