主页 > 仅仅转载 > archlinux pacman 命令

archlinux pacman 命令

2013 年 1 月 3 日 archlinux pacman 命令无评论

常用命令有:

pacman -Sy 仅同步源

pacman -Syu 同步源,并更新系统

pacman -Su –ignore foo 升级时不升级包foo

pacman -S abc 从本地数据库中得到abc的信息,下载安装abc包

pacman -Sy abc 和源同步后安装名为abc的包

pacman -Sd abc 忽略依赖性问题,安装包abc

pacman -Sf abc 强制安装包abc

pacman -Si abc 从数据库中搜索包abc的信息

pacman -Ss abc 搜索有关abc信息的包

pacman -Sg abc 查询abc这个包组包含的软件包

pacman -Sw abc 下载包而不安装它

pacman -R abc 删除abc包

pacman -Rc abc 删除abc包和依赖abc的包

pacman -Rsn abc 删除包所有不需要的依赖包并删除其配置文件

pacman -Rscn abc 删除abc包所有不需要的依赖包和依赖abd的包并删除其配置文件

pacman -Sc 清理/var/cache/pacman/pkg目录下的旧包

pacman -Scc 清除所有下载的包和数据库

pacman -Q 列出系统中所有的包

pacman -Q package 在本地包数据库搜索(查询)指定软件包

pacman -Qi package 在本地包数据库搜索(查询)指定软件包并列出相关信息

pacman -Q | wc -l 统计当前系统中的包数量

pacman -Qdt 找出孤立包

pacman -Rns $(pacman -Qtdq) 删除孤立软件包(递归的,小心用)

pacman -U abc.pkg.tar.gz 安装下载的abs包,或新编译的本地abc包

pacman-optimize && sync 提高数据库访问速度

==== 提高pacman数据访问 ====

# pacman-optimize && sync

 

==== 使用wget ====

修改/etc/pacman.conf并在其中的[options]

XferCommand = /usr/bin/wget -c –passive-ftp -c %u

来自:http://www.douban.com/group/topic/17909752/

___________________________________________________________________________________________________

Pacman手册

名称

pacman – 软件包管理器

句法

pacman <命令> [选项] [软件包名称]

描述

pacman是linux系统上的用于记录安装的软件包信息的管理器。它的主要特点有:支持依赖、软件包组、安装卸载关联以及与远程服务器同步信息然后更新系统。pacman的软件包格式是.tar.gz的压缩格式。

3.0.0版以来,pacman一直是linkman:libalpm(即”Arch Linux软件包管理“函数库)的前端。这个函数库支持不同写法的前端(例如,它支持图形化前端)。

命令

-Q,–query 查询

查询软件包数据库。运用这条命令你不仅可以查看已安装软件包以及所含文件的信息,还可以查看独立软件包的元信息(meta-information)(包括软件包的依赖,冲突,安装日期,创建日期,大小)。这条命令可已对本机的软件包数据库执行,也可以对独立的.tar.gz包执行。具体参看下面的查询选项。

-R, –remove 移除

从系统中移除某个软件包。该命令也可以对软件包组执行,执行后,软件包组内所有的软件包都会被移除。属于指定软件包的文件会被删除,而后软件包数据库会执行更新。除非加上–nosave(不保存)选项,移除软件包的配置文件都会以.pacsave的后缀保存。具体参看下面的移除选项。

-S, –sync 同步

同步软件包。软件包是从frp服务器上直接下载安装的,与之一同安装的还有运行软件所需的所有依赖。例如,pacman -S qt 会下载并安装qt以及qt的所有依赖。如果同一名称的软件包存在与不同的源中,可以指定源:pacman -S testing/qt。同样也可以给定版本要求:pacman -S "bash>=3.2"(引号是必需的,否则设shell会将“>”理解为重定向)。

可以指定软件包,也可以指定软件包组。例如,如果gnome是一个已定义的软件包组,那么执行pacman -S gnome就会将gnome组中所有的软件包安装,当然也会安装这些软件包的依赖。

pacman也可以处理一些具有相同或相近作用的软件包。例如,执行pacman -S foo,pacman首先会搜索名为foo的软件包。如果没有找到的话,pacman就会搜索一些具有相同或相近作用的软件包。如果找到了具有相同或相近作用的软件包,这些软件包就会被安装。

你也可以用pacman -Su来升级本机上所有陈旧的软件包升级是这样进行的:pacman先将本机上的软件包同远程服务器上的软件包进行版本对比。版本对比是按照如下规则进行的:

字母顺序:

1.0a<1.0alpha<1.0b<1.0beta<1.0p<1.0pre<1.0rc<1.0

数字顺序:

1<1.0<1.1<1.1.1<1.2<2.0<3.0.0

-U, –update

升级软件包,或安装软件包。可以给定一个URL网址,也可以给定一个文件路径。升级的过程是一个“移除,然后安装”的过程。想知道pacman如何处理配置文件,请查看处理配置文件

-V, –version 版本

显示版本,然后退出。

-h, –help 帮助

显示给定命令的句法。如果没有给定命令,显示的将是全部命令的句法。

通用选项

–asdeps [as dependency(作为依赖)]

模糊安装软件包;换句话说,就是假定该软件包安装的原因是由于依赖。在使用makepkg以及其他从源代码编译的工具时,需要在编译一个软件包之前安装该软件包的依赖,这时候,这个命令选项就十分有用了。

–asexplicit

精确安装软件;换句话说,就是假定该软件包安装的原因是精确安装。如果想把一个依赖标记成精确安装,使它不会在执行带–recursive(递归)的移除命令时删除,这时候,这个命令选项就十分有用了。

-b, –dbpath <路径>   指定另外的数据库位置;默认为/var/lib/pacman,路径为绝对路径。

-d, –nodeps            略过所有依赖关系检查-

-f, –force               强制安装,覆盖存在冲突的文件(谨慎使用);

-r, –root <路径>    指定其他的根路径;用于向暂时挂载的其他系统根路径安装软件。  

-v, –verbose          输出路径,例如根路径,配置文件,数据库,缓存的路径等。

     –cachedir <dir> 指定其他缓存路径;默认为/var/cache/pacman/pkg,路径为绝对路径。

     –config <路径>  指定另外的配置文件

     –logfile <路径> 指定另外的日志文件

     –noconfirm      不询问确认

     –noprogressbar  下载文件时不显示进度条

     –noscriptlet    不执行安装脚本集(谨慎使用);

查询选项

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

  -d, –deps           列出所有作为依赖关系安装的软件包

  -e, –explicit       列出所有单独指定安装的软件包

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

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

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

  -m, –foreign        列出没有在同步数据库时找到的已安装软件包

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

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

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

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

  -t, –unrequired     列出所有不被其他软件包要求的软件包

  -u, –upgrades       列出所有可升级的软件包

  -p,–file           在命令行标记软件包为文件,而不是数据库信息条目,在与–info和–list搭配时有用。

移除选项

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

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

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

  -s, –recursive      同时删除(不会破坏其他软件包的)依赖关系

                       (-ss·也包括单独指定安装的依赖关系)

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

同步选项

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

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

  -i, –info           查看软件包信息

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

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

  -p, –print-uris     打印指定软件包及依赖关系中的URI

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

  -u, –sysupgrade     升级所有过期软件包

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

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

      –needed         不重新安装已经为最新的软件包

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

      –ignoregroup <软件包组>

                         升级时忽略某个软件包组(可多次使用)

配置文件处理

pacman同rpm在处理已标记为备份的文件的逻辑上时是一样。更新系统时,pacman用3个md5检测工具检测标记为备份的文件,以决定将要执行的命令:一个检测已安装的原始文件,一个检测将要安装的新文件,一个检测实际存在与文件系统上的当前文件。对比这3个检测的结果之后,会有如下情形:

x x x(顺序依次为原始文件,当前文件,新文件)

所有文件一致,所以覆盖不会有什么影响。安装软件包。

x x y

当前文件同原始文件相同,但是他们和新文件不同。由于用户并没有

修改文件,因此新文件可能包含最新的bug修正,所以安装新文件。

x y x

新文件同原始文件相同,安装新文件。

x y z

三个文件都不同。安装新文件,但加上,pacnew的后缀,警示用户。

用户必须自己将必要的改变加入原始文件。

配置

查看linkman:pacman.conf[5]以获得更多关于运用pacman.conf

配置pacman的信息。

查看更多

linkman:pacman.conf[5]

linkman:makepkg[8]

linkman:libalpm[3]

登录pacman网址(http://www.archlinux.org/pacman/)获得pacman以及相关工具的最新信息。

BUGS

BUGS?开玩笑!这个软件没有一丝漏洞。如果我们不小心错了的话,

发送邮件至 pacman-dev@archlinux.org, 并附上详细信息。

转自 http://hi.baidu.com/flashgive/item/6d5642e1cbc1a515595dd83d

发表评论

邮箱地址不会被公开。 必填项已用*标注