pacman是arch linux的软件包管理器 pacman使用的package格式为*.pkg.tar.gz
安装指定的package
pacman -S package_name1 package_name2 ...
安装package group
有的软件属于一个组,可以被同时安装, 例如下面这条命令:
pacman -S gnome
将会提示你从gnome group里面选择安装哪些软件.
提示信息如下:
Enter a selection (default=all): 1-10 15
1-10 15表示选择第1到10个package和第15个package
如果想排除某几个安装包,可以按如下的方式操作:
Enter a selection (default=all): ^5-8 ^2
表示排除第5到第8个和排除第2个.
查看某个package group中包含那些软件包
pacman -Sg gnome
查看gnome这个group里面包含了哪些软件包.
移除某个安装包,但是保留依赖关系
pacman -R package_name
移除某个安装包,并且移除其他以安装软件不需要的依赖
pacman -Rs package_name
upgrading the system
推荐upgrade 整个系统,而不是upgrade部分软件.
为了避免partial upgrades, 不要使用pacman -Sy
这个命令
你应该总是使用pacman -Syu
尽量避免使用–force选项,因为这个选项会忽略冲突
partial upgrades are unsupported 由于arch linux是滚动发行(rolling release)的,也就是说 当有新的库推送到仓库的时候,developers 和 trusted users将会 重新构建所有依赖这个库的软件包. 例如有两个软件包都依赖同一个库,如果只更新了其中一个软件,也会导致 库被更新,也就是说会导致另外一个软件broken.
在数据库中搜索package
pacman -Ss string1 string2 ...
搜索已经安装的package
pacman -Qs string1 string2 ...
查看更多关于指定package的信息
pacman -Si package_name
查看本地安装包的详细信息
pacman -Qi package_name
查看本地已安装package安装的文件列表
pacman -Ql package_name
查看某个文件或者文件夹属于哪个package
pacman -Qo /path/to/file_name
例如:
$ pacman -Qo /etc/X11/xorg.conf.d/ /etc/X11/xorg.conf.d/ is owned by xorg-server 1.19.3-2
查看某个package的依赖关系树
pactree package_name
对于每一个在/etc/pacman.conf设置的repository,在/val/lib/pacman/sync中 都有一个对应的database 如:
/var/lib/pacman/sync]$ ls community.db core.db extra.db
database是gzip格式的压缩包,解压后可以看到很多以package命名的目录 例如:
$ tree openssl-1.1.0.e-1/ openssl-1.1.0.e-1/ └── desc
desc文件里面包含package的描述信息,版本号,大小,MD5值, hash值, licence, 依赖的package.
pacman 将下载下来的package存储在/var/cache/pacman/pkg
并且不会自动清理旧的安装包
清除缓存的package,并保留当前已安装的packages
pacman -Sc
下载packages但是不安装
pacman -Sw
安装一个本地的package
例: pacman -U /path/to/package/package_name-version.pkg.tar.xz