man pacman
pacman package manager utility 包管理工具
用法如下:
pacman <操作> [选项] [目标] 操作是必须的,选项和目标是可选的
描述:
pacman是一个包管理实用程序,用于跟踪Linux系统上安装的软件包。它具有依赖性支持、包组、安装和卸载脚本,以及具有将本地计算机与远程仓库同步以自动升级包的功能。pacman包是压缩tar格式。
从3.0.0版开始,pacman就一直是libalpm(3)的前端,“Arch Linux Package Management”库。libalpm库允许编写可选的前端(例如,一个GUI前端)。
调用pacman需要指定一个具有任何潜在选项和目标的操作。目标通常是包名、文件名、URL或搜索字符串。目标可以作为命令行参数提供。此外,如果stdin不是来自终端,并且单个连字符(-)作为参数传递,则将从stdin读取目标。
有如下的几种操作:
-D --database
这个操作用于操作包数据库。此操作允许您修改pacman数据库中已安装软件包的某些属性。它还允许您检查数据库的内部一致性。请参阅以下数据库选项
-Q --query
查询包数据库。此操作允许您查看已安装的包及其文件,以及有关单个包的元信息(依赖项、冲突、安装日期、构建日期、大小)。这可以针对本地包数据库运行,也可以用于单个包文件。在第一种情况下,如果命令行中没有提供包名称,则将查询所有已安装的包。此外,可以在包列表上应用各种过滤器。请参见下面的查询选项。
-R --remove
从系统中删除程序包。还可以指定要删除的包组,在这种情况下,该组中的每个包都将被删除。将删除属于指定的包的文件,并更新数据库。大多数配置文件将以.pacsave扩展名保存,除非使用--nosave选项。请参见下面的删除选项。
-S --sync
此操作用于同步包。直接从远程仓库安装软件包,包括运行该软件包所需的所有依赖项也一并安装。例如:pacman -S qt将下载并安装qt及其依赖的所有软件包。如果包名称存在于多个仓库中,可以显式指定仓库以阐明要安装的包,pacman -S testing/qt 。还可以指定版本: pacman -S "bash>=3.2" ,这里引号是必须的,否则shell将“>”解释为重定向到文件。
除了包之外,还可以指定组。例如,如果gnome是一个已定义的包组,那么pacman-s gnome将提供一个提示,允许您从编号列表中选择要安装的包。使用空格-和/或逗号分隔的包编号列表指定选择哪些包。可以通过指定用连字符(-)分隔的第一个和最后一个包编号来选择顺序包。排除包是通过在数字或数字范围前面加上插入符号(^)来实现的。
还处理提供其他包的包。例如,pacman-S foo将首先查找foo包。如果找不到foo,将搜索与foo相同功能的包。如果找到任何包,将安装它。如果找到多个提供foo的包,将提供选择提示。
您还可以使用pacman-Su升级所有过期的包。请参见下面的同步选项。升级时,pacman执行版本比较,以确定哪些包需要升级。此行为的操作方式如下:
字母数字:
1.0a < 1.0b < 1.0beta < 1.0p < 1.0pre < 1.0rc < 1.0 < 1.0.a < 1.0.1
数字:
1 < 1.0 < 1.1 < 1.1.1 < 1.2 < 2.0 < 3.0.0
此外,版本字符串可以定义一个epoch值,该值将否决任何版本比较,除非epoch值相等。这是以epoch:version rel格式指定的。例如,2:1.0-1总是大于1:3.6-1。
-T --deptest
检查依赖关系;这在makepkg等脚本中非常有用,可以检查已安装的软件包。此操作将检查指定的每个依赖项,并返回系统上当前未满足的依赖项列表。此操作不接受其他选项。示例用法:pacman-T qt“bash>=3.2”。
-U --upgrade
升级或添加软件包到系统并从同步仓库安装所需的依赖项。可以指定URL或文件路径。这是一个“删除然后添加”的过程。请参阅下面的升级选项;另请参阅处理配置文件以获取有关Pacman如何处理配置文件的说明。
-F --files
查询文件数据库。此操作允许您查找含有指定文件的软件包或显示指定包所拥有的文件。只搜索属于同步数据库的包。请参见下面的文件选项。
-V --version
显示版本并退出。
-h --help
显示给定的操作的语法。如果未提供任何操作,则显示一般语法。
选项:
-b, --dbpath <path>
指定备用数据库位置(默认值为/usr/local/var/lib/pacman)。除非你知道你在做什么,否则不应该使用这个选项。注意:如果指定,这是一个绝对路径,并且根路径不会自动预置。
-r, --root <path>
指定备用的安装根目录(默认为/)。这不应该被用于将软件安装到/usr/local而不是/usr中的方法。注意:如果在命令行或pacman.conf(5)中都没有指定数据库路径或日志文件,那么它们的默认位置将在这个根路径中。注意:此选项不适用于在mount进来的来宾系统上执行操作。请参阅--sysroot。
-v, --verbose
输出详细信息,如根路径、conf文件、db路径、缓存目录等。
--arch <arch>
指定备用架构
--cachedir <dir>
指定另一个软件包缓存位置(默认值为/usr/local/var/cache/pacman/pkg)。可以指定多个缓存目录,并按照传递给pacman的顺序进行尝试。注意:这是一个绝对路径,并且根路径不会没有自动预设。
--color <when>
指定何时启用着色。有效的选项是always、never或auto。always强制颜色打开;never强制颜色关闭;auto仅在输出到tty时自动启用颜色。
--config <file>
指定备用配置文件。
--debug
显示调试消息。报告错误时,建议使用此选项。
--gpgdir <dir>
指定GnuPG 用于验证包签名的文件目录(默认为/usr/local/etc/pacman.d/gnupg)。这个目录应该包含两个文件:pubring.gpg和trustdb.gpg。pubring.gpg持有所有包程序的公钥。trustdb.gpg包含一个所谓的信任数据库,它指定密钥是可信的。注意:这是一个绝对路径,并且根路径不会自动预设。
--hookdir <dir>
指定包含hook文件的备选目录(默认为/usr/local/etc/pacman.d/hooks)。可以指定多个hook目录,在后面的目录中钩子优先于前面目录中的钩子。注意:这是一个绝对路径,并且根路径不会不会自动预设。
--logfile <file>
指定备用日志文件。这是绝对路径,与安装根设置无关。
--noconfirm
绕过“你确定吗?“消息。除非你想从脚本中运行pacman,否则这样做不是个好主意。
--confirm
取消前一个--noconfirm的效果。
--disable-download-timeout
禁用低速限制和下载超时的默认值。如果使用代理和/或安全网关下载文件时遇到问题,请使用此选项。
--sysroot <dir>
指定备用系统根目录。在运行之前,pacman将chroot和chdir导入系统根目录。这样可以正确操作已挂载的客户系统。给出的任何其他路径都将被解释为相对于系统根目录。需要根权限。
交易选项(适用于-S,-R和-U)
-d, --nodeps
跳过依赖项版本检查。仍然检查包名称。通常,pacman会检查包的依赖项字段,以确保安装了所有依赖项,并且系统中没有包冲突。将此选项指定两次以跳过所有依赖项检查。
--assume-installed <package=version>
添加版本为version的名称为package的虚拟包到事务中以满足依赖关系。这允许在不影响所有依赖性检查的情况下禁用特定依赖性检查。要禁用所有依赖性检查,请参见--nodeps选项。
--dbonly
安装删除软件的时候,仅添加/删除数据库条目,保留所有文件。
--noprogressbar
下载文件时不显示进度条。这对于调用pacman并捕获输出的脚本非常有用。
--noscriptlet
如果软件包中存在isntall scriptlet,不要执行该脚本。除非你知道你在做什么,否则不要使用这个选项。
-p, --print
只打印目标,而不执行实际操作(同步、删除或升级)。使用--print-format指定目标的显示方式。默认格式字符串是“%I”,显示URL使用-S、显示文件名使用-U,显示pkgname-pkgver使用-R。
--print-format <format>
指定类似printf格式以控制--print的输出。属性包括:pkgname为“%n”,pkgver为“%v”,位置为“%l”,存储库为“%r”,大小为“%s”。意味着 --print。
升级选项(适用于-S和-U)
--asdeps
非显示安装软件包,就是把软件包作为依赖项安装。这对于makepkg和其他需要在构建程序包之前安装依赖项的build-from-source工具非常有用。
--asexplicit
显式安装软件包;换句话说,就是显示安装软件包。如果您希望将依赖项标记为显式安装,这样--recursive remove操作就不会删除它,那么这非常有用。
--ignore <package>
--ignoregroup <group>
--needed
--overwrite <glob>
查询选项(适用于-Q)
-c, --changelog
-d, --deps
-e, --explicit
-g, --groups
-i, --info
-k, --check
-l, --list
-m, --foreign
-n, --native
-o, --owns <file>
-p, --file
-q, --quiet
-s, --search <regexp>
-t, --unrequired
-u, --upgrades
删除选项(适用于-R)
-c, --cascade
-n, --nosave
-s, --recursive
-u, --unneeded
同步选项(适用于-S)
-c, --clean
-g, --groups
-i, --info
-l, --list
-q, --quiet
-s, --search <regexp>
-u, --sysupgrade
-w, --downloadonly
-y, --refresh
数据库选项(适用于-D)
--asdeps <package>
--asexplicit <package>
-k, --check
-q, --quiet
文件选项(适用于-F)
-y, --refresh
-l, --list
-s, --search
-x, --regex
-o, --owns
-q, --quiet
--machinereadable
用法如下:
pacman <操作> [选项] [目标] 操作是必须的,选项和目标是可选的
描述:
pacman是一个包管理实用程序,用于跟踪Linux系统上安装的软件包。它具有依赖性支持、包组、安装和卸载脚本,以及具有将本地计算机与远程仓库同步以自动升级包的功能。pacman包是压缩tar格式。
从3.0.0版开始,pacman就一直是libalpm(3)的前端,“Arch Linux Package Management”库。libalpm库允许编写可选的前端(例如,一个GUI前端)。
调用pacman需要指定一个具有任何潜在选项和目标的操作。目标通常是包名、文件名、URL或搜索字符串。目标可以作为命令行参数提供。此外,如果stdin不是来自终端,并且单个连字符(-)作为参数传递,则将从stdin读取目标。
有如下的几种操作:
-D --database
这个操作用于操作包数据库。此操作允许您修改pacman数据库中已安装软件包的某些属性。它还允许您检查数据库的内部一致性。请参阅以下数据库选项
-Q --query
查询包数据库。此操作允许您查看已安装的包及其文件,以及有关单个包的元信息(依赖项、冲突、安装日期、构建日期、大小)。这可以针对本地包数据库运行,也可以用于单个包文件。在第一种情况下,如果命令行中没有提供包名称,则将查询所有已安装的包。此外,可以在包列表上应用各种过滤器。请参见下面的查询选项。
-R --remove
从系统中删除程序包。还可以指定要删除的包组,在这种情况下,该组中的每个包都将被删除。将删除属于指定的包的文件,并更新数据库。大多数配置文件将以.pacsave扩展名保存,除非使用--nosave选项。请参见下面的删除选项。
-S --sync
此操作用于同步包。直接从远程仓库安装软件包,包括运行该软件包所需的所有依赖项也一并安装。例如:pacman -S qt将下载并安装qt及其依赖的所有软件包。如果包名称存在于多个仓库中,可以显式指定仓库以阐明要安装的包,pacman -S testing/qt 。还可以指定版本: pacman -S "bash>=3.2" ,这里引号是必须的,否则shell将“>”解释为重定向到文件。
除了包之外,还可以指定组。例如,如果gnome是一个已定义的包组,那么pacman-s gnome将提供一个提示,允许您从编号列表中选择要安装的包。使用空格-和/或逗号分隔的包编号列表指定选择哪些包。可以通过指定用连字符(-)分隔的第一个和最后一个包编号来选择顺序包。排除包是通过在数字或数字范围前面加上插入符号(^)来实现的。
还处理提供其他包的包。例如,pacman-S foo将首先查找foo包。如果找不到foo,将搜索与foo相同功能的包。如果找到任何包,将安装它。如果找到多个提供foo的包,将提供选择提示。
您还可以使用pacman-Su升级所有过期的包。请参见下面的同步选项。升级时,pacman执行版本比较,以确定哪些包需要升级。此行为的操作方式如下:
字母数字:
1.0a < 1.0b < 1.0beta < 1.0p < 1.0pre < 1.0rc < 1.0 < 1.0.a < 1.0.1
数字:
1 < 1.0 < 1.1 < 1.1.1 < 1.2 < 2.0 < 3.0.0
此外,版本字符串可以定义一个epoch值,该值将否决任何版本比较,除非epoch值相等。这是以epoch:version rel格式指定的。例如,2:1.0-1总是大于1:3.6-1。
-T --deptest
检查依赖关系;这在makepkg等脚本中非常有用,可以检查已安装的软件包。此操作将检查指定的每个依赖项,并返回系统上当前未满足的依赖项列表。此操作不接受其他选项。示例用法:pacman-T qt“bash>=3.2”。
-U --upgrade
升级或添加软件包到系统并从同步仓库安装所需的依赖项。可以指定URL或文件路径。这是一个“删除然后添加”的过程。请参阅下面的升级选项;另请参阅处理配置文件以获取有关Pacman如何处理配置文件的说明。
-F --files
查询文件数据库。此操作允许您查找含有指定文件的软件包或显示指定包所拥有的文件。只搜索属于同步数据库的包。请参见下面的文件选项。
-V --version
显示版本并退出。
-h --help
显示给定的操作的语法。如果未提供任何操作,则显示一般语法。
选项:
-b, --dbpath <path>
指定备用数据库位置(默认值为/usr/local/var/lib/pacman)。除非你知道你在做什么,否则不应该使用这个选项。注意:如果指定,这是一个绝对路径,并且根路径不会自动预置。
-r, --root <path>
指定备用的安装根目录(默认为/)。这不应该被用于将软件安装到/usr/local而不是/usr中的方法。注意:如果在命令行或pacman.conf(5)中都没有指定数据库路径或日志文件,那么它们的默认位置将在这个根路径中。注意:此选项不适用于在mount进来的来宾系统上执行操作。请参阅--sysroot。
-v, --verbose
输出详细信息,如根路径、conf文件、db路径、缓存目录等。
--arch <arch>
指定备用架构
--cachedir <dir>
指定另一个软件包缓存位置(默认值为/usr/local/var/cache/pacman/pkg)。可以指定多个缓存目录,并按照传递给pacman的顺序进行尝试。注意:这是一个绝对路径,并且根路径不会没有自动预设。
--color <when>
指定何时启用着色。有效的选项是always、never或auto。always强制颜色打开;never强制颜色关闭;auto仅在输出到tty时自动启用颜色。
--config <file>
指定备用配置文件。
--debug
显示调试消息。报告错误时,建议使用此选项。
--gpgdir <dir>
指定GnuPG 用于验证包签名的文件目录(默认为/usr/local/etc/pacman.d/gnupg)。这个目录应该包含两个文件:pubring.gpg和trustdb.gpg。pubring.gpg持有所有包程序的公钥。trustdb.gpg包含一个所谓的信任数据库,它指定密钥是可信的。注意:这是一个绝对路径,并且根路径不会自动预设。
--hookdir <dir>
指定包含hook文件的备选目录(默认为/usr/local/etc/pacman.d/hooks)。可以指定多个hook目录,在后面的目录中钩子优先于前面目录中的钩子。注意:这是一个绝对路径,并且根路径不会不会自动预设。
--logfile <file>
指定备用日志文件。这是绝对路径,与安装根设置无关。
--noconfirm
绕过“你确定吗?“消息。除非你想从脚本中运行pacman,否则这样做不是个好主意。
--confirm
取消前一个--noconfirm的效果。
--disable-download-timeout
禁用低速限制和下载超时的默认值。如果使用代理和/或安全网关下载文件时遇到问题,请使用此选项。
--sysroot <dir>
指定备用系统根目录。在运行之前,pacman将chroot和chdir导入系统根目录。这样可以正确操作已挂载的客户系统。给出的任何其他路径都将被解释为相对于系统根目录。需要根权限。
交易选项(适用于-S,-R和-U)
-d, --nodeps
跳过依赖项版本检查。仍然检查包名称。通常,pacman会检查包的依赖项字段,以确保安装了所有依赖项,并且系统中没有包冲突。将此选项指定两次以跳过所有依赖项检查。
--assume-installed <package=version>
添加版本为version的名称为package的虚拟包到事务中以满足依赖关系。这允许在不影响所有依赖性检查的情况下禁用特定依赖性检查。要禁用所有依赖性检查,请参见--nodeps选项。
--dbonly
安装删除软件的时候,仅添加/删除数据库条目,保留所有文件。
--noprogressbar
下载文件时不显示进度条。这对于调用pacman并捕获输出的脚本非常有用。
--noscriptlet
如果软件包中存在isntall scriptlet,不要执行该脚本。除非你知道你在做什么,否则不要使用这个选项。
-p, --print
只打印目标,而不执行实际操作(同步、删除或升级)。使用--print-format指定目标的显示方式。默认格式字符串是“%I”,显示URL使用-S、显示文件名使用-U,显示pkgname-pkgver使用-R。
--print-format <format>
指定类似printf格式以控制--print的输出。属性包括:pkgname为“%n”,pkgver为“%v”,位置为“%l”,存储库为“%r”,大小为“%s”。意味着 --print。
升级选项(适用于-S和-U)
--asdeps
非显示安装软件包,就是把软件包作为依赖项安装。这对于makepkg和其他需要在构建程序包之前安装依赖项的build-from-source工具非常有用。
--asexplicit
显式安装软件包;换句话说,就是显示安装软件包。如果您希望将依赖项标记为显式安装,这样--recursive remove操作就不会删除它,那么这非常有用。
--ignore <package>
--ignoregroup <group>
--needed
--overwrite <glob>
查询选项(适用于-Q)
-c, --changelog
-d, --deps
-e, --explicit
-g, --groups
-i, --info
-k, --check
-l, --list
-m, --foreign
-n, --native
-o, --owns <file>
-p, --file
-q, --quiet
-s, --search <regexp>
-t, --unrequired
-u, --upgrades
删除选项(适用于-R)
-c, --cascade
-n, --nosave
-s, --recursive
-u, --unneeded
同步选项(适用于-S)
-c, --clean
-g, --groups
-i, --info
-l, --list
-q, --quiet
-s, --search <regexp>
-u, --sysupgrade
-w, --downloadonly
-y, --refresh
数据库选项(适用于-D)
--asdeps <package>
--asexplicit <package>
-k, --check
-q, --quiet
文件选项(适用于-F)
-y, --refresh
-l, --list
-s, --search
-x, --regex
-o, --owns
-q, --quiet
--machinereadable
评论
发表评论