ArchWiki 中 pacman 部分

ArchWiki

pacman 的目标是简化对软件包的管理。

pacman 用 C 语言编写,并使用 tar 作为打包格式.

似乎是,官方的软件仓库的内容可直接用 pacman 下载.

运行 pacman -Ql pacman | grep -E 'bin/.+' 可查看完整的工具列表。

pacman-contrib 软件包包含一些有用的工具。

pacman 和其他包管理器对比

在 Arch 上安装软件包时,避免在还没有更新系统前刷新同步软件包列表.

更新软件包:

1
$ pacman -Syy

pacman 配置

配置文件在 /etc/pacman.conf.

在末尾添加的:

1
Include = /etc/pacman.d/archlinux

这个 Include 就是引入后面这个文件.

各种指令和小技巧

主要分为三大类:

  • -S, Synchronize, 安装
  • -R, Remove, 删除
  • -Q, Query, 查询本地的软件

一般后面都要跟 1~2 个小写字母.

-S 相关

sudo pacman -Sy 这个是获取最新的软件信息.

sudo pacman -Syy 这个是强制更新软件库.

但以上两个不会实际更新你的软件.

sudo pacman -Su 这个 u 是 update.

sudo pacman -Syu 就会刷新软件库并更新软件.

sudo pacman -Ss 这个 s 就是 search. 用来查询

pacman 在下在完一个软件包之后, 会将安装包留在本地, sudo pacman -Sc 会删除缓存.

-R 相关

sudo pacman -R +软件名 这条命令不会删除相关依赖.

sudo pacman -Rs +软件名 这条命令会删除相关依赖.

sudo pacman -Rns +软件名 会删除全局的配置文件, 但你 local 的如 .vimrc 不会被删除.

-Q 相关

sudo pacman -Q | wc -l 可以查看你已经安装了有多少个软件.

sudo pacman -Qe 可以查看你自己安装的软件, 除去系统安装的.

sudo pacman -Qeq 不会显示版本号.

sudo pacman -Qs +软件名

sudo pacman -Qdt, 这里 dt 是 dependencies, 显示不再被需要的依赖.

删除这些 sudo pacman -R $(sudo pacman -Qdt)

error: GPGME error: No data 解决

参考

1
2
$ sudo rm -rf /var/lib/pacman/sync
$ sudo pacman -Syu

技巧积累

更新特定包

vim:

1
sudo pacman -S vim

忽略某个包的升级

在命令行, 可以用 --ignore, 如:

1
sudo pacman -Su --ignore vim --ignore perl

若每次都想忽略, 而不想每次在命令行添加参数, 可以写入 /etc/pacman.conf, 如:

1
2
[options]
IgnorePkg = 包名1 包名2

将包下载到本地

1
sudo pacman -Sw fmt

但这似乎不能指定版本.

解压包, 如:

1
tar -I zstd -xvf fmt-10.2.0-1-x86_64.pkg.tar.zst

ArchWiki 中 pacman 部分
http://example.com/2022/08/30/ArchWiki-中-pacman-部分/
作者
Jie
发布于
2022年8月30日
许可协议