用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参数详细说明

. [arch@ghostbb ~]$ pacman -h
. 用法: pacman <操作> [...]
. 操作:
. pacman {-h --help} //帮助
. pacman {-V --version} //查看版本
. pacman {-D --data base} <选项> <软件包> //pacman管理数据库选项
. pacman {-Q --query} [选项] [软件包] //查询安装包
. pacman {-R --remove} [选项] <软件包> //删除安装包
. pacman {-S --sync} [选项] [软件包] //安装安装包
. pacman {-U --upgrade} [选项] <文件> //更新安装包
.
. 使用 '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

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

. [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 <regex> 搜寻符合指定字符串的已安装本地的软件包
. -t, --unrequired 列出所有不被其他软件包要求的软件包 [过滤器]
. -u, --upgrades 列出所有可升级的软件包 [过滤器]
. -q, --quiet 在查询或搜索时显示较少的信息
. --config <路径> 指定另外的配置文件
. --logfile <路径> 指定另外的日志文件
. --noconfirm 不询问确认
. --noprogressbar 下载文件时不显示进度条
. --noscriptlet 不执行安装小脚本
. -v, --verbose 循环执行
. -- debug 显示除错信息
. -r, --root <路径> 指定另外的安装根目录
. -b, --dbpath <路径> 指定另外的数据库位置
. --cachedir <目录> 指定另外的软件包缓存位置
. --arch <架构> 设定另外的架构
</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

. [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 <架构> 设定另外的架构

[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

. [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 <regex表达式> 按照指定字符串查询远端软件库
. -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 <架构> 设定另外的架构
</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

. [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 <架构> 设定另外的架构

[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

来源:http://xiexiejiao.cn/linux/pacman-introduce.html

Pacman命令介绍的更多相关文章

  1. 12个Linux进程管理命令介绍(转)

    12个Linux进程管理命令介绍 [日期:2015-06-02] 来源:Linux中国  作者:Linux [字体:大 中 小]   执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的 ...

  2. 2.SDK目录结构和adb工具及命令介绍

    安卓开发学习笔记 1.安卓开发之环境搭建 2.SDK目录结构和adb工具及命令介绍 1.SDK目录介绍: ******************************** add-ons:Androi ...

  3. git各种命令介绍以及碰到的各种坑

    一.各种命令介绍: git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master'就是将origin这个版本库的代码更新到本地 ...

  4. tar.xz如何解压:linux和windows下tar.xz解压命令介绍

    在linux下怎么解压和压缩tar.xz文件? (本文由www.169it.com搜集整理) 在linux下解压tar.xz文件步骤 1 2 # xz -d ***.tar.xz  //先解压xz # ...

  5. 查看MySQL数据库表的命令介绍

    如果需要查看MySQL数据库中都有哪些MySQL数据库表,应该如何实现呢?下面就为您介绍查看MySQL数据库表的命令,供您参考. 进入MySQL Command line client下查看当前使用的 ...

  6. Docker学习总结之Run命令介绍

    Docker学习总结之Run命令介绍 本文由Vikings(http://www.cnblogs.com/vikings-blog/) 原创,转载请标明.谢谢! 在使用Docker时,执行最多的命令某 ...

  7. maven常用命令介绍

    mvn 3.0.4 创建maven项目命令  mvn  archetype:generate   -DgroupId=damocles-autocredit -DartifactId=damocles ...

  8. [转帖]十二 个经典 Linux 进程管理命令介绍

    https://www.cnblogs.com/swordxia/p/4550825.html 接了 http referer 头 没法显示图片 可以去原始blog 里面去查看.   随笔- 109  ...

  9. Android Debug Bridge命令介绍[转]

    Android Debug Bridge命令介绍 Android Debug Bridge的一些基本命令.这个工具直译过来就是Android调试桥的意思.它提供了强大的特性,例如复制文件到设备或从设备 ...

随机推荐

  1. 1.11 UML 类图(多看多用就熟悉了)(节选自:《大话设计模式》)

    类:用矩形框表示(类图分三层) 第一层显示类的名称:(如果是抽象类,就用斜体显示) 第二层是类的特性,通常就是字段和属性: 第三层是类的操作,通常是方法或行为. (注意前面的符号,“+” 表示 pub ...

  2. 使用maven构建一个web项目

                          使用maven构建一个web项目     首先建立一个maven项目(关于环境配置上节有详细过程): 1)-->右键new,-->project ...

  3. Oracle Shared Pool机制之——Latches, Locks, Pins and Mutexes

    本文中,我们将讨论共享池(Shared Pool)中的各种内存保护结构,即Latches,Locks,Pins和Mutexes. 1.  Lathes 当在库缓冲(Libraray Cache)中创建 ...

  4. 用SQL命令手工创建CDB

    1.设置环境变量  $ export ORACLE_SID=ora12c  $ export ORACLE_HOME=/home/oracle/product/12.1.0/db1  $ export ...

  5. https 不会被中间人攻击——因为中间人即使拿到了数据,也是加密的

    只要你登陆了一个使用 HTTPS 数据加密的网站,浏览的页面的内容如果被人中途看见,将会是一团乱码.它也能保证,你浏览的页面就是你想浏览的,不会被黑客在中途修改,网站收到的数据包也是你最初发的那个,不 ...

  6. WebSphere部署应用教程

    在WebSphere中应用是部署在“应用程序服务器”,而“应用程序服务器”建立在“节点”上 所以部署应用的几个前提是:要创立好受控server(亦即节点)并加入到控制台中且处于启动(亦即同步)状态:要 ...

  7. 开发环境转Mac FAQ

    vs2017 for mac, 默认的源代码管理工具是git, 不是svn, 安装source tree,注册bitbucket(免费1G私有空间),整合的比较好(国内的码云也能支持,不过是用账号密码 ...

  8. 转 举例说明使用MATLAB Coder从MATLAB生成C/C++代码步骤

    MATLAB Coder可以从MATLAB代码生成独立的.可读性强.可移植的C/C++代码. http://www.mathworks.cn/products/matlab-coder/ 使用MATL ...

  9. python settings :RROR 1130: Host 'XXXXXX' is not allowed to connect to this MySQL server

    pymysql.err.InternalError: (1130, u"Host '127.0.0.1' is not allowed to connect to this MySQL se ...

  10. centos 安装 composer

    1 安装 composer       curl -sS https://getcomposer.org/installer | php           2 添加到环境变量       mv co ...