159 lines
2.7 KiB
Markdown
159 lines
2.7 KiB
Markdown
#### 简介
|
||
|
||
arch linux 下的包管理工具。在3.0.0之后,pacman就是libalpm(Arch Linux Package Management library)的前端。
|
||
|
||
#### 语法
|
||
|
||
```bash
|
||
pacman <operation> [options] [targets]
|
||
```
|
||
|
||
#### 操作
|
||
|
||
```
|
||
-D,--database # 操作软件包的数据库。
|
||
-Q,--query # 查询软件包数据库。
|
||
-R,--remove # 删除软件包
|
||
-S,--sync # 同步软件包
|
||
-T,--deptest # 检查依赖。**此操作没有选项**。
|
||
-U,--upgrade # 更新或添加软件包
|
||
-F,--files # 查询文件数据库
|
||
-V,--version # 显示版本信息
|
||
-h,--help # 显示帮助信息
|
||
```
|
||
|
||
#### 选项
|
||
|
||
##### 一般选项
|
||
|
||
```
|
||
-b
|
||
-r
|
||
-v
|
||
--arch
|
||
--cachedir
|
||
--color
|
||
--config
|
||
--debug
|
||
--gpgdir
|
||
--hookdir
|
||
--logfile
|
||
--noconfirm
|
||
--confirm
|
||
```
|
||
|
||
##### 事物选项(-S,-R,-U)
|
||
|
||
```
|
||
-d
|
||
--assum-installed
|
||
--dbonly
|
||
--noprogressbar
|
||
--noscriptlet
|
||
-p
|
||
--print-format
|
||
```
|
||
|
||
##### 升级选项(-S, -U)
|
||
|
||
```
|
||
--force
|
||
--asdeps
|
||
--asexplicit
|
||
--ignore
|
||
--ignoregroup
|
||
--needed
|
||
```
|
||
|
||
##### 查询选项(-Q)
|
||
|
||
```
|
||
-c
|
||
-d
|
||
-e
|
||
-g
|
||
-i,--info # 查看软件包的信息
|
||
-k
|
||
-l,--list # 列出要查询的软件包所包含的文件
|
||
-m
|
||
-n
|
||
-o,--owns <file> # 查找指定文件所归属的软件包
|
||
-q
|
||
-s # 从本地软件包寻找满足正则表达式的结果
|
||
-t
|
||
-u
|
||
```
|
||
|
||
##### 删除选项(-R)
|
||
|
||
```
|
||
-c
|
||
-n
|
||
-s # 递归删除
|
||
-u
|
||
```
|
||
|
||
##### 同步选项(-S)
|
||
|
||
```
|
||
-c
|
||
-g
|
||
-i
|
||
-l
|
||
-q
|
||
-s # 从同步数据库中搜索满足正则表达式的所有软件包
|
||
-u # 升级所有的软件包
|
||
-w
|
||
-y # 从pacman.conf定义的服务器上下载主数据库的新副本
|
||
```
|
||
|
||
##### 数据库选项(-D)
|
||
|
||
```
|
||
--asdeps
|
||
--asexplicit
|
||
-k
|
||
```
|
||
|
||
##### 文件选项(-F)
|
||
|
||
```
|
||
-y, --refresh # 从服务器更新包数据库。使用两次则表示强制更新。
|
||
-l, --list # 列出包所包含的文件。
|
||
-x, --regex # 以正则表达式检索。
|
||
-q, --quiet # 显示更少的信息。
|
||
--machinereadable # 以机器易读的方式打印。
|
||
```
|
||
|
||
#### 管理配置文件
|
||
|
||
|
||
#### 使用示例
|
||
|
||
```bash
|
||
pacman -Ss glibc # 从软件包数据库中查询glibc
|
||
pacman -S python # 下载并安装python
|
||
pacman -U <pkg> # 本地安装软件包
|
||
pacman -Syu # 更新并升级
|
||
pacman -Qs glibc # 查询满足glibc的本地安装包
|
||
pacman -Qo /usr/lib/libm.a # 查询文件libm.a所归属的软件包
|
||
pacman -S --help # 查询安装软件包的方法
|
||
```
|
||
|
||
#### 错误解决
|
||
|
||
##### 1
|
||
|
||
- 错误提示:error: failed to commit transaction (conflicting files)。
|
||
|
||
- 原因分析:这是文件冲突,pacman不会主动覆盖已经存在的文件。
|
||
|
||
- 解决方法:将冲突的文件删除,重命名或转移到其它文件夹。
|
||
|
||
|
||
##### 2
|
||
|
||
- 错误提示:error: failed to commit transaction (invalid or corrupted package)
|
||
- 原因分析:系统较长时间没更新,导致keyring过期了。
|
||
- 解决方法:`pacman -Sy archlinux-keyring && pacman -Su`
|