Pacman 备忘清单
Pacman 备忘清单
这个 Pacman 快速参考备忘单显示了它的常用命令使用清单以及常用操作
pacman 清单查询
介绍
Pacman软件包管理器是 Arch Linux 的一大亮点。它将一个简单的二进制包格式和易用的构建系统结合了起来。_Pacman_的目标是简化对软件包的管理,无论软件包是来自官方软件仓库还是用户自己创建的软件包。 以上文字源于ArchWiki 中对Pacman的介绍
$ pacman [options] [command] [package ...]
- Arch 中 Pacman 中文介绍 (https://wiki.archlinux.org/title/Pacman)
Pacman 帮助
显示 pacman 命令和选项
pacman -h
显示 pacman 子命令和选项
用法: pacman <操作> [...]
操作:
pacman {-h --help}
pacman {-V --version}
pacman {-D --database} <选项> <软件包>
pacman {-F --files} [选项] [文件]
pacman {-Q --query} [选项] [软件包]
pacman {-R --remove} [选项] <软件包>
pacman {-S --sync} [选项] [软件包]
pacman {-T --deptest} [选项] [软件包]
pacman {-U --upgrade} [选项] <文件>
Pacman常用操作
Si
查询某个软件包的详细信息
# 列出存储库中的包名称
pacman -Si package
info
列出已安装和可用的内核包
# 列出有关 `vsftpd` 软件包的信息
$ pacman info vsftpd
deplist
显示包的依赖项
$ pacman deplist nfs-utils
列出依赖项和提供它们的包
provides
# 查找提供查询文件的包
$ pacman provides “*bin/top”
# 显示包含 README.top 文件的包
$ pacman provides “*/README.top”
search
# 查找名称或描述中带有 samba 的软件包
$ pacman search samba
updateinfo
# 获取有关可用软件包更新的信息
$ pacman updateinfo security
获取有关可用 security 更新的信息
包组
grouplist
列出已安装和可用软件包组的名称
groupinfo
# 查看 Web 服务器组中的包
$ pacman groupinfo "Web Server"
check-update
查询存储库以获取可用的软件包更新
管理 pacman 存储库
repolist
显示启用的软件存储库
repoinfo
显示有关启用的 pacman
存储库的信息 *
$ pacman repoinfo rhel-7-server-rpms
请参阅有关 rhel-7-server-rpms 存储库的信息
repo-pkgs
使用特定存储库中的包 *
# 列出来自 my-rpms 存储库的软件包
$ pacman repo-pkgs my-rpms list
# 从 my-rpms repo 安装所有软件包
$ pacman repo-pkgs my-rpms install
# 从 my-rpms 存储库中删除所有软件包
$ pacman repo-pkgs my-rpms remove
makecache
下载 pacman
存储库数据到缓存
故障排除和维护 pacman
check
检查本地 RPM 数据库是否有问题(运行了很长时间)
history
# 列出所有 pacman 安装、更新和清理操作
$ pacman history list
# 显示 pacman info 3 的详细信息
$ pacman history info 3
# 撤消事务 3 中的 pacman 操作
$ pacman history undo 3
# 重做事务 3 中撤消的 pacman 操作
$ pacman history redo 3
clean
# 删除缓存中保存的包
$ pacman clean packages
# 从缓存中清除所有包和元数据
$ pacman clean all
清除缓存的包数据
fssnapshot
列出 LVM 快照(帮助在包更新后回滚)
fs
# 列出启用的文件系统过滤器
$ pacman fs filters
# 过滤所有正在安装的文档(小心!)
$ pacman fs documentation
对文件系统采取行动(防止在最小系统上安装 doc 或语言文件)非常有用!
使用 pacman 管理语言包
langavailable
列出已安装的语言 *
langinfo
# 列出与西班牙语相关的软件包
$ pacman langinfo es
langinstall
# 安装与西班牙语相关的软件包
$ pacman langinstall es
langlist
列出已安装的语言 *
langremove
# 删除与西班牙语相关的软件包
$ pacman langremove es
使用 pacman 安装、删除和升级软件包
install
# 安装 vsftpd 包
$ pacman install vsftpd
update
# 使用可用更新更新所有软件包
$ pacman update
# 更新 httpd 包(如果可用)
$ pacman update httpd
# 应用与安全相关的包更新
$ pacman update --security
update-to
将一个或所有软件包更新到特定版本
upgrade
$ pacman -y upgrade
更新包考虑过时,只升级所有包,不升级软件和系统内核
localinstall
# 从本地文件、http 或 ftp 安装包
$ pacman localinstall abc-1-1.i686.rpm
# 从本地目录安装 abc 包
$ pacman localinstall http://myrepo/abc-1-1.i686.rpm
从 FTP 站点安装 abc
downgrade
将软件包降级到早期版本
$ pacman downgrade abc
将 abc 包降级到早期版本
reinstall
# 重新安装 util-linux(以替换任何已删除的文件)
$ pacman reinstall util-linux
swap
# 删除 ftp 包并安装 lftp 包
$ pacman swap ftp lftp
erase/remove
# 删除 vsftpd 包和依赖
$ pacman remove vsftpd
autoremove
# 删除 httpd 和其他不需要的包
$ pacman autoremove httpd
groupinstall
# 安装 Web 服务器包
$ pacman groupinstall "Web server"
更多 pacman 相关命令(安装 pacman-utils 软件包)
find-repos-of-install
查找包来自哪个存储库
needs-restarting
查找已更新且需要重启的进程
repoclosure
从存储库中获取未满足的依赖项列表
repoquery
查询远程仓库和本地 RPM
数据库
# 显示依赖包
$ repoquery --requires --resolve bash
reposync
将 pacman
存储库同步到本地目录
# 从 repo 获取包
$ reposync -r rhel-atomic-host-beta-rpms
repotrack
下载一个包及其所有依赖项
show-installed
列出已安装的 RPM 包和统计信息
verifytree
检查本地 pacman 存储库的一致性
pacman-complete-transaction
尝试完成未完成的 pacman 交易
pacmandb
检查或更改 pacman 数据库
pacmandownloader
# 使用本地源离线安装 net-tools 工具包
$ pacmandownloader net-tools.x86_64
# 使用 –destdir 参数设置下载的目标目录
$ pacmandownloader net-tools.x86_64 --destdir=/usr/local/bin/
# 使用 –resolve 参数解决依赖关系并下载所需的安装包
$ pacmandownloader net-tools.x86_64 --resolve --destdir=/usr/local/bin/
从 repo 下载一个包到当前目录
不同 pacman 命令的常用选项
pacman --disableplugin=langpacks info vsftpd
# 显示与正在运行的进程相关的包
pacman --enableplugin=ps ps
pacman install docker \
--enablerepo=rhel-7-server-extras-rpm
pacman list available --disablerepo=epel
# 下载 vsftpd 包到缓存
pacman install --downloadonly vsftpd
:- | - |
---|---|
-y | 如果出现提示,假设是 |
--assumeno | 如果提示,则假设否 |
-q | 不产生任何输出 |
-v | 产生额外的调试输出 |
--noplugins | 运行命令而不加载任何 pacman 插件 |
--disableplugin= | 禁用单个命令的特定插件 |
--enableplugin= | 启用已安装但当前已禁用的插件 |
--enablerepo= | 为单个命令启用当前禁用的 repo(通配符可以) |
--disablerepo= | 为单个命令禁用当前启用的 repo(通配符可以) |
--downloadonly | 下载到 /var/cache/pacman/arch/prod/repo/packages/ ,但不要安装 |
--filter-???= | 代替???与vendors, rpm-groups, arches 和其他人一起过滤输出 |
--changelog | 显示包的变更日志信息 |
另见
- pacman 官方网站 (pacman.baseurl.org)
- pacman 备忘清单(适用于红帽 RedHad 企业 Linux) (access.redhat.com)
- 用 pacman 管理软件包 (prefetch.net)
- Fedora 中的 pacman 文档 (fedoraproject.org)
- CentOS 中的 pacman 文档 (wiki.centos.org)
- Scientific Linux 中的 pacman 文档 (scientificlinux.org)