云网牛站
所在位置:首页 > Linux常用命令大全 > 更多实用命令 > pacman命令

pacman命令

pacman是一个软件包管理器,作为 ArchLinux发行版的一部分。它最早由 Arch Linux 的 Judd Vinet开发,Pacman 可以解决安装过程中的依赖问题,自动下载并且安装所有需要的软件包。Pacman包管理器是Arch Linux的一大亮点。它将一个简单的二进制包格式和易用的构建系统结合了起来。Pacman使得简单的管理与自定义软件包成为了可能,而不论他们来自于官方的Arch软件库或是用户自己创建的。

[zhangy@BlackGhost ~]$ pacman -h

用法

pacman <操作> [...]

操作

 pacman {-h --help}       //帮助
pacman {-V --version}   //查看版本
pacman {-D --database} <选项> <软件包>  //pacman管理数据库选项
pacman {-Q --query}    [选项] [软件包]    //查询安装包
pacman {-R --remove}   [选项] <软件包>  //删除安装包
pacman {-S --sync}     [选项] [软件包]      //安装安装包
pacman {-U --upgrade}  [选项] <文件>   //更新安装包


使用 'pacman {-h --help}' 及某个操作以查看可得的选项

[zhangy@BlackGhost ~]$ pacman -D --help

用法

pacman {-D --database} <选项> <软件包>
 
选项

 --asdeps         标记为非单独指定安装的软件包  
--asexplicit     标记为单独指定安装的软件包  
--config <路径>  指定另外的配置文件  
--logfile <路径> 指定另外的日志文件  
--noconfirm      不询问确认  
--noprogressbar  下载文件时不显示进度条  
--noscriptlet    不执行安装小脚本  
-v, --verbose        循环执行  
-- debug        显示除错信息  
-r, --root <路径>    指定另外的安装根目录  
-b, --dbpath <路径>  指定另外的数据库位置  
--cachedir <目录> 指定另外的软件包缓存位置  
--arch <架构>    设定另外的架构


[zhangy@BlackGhost ~]$ pacman -Q --help
 
用法

pacman {-Q --query} [选项] [软件包]

选项

 -c, --changelog      查看某软件包的更新日志  
-d, --deps           列出所有作为依赖关系安装的软件包 [过滤器]  
-e, --explicit       列出所有单独指定安装的软件包 [过滤器]  
-g, --groups         查看某软件包组所属的所有软件包  
-i, --info           查看软件包信息 (-ii 查看备份文件)  
-k, --check          检查该软件包拥有的文件是否存在  
-l, --list           列出被查询软件包的内容  
-m, --foreign        列出没有在同步数据库时找到的已安装软件包 [过滤器]  
-o, --owns <文件>     查询哪个软件包拥有  <文件>  
-p, --file <软件包> 从某个软件包而不是数据库查询
 -s, --search  搜寻符合指定字符串的已安装本地的软件包
-t, --unrequired     列出所有不被其他软件包要求的软件包 [过滤器]  
-u, --upgrades       列出所有可升级的软件包 [过滤器]  
-q, --quiet          在查询或搜索时显示较少的信息  
--config <路径>  指定另外的配置文件  
--logfile <路径> 指定另外的日志文件  
--noconfirm      不询问确认  
--noprogressbar  下载文件时不显示进度条  
--noscriptlet    不执行安装小脚本  
-v, --verbose        循环执行  
-- debug        显示除错信息  
-r, --root <路径>    指定另外的安装根目录  
-b, --dbpath <路径>  指定另外的数据库位置  
--cachedir <目录> 指定另外的软件包缓存位置  
--arch <架构>    设定另外的架


[zhangy@BlackGhost ~]$ pacman -R --help

用法

pacman {-R --remove} [选项] <软件包>

选项

 -c, --cascade        删除软件包及所有的依赖于此的软件包  
-d, --nodeps         略过依赖关系检查  
-k, --dbonly         只删除数据库记录,不删除文件  
-n, --nosave         同时删除配置文件  
-s, --recursive      同时删除 (不会破坏其他软件包的) 依赖关系(-ss·也包括单独指定安装的依赖关系)  
-u, --unneeded       同时删除不需要的 (且不会破坏其他软件包的) 依赖关系  
--print          仅打印目标而不执行操作  
--print-format <字符串>指定如何打印目标  
--config <路径>  指定另外的配置文件  
--logfile <路径> 指定另外的日志文件  
--noconfirm      不询问确认  
--noprogressbar  下载文件时不显示进度条  
--noscriptlet    不执行安装小脚本  
-v, --verbose        循环执行  
-- debug        显示除错信息  
-r, --root <路径>    指定另外的安装根目录  
-b, --dbpath <路径>  指定另外的数据库位置  
--cachedir <目录> 指定另外的软件包缓存位置  
--arch <架构>    设定另外的架构


[zhangy@BlackGhost ~]$ pacman -S --help

用法

pacman {-S --sync} [选项] [软件包]

选项

 --asdeps         作为非单独指定安装的软件包安装  
--asexplicit     作为单独指定安装的软件包安装  
-c, --clean          从缓存目录中删除旧软件包 (-cc 清除所有)  
-d, --nodeps         略过依赖关系检查  
-f,  -force          强制安装,覆盖存在冲突的文件  
-g, --groups         查看某软件包组所属的所有软件包  
-i, --info           查看软件包信息  
-l, --list <软件库>    查看在该软件库中的软件包清单
-s, --search  按照指定字符串查询远端软件库
 -u, --sysupgrade     升级所有已安装的软件包 (-uu 可启用降级)  
-w, --downloadonly   下载但不安装/升级软件包  
-y, --refresh        从服务器下载新的软件包数据库  
--needed         不重新安装已经为最新的软件包  
--ignore <软件包>   升级时忽略某个软件包 (可多次使用)  
--ignoregroup <软件包组>升级时忽略某个软件包组 (可多次使用)  
--print          仅打印目标而不执行操作  
--print-format <字符串>指定如何打印目标  
-q, --quiet          在查询或搜索时显示较少的信息  
--config <路径>  指定另外的配置文件  
--logfile <路径> 指定另外的日志文件  
--noconfirm      不询问确认  
--noprogressbar  下载文件时不显示进度条  
--noscriptlet    不执行安装小脚本  
-v, --verbose        循环执行  
-- debug        显示除错信息  
-r, --root <路径>    指定另外的安装根目录  
-b, --dbpath <路径>  指定另外的数据库位置  
--cachedir <目录> 指定另外的软件包缓存位置  
--arch <架构>    设定另外的架构


[zhangy@BlackGhost ~]$ pacman -U --help

用法

pacman {-U --upgrade} [选项] <文件>

选项

 --asdeps         作为非单独指定安装的软件包安装  
--asexplicit     作为单独指定安装的软件包安装  
-d, --nodeps         略过依赖关系检查  
-f,  -force          强制安装,覆盖存在冲突的文件  
-k, --dbonly         添加数据库记录,不安装或保持现存文件  
--print          仅打印目标而不执行操作  
--print-format <字符串> 指定如何打印目标  
--config <路径>  指定另外的配置文件  
--logfile <路径> 指定另外的日志文件  
--noconfirm      不询问确认  
--noprogressbar  下载文件时不显示进度条  
--noscriptlet    不执行安装小脚本  
-v, --verbose        循环执行  
-- debug        显示除错信息  
-r, --root <路径>    指定另外的安装根目录  
-b, --dbpath <路径>  指定另外的数据库位置  
--cachedir <目录> 指定另外的软件包缓存位置  
--arch <架构>    设定另外的架构


实例1

安装包

1,安装或者升级单个软件包

pacman -S mysql

2,有时候在不同的软件仓库中,一个软件包有多个版本(比如extra和community)。你可以选择一个来安装

pacman -S extra/mysql

3,步包数据库并且安装一个软件包

pacman -Sy mysql

实例2

删除包

1,删除单个软件包,保留其全部已经安装的依赖关系

pacman -R mysql

2,删除指定软件包,及其所有没有被其他已安装软件包使用的依赖关系:

pacman -Rs mysql

实例3

升级系统

pacman -Syu

实例4

查询包

1,查询可用安装包

pacman -Ss mysql

2,要查询已安装的软件包:

pacman -Qs mysql

实例5

其他用法

1,清理当前未被安装软件包的缓存

pacman -Sc

2,下载包而不安装

pacman -Sw mysql

实例6

# pacman -Rsc package_name   #要删除软件包和所有依赖这个软件包的程序
# pacman -Rdd package_name   #要删除软件包,但是不删除依赖这个软件包的其他程序:
# pacman 删除某些程序时会备份重要配置文件,在其后面加上*.pacsave扩展名。-n 选项可 以删除这些文件
# pacman -Rn package_name
# pacman -Rsn package_name
# pacman -Si package_name  #显示软件包的详尽的信息
# pacman -Qi package_name  #查询本地安装包的详细信息
# pacman -Qii package_name   #使用两个 -i 将同时显示备份文件和修改状态
# pacman -Ql package_name   #要获取已安装软件包所包含文件的列表
# pacman -Qk package_name   #检查软件包安装的文件是否都存在
# pacman -Qo /path/to/file_name  #查询数据库获取某个文件属于哪个软件包
# pacman -Qdt   #要罗列所有不再作为依赖的软件包(孤立orphans)
# pacman -Qet  #要罗列所有明确安装而且不被其它包依赖的软件包
# pactree package_name  #要显示软件包的依赖树
# pactree -r package_name   #检查一个安装的软件包被那些包依赖

相关命令