显示页面过去修订反向链接回到顶部 本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 #Arch linux package manager pacman是arch linux的软件包管理器 pacman使用的package格式为*.pkg.tar.gz # Install packages *安装指定的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里面包含了哪些软件包. # Remove packages *移除某个安装包,但是保留依赖关系* `pacman -R package_name` *移除某个安装包,并且移除其他以安装软件不需要的依赖* `pacman -Rs package_name` # Upgading packages *upgrading the system* 推荐upgrade 整个系统,而不是upgrade部分软件. 为了避免partial upgrades, 不要使用`pacman -Sy`这个命令 你应该总是使用`pacman -Syu` 尽量避免使用--force选项,因为这个选项会忽略冲突 *partial upgrades are unsupported* 由于arch linux是滚动发行(rolling release)的,也就是说 当有新的库推送到仓库的时候,developers 和 trusted users将会 重新构建所有依赖这个库的软件包. 例如有两个软件包都依赖同一个库,如果只更新了其中一个软件,也会导致 库被更新,也就是说会导致另外一个软件broken. # Query package databases 在数据库中搜索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` # Database structure 对于每一个在/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. # Cleaning the package chache pacman 将下载下来的package存储在/var/cache/pacman/pkg 并且不会自动清理旧的安装包 清除缓存的package,并保留当前已安装的packages `pacman -Sc` # Additional commands 下载packages但是不安装 `pacman -Sw` 安装一个本地的package 例: `pacman -U /path/to/package/package_name-version.pkg.tar.xz` blog/linux_system_manage/archlinux_pacman.txt 最后更改: 2025/02/02 23:10由 127.0.0.1