Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
 v;soJlxF~   /|q.q  安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
 )S
caT1I   Y()"2CCV  一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
 1u
9hA~rj   w G %W{T$  任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。 
 ;V
xRaj?  --------------------------------------------------------------------------------
 BmG(+;;&   QO2cTk
m   y0%1YY  以下简要介绍RPM包的安装,删除和查询
 q` q;og
`   `Mnu<)v  RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
 rmiOeS`:   =~B"8@B  rpm命令的格式为:
 CMXF[X)%   AcC	&Q:g  rpm [options] [packages]
 yD7BZI
xW   ;-+q*@sa]  第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
 or/gx 3   F$C6( C?  对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。 
 S6TNu+2w4	  --------------------------------------------------------------------------------
 :?>7Z6   7?$?Yu   #Wk=y?sn  RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
 nHseA   fpD$%.y'J  以下为rpm --showrc命令显示的节选:
 zLpCKndj   K3T.l#d'L  示例:
 &{}Mds   9iA rBL"  此为部分显示结果
 ZJYn[\]  [root@localhost ~]# rpm --showrc
 =V^-@ji)b  ARCHITECTURE AND OS:
 9)Fx;GxL  build arch            : i386
 $[ 	{5+ *  compatible build archs: athlon i686 i586 i486 i386 noarch
 &X=7b@r  build os              : Linux
 }LzBo\  compatible build os's : linux
 W>K^55'  install arch          : athlon
 Xz$4cI#n:  install os            : Linux
 J2YQdCL  compatible archs      : athlon i686 i586 i486 i386 noarch
 &Y]':gJ  compatible os's       : linux
 %#HU~X:  RPMRC VALUES:
 qJhsMo2IH  macrofiles            : /usr/lib/rpm/macros:/usr/lib/rpm/i386-linux/macros:/usr/lib/rpm/redhat/macros:/etc/rpm/macros.*:/etc/rpm/macros:/etc/rpm/i386-linux/macros:~/.rpmmacros
 b;k+N`  optflags              : %{__global_cflags} -m32 -march=athlon
 d1b]+A G4  Features supported by rpmlib:
 ~b f\fPm      rpmlib(VersionedDependencies) = 3.0.3-1
 YuX JT*          PreReq:, Provides:, and Obsoletes: dependencies support versions.
 MdHm%Vx      rpmlib(CompressedFileNames) = 3.0.4-1
 2w 2Bc+#o          file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
 ^L[:DB{Z      rpmlib(PayloadIsBzip2) = 3.0.5-1
 YR%iZ"`*+O          package payload can be compressed using bzip2. 
 fz&B$1;8  --------------------------------------------------------------------------------
 ~zVxprEf_   XzUGlrp:Y#   JJ?{V:  rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
 ]v+<K63@T   ]lB	zp D  示例:
 iI3:<j
l   *rxr:y#Ve	  [root@localhost ~]# rpm -ivh 
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
 }	M#e\neii  Retrieving 
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
 TT$Ao  Preparing...                ########################################### [100%]
 nxLuzf4U5     1:lynx                   ########################################### [100%] 
 ZnG.::&:  --------------------------------------------------------------------------------
 
bGRt   m,l/=M   |V9[aa*c  以下列出一些通用选项(可以用于所有模式):
 Lb*KEF% s   YeH!v,	>  --dbpath path
 6{Wo5O{!\    用path作为RPM数据库的路径。
 }X(&QZ7i`   k+<945kC  --ftpport prot
 ^^y eC|~N:    用port作为FTP端口。
 9}573M   b}e1JPk}!  --ftpproxy host
 #c"eff    用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
 'B@`gA   ^t>mdxuq  --help
 nJDGNm,    输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
 b 2gng}   .l}Ap7@  --justdb
 @AyteHK
    只更新数据库;不改变任何文件。
 &2'-v@kK    q=1 NRG  --pipe command
 +pofN-*%    用管道把rpm输出到commond。
 *}[\%u$ T   f?3-C8hU  --quiet
 N Ob`)qb    仅显示错误信息。
 TBlSZZ-55]   k,h602(  --rcfile filename
 d{z[46>    用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
 jhu
&Wh   "c^! LV  --root dir
 c`6c)11K    在dir目录内执行所有操作。
 %X}ZX|{ O   ?h<4trYcv  --version
 	@W,jy$U    输出rpm版本号。
 )G[byBa   % rBzA<  -vv
 1S{Biqi+    输出调试信息。
 ofvR0yV   UwN Vvo  --------------------------------------------------------------------------------
 `L1,JE`
q   X/_I2X   m/HT3<F  安装升级和刷新
 pR0[qsQM   ggso9ZlLu+  安装或升级一个RPM包,install命令的语法为:
 7ZcF0h   | /.J{=E0K  rpm -i [install-options] package_file
 r
)|3MUj  rpm --install [install-options] package_file
 cNll??j   .i0K-B  示例:
 ,67Q!/O   2& Q\W   [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
 ^2+Ex+          package lynx-2.8.5-18 is already installed
 RTtKf i}  [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm 
 =lacfPS  --------------------------------------------------------------------------------
 zzmC[,u}   _3IT3mb2n   !R{IEray  为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
 kk4	|4   GwWK'F'2  rpm -U [install-options] package_file
 "2%z;!U1  rpm --upgrade [install-options] package_file
 I}$`gUXX8x   U~G7~L	&m  示例:
 q(sTKT[V   
iFIGJS  先安装旧版
 1('	wg!  [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
 	RB>=#03   !Vpi1N\  再安装新版
 +IZ=E
>a  [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
 2mY!gVi   Bc>j5^)8w  显示出新版本信息
 4[ uqsJB   [root@localhost ~]# rpm -q lynx
 l5z//E}W  lynx-2.8.5-18
 W]4Z4&