blog:linux_system_manage:archlinux_pacman

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
  • 最后更改: 2022/01/09 22:54
  • 127.0.0.1