pacman用法详解

用pacman很久了,一直没有深入去研究到底它包含多少神秘的力量,每次都是pacman -Syu就简单的把所有升级更新问题搞定实在是让笔者懒惰了很多。不过也正是因为pacman的简单让笔者爱不释手,同时Archlinux的强大灵活也让其成为笔者最为心仪的Linux, 不过笔者对Archlinux的最终评价就是-Archlinux是一款为折腾而诞生的Linux(至少对笔者来说是这样的)。想要折腾,就用 Archlinux吧。今天给大家带来的是Archlinux下最关键,也是灵魂的工具pacman命令介绍(这个工具与debian,ubuntu下的 apt-get十分类似),不过命令稍微复杂一些,转过来当做给自己作参考了。

一、首先说说啥是pacman吧:

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

二、pacman参数详细说明

view plaincopy to clipboardprint?

  1.  1. [arch@ghostbb ~]$ pacman -h  

  2.  2. 用法:  pacman <操作> [...]  

  3.  3. 操作:  

  4.  4.  pacman {-h --help}       //帮助  

  5.  5.  pacman {-V --version}   //查看版本  

  6.  6.  pacman {-D --data base} <选项> <软件包>  //pacman管理数据库选项  

  7.  7.  pacman {-Q --query}    [选项] [软件包]    //查询安装包  

  8.  8.  pacman {-R --remove}   [选项] <软件包>  //删除安装包  

  9.  9.  pacman {-S --sync}     [选项] [软件包]      //安装安装包  

  10. 10.  pacman {-U --upgrade}  [选项] <文件>   //更新安装包  

  11. 11.  

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

[arch@ghostbb ~]$ 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}’ 及某个操作以查看可得的选项

1,pacman -D

view plaincopy to clipboardprint?

  1.  1. [arch@ghostbb ~]$ pacman -D --help  

  2.  2. 用法:  pacman {-D --database} <选项> <软件包>  

  3.  3. 选项:  

  4.  4.  --asdeps         标记为非单独指定安装的软件包  

  5.  5.  --asexplicit     标记为单独指定安装的软件包  

  6.  6.  --config <路径>  指定另外的配置文件  

  7.  7.  --logfile <路径> 指定另外的日志文件  

  8.  8.  --noconfirm      不询问确认  

  9.  9.  --noprogressbar  下载文件时不显示进度条  

  10. 10.  --noscriptlet    不执行安装小脚本  

  11. 11.  -v, --verbose        循环执行  

  12. 12.  -- debug        显示除错信息  

  13. 13.  -r, --root <路径>    指定另外的安装根目录  

  14. 14.  -b, --dbpath <路径>  指定另外的数据库位置  

  15. 15.  --cachedir <目录> 指定另外的软件包缓存位置  

  16. 16.  --arch <架构>    设定另外的架构  

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

2,pacman -Q

view plaincopy to clipboardprint?

  1.    1. [arch@ghostbb ~]$ pacman -Q --help  

  2.    2. 用法:  pacman {-Q --query} [选项] [软件包]  

  3.    3. 选项:  

  4.    4.  -c, --changelog      查看某软件包的更新日志  

  5.    5.  -d, --deps           列出所有作为依赖关系安装的软件包 [过滤器]  

  6.    6.  -e, --explicit       列出所有单独指定安装的软件包 [过滤器]  

  7.    7.  -g, --groups         查看某软件包组所属的所有软件包  

  8.    8.  -i, --info           查看软件包信息 (-ii 查看备份文件)  

  9.    9.  -k, --check          检查该软件包拥有的文件是否存在  

  10.   10.  -l, --list           列出被查询软件包的内容  

  11.   11.  -m, --foreign        列出没有在同步数据库时找到的已安装软件包 [过滤器]  

  12.   12.  -o, --owns <文件>     查询哪个软件包拥有  <文件>  

  13.   13.  -p, --file <软件包> 从某个软件包而不是数据库查询  

  14.   14.  -s, --search <regex> 搜寻符合指定字符串的已安装本地的软件包  

  15.   15.  -t, --unrequired     列出所有不被其他软件包要求的软件包 [过滤器]  

  16.   16.  -u, --upgrades       列出所有可升级的软件包 [过滤器]  

  17.   17.  -q, --quiet          在查询或搜索时显示较少的信息  

  18.   18.  --config <路径>  指定另外的配置文件  

  19.   19.  --logfile <路径> 指定另外的日志文件  

  20.   20.  --noconfirm      不询问确认  

  21.   21.  --noprogressbar  下载文件时不显示进度条  

  22.   22.  --noscriptlet    不执行安装小脚本  

  23.   23.  -v, --verbose        循环执行  

  24.   24.  -- debug        显示除错信息  

  25.   25.  -r, --root <路径>    指定另外的安装根目录  

  26.   26.  -b, --dbpath <路径>  指定另外的数据库位置  

  27.   27.  --cachedir <目录> 指定另外的软件包缓存位置  

  28.   28.  --arch <架构>    设定另外的架构  

  29. </regex>  

[arch@ghostbb ~]$ 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 <架构>    设定另外的架构

3,pacman -R

view plaincopy to clipboardprint?

  1.  1. [arch@ghostbb ~]$ pacman -R --help  

  2.  2. 用法:  pacman {-R --remove} [选项] <软件包>  

  3.  3. 选项:  

  4.  4.  -c, --cascade        删除软件包及所有的依赖于此的软件包  

  5.  5.  -d, --nodeps         略过依赖关系检查  

  6.  6.  -k, --dbonly         只删除数据库记录,不删除文件  

  7.  7.  -n, --nosave         同时删除配置文件  

  8.  8.  -s, --recursive      同时删除 (不会破坏其他软件包的) 依赖关系(-ss·也包括单独指定安装的依赖关系)  

  9.  9.  -u, --unneeded       同时删除不需要的 (且不会破坏其他软件包的) 依赖关系  

  10. 10.  --print          仅打印目标而不执行操作  

  11. 11.  --print-format <字符串>指定如何打印目标  

  12. 12.  --config <路径>  指定另外的配置文件  

  13. 13.  --logfile <路径> 指定另外的日志文件  

  14. 14.  --noconfirm      不询问确认  

  15. 15.  --noprogressbar  下载文件时不显示进度条  

  16. 16.  --noscriptlet    不执行安装小脚本  

  17. 17.  -v, --verbose        循环执行  

  18. 18.  -- debug        显示除错信息  

  19. 19.  -r, --root <路径>    指定另外的安装根目录  

  20. 20.  -b, --dbpath <路径>  指定另外的数据库位置  

  21. 21.  --cachedir <目录> 指定另外的软件包缓存位置  

  22. 22.  --arch <架构>    设定另外的架构  

[arch@ghostbb ~]$ 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 <架构>    设定另外的架构

4,pacman -S

view plaincopy to clipboardprint?

  1.    1. [arch@ghostbb ~]$ pacman -S --help  

  2.    2. 用法:  pacman {-S --sync} [选项] [软件包]  

  3.    3. 选项:  

  4.    4.  --asdeps         作为非单独指定安装的软件包安装  

  5.    5.  --asexplicit     作为单独指定安装的软件包安装  

  6.    6.  -c, --clean          从缓存目录中删除旧软件包 (-cc 清除所有)  

  7.    7.  -d, --nodeps         略过依赖关系检查  

  8.    8.  -f,  -force          强制安装,覆盖存在冲突的文件  

  9.    9.  -g, --groups         查看某软件包组所属的所有软件包  

  10.   10.  -i, --info           查看软件包信息  

  11.   11.  -l, --list <软件库>    查看在该软件库中的软件包清单  

  12.   12.  -s, --search <regex表达式> 按照指定字符串查询远端软件库  

  13.   13.  -u, --sysupgrade     升级所有已安装的软件包 (-uu 可启用降级)  

  14.   14.  -w, --downloadonly   下载但不安装/升级软件包  

  15.   15.  -y, --refresh        从服务器下载新的软件包数据库  

  16.   16.  --needed         不重新安装已经为最新的软件包  

  17.   17.  --ignore <软件包>   升级时忽略某个软件包 (可多次使用)  

  18.   18.  --ignoregroup <软件包组>升级时忽略某个软件包组 (可多次使用)  

  19.   19.  --print          仅打印目标而不执行操作  

  20.   20.  --print-format <字符串>指定如何打印目标  

  21.   21.  -q, --quiet          在查询或搜索时显示较少的信息  

  22.   22.  --config <路径>  指定另外的配置文件  

  23.   23.  --logfile <路径> 指定另外的日志文件  

  24.   24.  --noconfirm      不询问确认  

  25.   25.  --noprogressbar  下载文件时不显示进度条  

  26.   26.  --noscriptlet    不执行安装小脚本  

  27.   27.  -v, --verbose        循环执行  

  28.   28.  -- debug        显示除错信息  

  29.   29.  -r, --root <路径>    指定另外的安装根目录  

  30.   30.  -b, --dbpath <路径>  指定另外的数据库位置  

  31.   31.  --cachedir <目录> 指定另外的软件包缓存位置  

  32.   32.  --arch <架构>    设定另外的架构  

  33. </regex表达式>  

[arch@ghostbb ~]$ 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 <架构>    设定另外的架构

5,pacman -U

view plaincopy to clipboardprint?

  1.  1. [arch@ghostbb ~]$ pacman -U --help  

  2.  2. 用法:  pacman {-U --upgrade} [选项] <文件>  

  3.  3. 选项:  

  4.  4.  --asdeps         作为非单独指定安装的软件包安装  

  5.  5.  --asexplicit     作为单独指定安装的软件包安装  

  6.  6.  -d, --nodeps         略过依赖关系检查  

  7.  7.  -f,  -force          强制安装,覆盖存在冲突的文件  

  8.  8.  -k, --dbonly         添加数据库记录,不安装或保持现存文件  

  9.  9.  --print          仅打印目标而不执行操作  

  10. 10.  --print-format <字符串> 指定如何打印目标  

  11. 11.  --config <路径>  指定另外的配置文件  

  12. 12.  --logfile <路径> 指定另外的日志文件  

  13. 13.  --noconfirm      不询问确认  

  14. 14.  --noprogressbar  下载文件时不显示进度条  

  15. 15.  --noscriptlet    不执行安装小脚本  

  16. 16.  -v, --verbose        循环执行  

  17. 17.  -- debug        显示除错信息  

  18. 18.  -r, --root <路径>    指定另外的安装根目录  

  19. 19.  -b, --dbpath <路径>  指定另外的数据库位置  

  20. 20.  --cachedir <目录> 指定另外的软件包缓存位置  

  21. 21.  --arch <架构>    设定另外的架构  

[arch@ghostbb ~]$ 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,安装包

安装或者升级单个软件包,或者一列软件包(包含依赖包),使用如下命令:

pacman -S mysql

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

pacman -S extra/mysql
pacman -S community/mysql

你也可以在一个命令里同步包数据库并且安装一个软件包:

pacman -Sy mysql

2,删除包

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

pacman -R mysql

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

pacman -Rs mysql

3,升级系统

pacman -Syu

安装一个本地包:

pacman -U 后面根上已下载的包或者是远程URL

当我们用pacman进行升级时,经常会遇到下载的包没有,到源里看时,要升级的包是有的,但是版本不一样,你要下的版本是没有,这种情况下,就可以用pacman -u

4,查询包

查询可用安装包

pacman -Ss mysql

要查询已安装的软件包:

pacman -Qs mysql

5,其他用法

清理当前未被安装软件包的缓存(/var/cache/pacman/pkg):

pacman -Sc

下载包而不安装它:

pacman -Sw mysql

转载请注明来源并保留原文链接


转载于:https://my.oschina.net/u/1757926/blog/344941

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值