Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
)6BySk d}
5 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
P'[ISGt M;W&#Fz% 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
2kOaKH[(q "!&
o|!2 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
O3?^P"C --------------------------------------------------------------------------------
Lr20xm PbY.8d%2/k &G[W$2`@ 以下简要介绍RPM包的安装,删除和查询
m;nH
v C8do8$ RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
~.6% %1? _+)n}Se rpm命令的格式为:
3sRI7g EiP N44( rpm [options] [packages]
z:N?T0b( Pqj\vdzx 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
\ KsKb0sM ~}/_QlX` K 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
w11L@t[5W8 --------------------------------------------------------------------------------
*>!-t dQFUQ Z"KrirZ RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
?=1i:h OlptO60{ ] 以下为rpm --showrc命令显示的节选:
asE.!g? Z2-tDp(I 示例:
~OLyG$JJ R&:Qy7" 此为部分显示结果
IGo5b-ds [root@localhost ~]# rpm --showrc
rWqr-"0S. ARCHITECTURE AND OS:
E(z|LS*3 build arch : i386
%tPy]{S.. compatible build archs: athlon i686 i586 i486 i386 noarch
;5 build os : Linux
XF>!~D compatible build os's : linux
eYn/F~5- install arch : athlon
xX0wn?,~ install os : Linux
n
4cos compatible archs : athlon i686 i586 i486 i386 noarch
4H@7t,> compatible os's : linux
hFan$W$ RPMRC VALUES:
W<TfDEEa 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
m?1r@!/y optflags : %{__global_cflags} -m32 -march=athlon
|VjD. ]I Features supported by rpmlib:
rmFcSolt,f rpmlib(VersionedDependencies) = 3.0.3-1
PBcb*7W PreReq:, Provides:, and Obsoletes: dependencies support versions.
C[l5[DpH rpmlib(CompressedFileNames) = 3.0.4-1
g $^Yv4 file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
yigq#h^ rpmlib(PayloadIsBzip2) = 3.0.5-1
.81 ~ K[ package payload can be compressed using bzip2.
?5^DQ|Hg ^ --------------------------------------------------------------------------------
dDAl n+ 3<[q>7X 2z AxGX rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
5`lVC$cP I]pz3!On4, 示例:
s;[=B ELg$tc [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
K( ?p]wh Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
T-x9IoE Preparing... ########################################### [100%]
CL?=j| Ea 1:lynx ########################################### [100%]
?(}~[ --------------------------------------------------------------------------------
ytV[x JW=q'ibR eOfVBF<C2 以下列出一些通用选项(可以用于所有模式):
T{N8 K K *iyc,f^w --dbpath path
wSdiF-ue 用path作为RPM数据库的路径。
'z=d&K 3{Zd<JYg4- --ftpport prot
;E!] /oY< 用port作为FTP端口。
}^b 9Sa6v?sRor --ftpproxy host
>66
`hZ 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
V?jWp$ a1Q W0d --help
sv#b5,>9 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
}}"|(2I S0LaQ<9. --justdb
*<h )q)HS 只更新数据库;不改变任何文件。
8.7lc2aX }KNBqPo4B --pipe command
*/|<5X;xIA 用管道把rpm输出到commond。
qagR?)N)u <7gv<N6BQf --quiet
HXPq+ 仅显示错误信息。
K(P.i^k /*GCuc| --rcfile filename
`joyHKZI. 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
UgZL<} Q]$pg 5O --root dir
gr# |ZK.` 在dir目录内执行所有操作。
Fr (;C> 9g.5: --version
7?);wh 7` 输出rpm版本号。
4[Wwm :YLurng/] -vv
$s 'n]]Wq 输出调试信息。
gyT0h?xDt 1(e64w@ --------------------------------------------------------------------------------
=j{Kxnv Ue"pNjd| .Sv/0&O 安装升级和刷新
lnF{5zc E Q:6R|L 安装或升级一个RPM包,install命令的语法为:
nUisC5HW D.ySnYzh rpm -i [install-options] package_file
8`90a\t'Z rpm --install [install-options] package_file
Nu'ox. V rFp>A`TJ 示例:
BPVOBL@ s%RG_"l [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
\l`{u)V package lynx-2.8.5-18 is already installed
4Tb"+Y} [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
Tk`|{Ph0 --------------------------------------------------------------------------------
,R-aO= % agQDd8 oX 7<Y aw,G 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
s#(%u t <Pi#-r., rpm -U [install-options] package_file
SDVnyT rpm --upgrade [install-options] package_file
a|4Q6Ycu ~=|QPO(d 示例:
oArJ%Y> Jb-.x_Bf 先安装旧版
cmU>A721 [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
Aq\K N. Ds#BfP7a 再安装新版
KKWvV4u [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
}]JHY P\ ~@#a*=" 显示出新版本信息
_rmKvSD% [root@localhost ~]# rpm -q lynx
!(Y,2{ lynx-2.8.5-18
'S:$4j 2 gR*] ?C* 说明:
%.onO0}) -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
'g3T'2"`5 `3@?)xa 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
P%N)]b<c* --------------------------------------------------------------------------------
!SIk9~rJ 3xiDt?&H 7!\zo mx 刷新的语法是:
(NN;1{DB8 Q|e-)FS) rpm -F [install-options] package_file
Yy6$q\@rV TQ5kM rpm --freshen [install-options] package_file
p<,`l)o}~ D3%2O`9 示例:
`*U$pg / :6|)AW.{ 从未安装过lynx包,使用-F选项,将无法升级。
b};o: k[,0kP; [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
;47z.i&T [root@localhost ~]# rpm -q lynx
#<EYO package lynx is not installed
-4P `:bF --------------------------------------------------------------------------------
bdG@%K', F\|4zM ge<D}6GQ 安装和更新选项为:
D/GE-lq 3!vzkBr --allfiles
]vP}K 安装或更新所有文件。
h72CGA| $*T?}r> --badreloc
| L1+7 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
'+27_j Gh@~~\ --excludedocs
aB?usVoS 不安装任何文档文件。
Z#bO}! yMTO 5~U{ --excludepath path
YRFz] 不安装文件名以path开始的任何文件。
4e#$-V P^48]Kj7 --force
4^M"V5tDx 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
H-U_ o:fe`#t -h,--hash
[.1MElM 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
[/%N2mj x5mg<y2`Ng --ignorearch
%dv?n#Uf 即使二进制包用于不同的体系结果也进行安装。
TlRc8r| :dAd5v2f --ignoreos
Y)+q[MZ R 即使操作系统不匹配也安装二进制包。
q$mc{F($D oPM*VTMA --ignoresize
VqpC@C$ 安装前不检查磁盘的可用空间。
~~ rR< re y& 1@d+Lf --includedocs
Xq&BL,lS 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
IT&,?u% rxH]'6kP --nodeps
Vm>E F~ r 不检查这个包是否依赖于其他包的存在。
2R.LLE Zo yO[# --noorder
a4=(z72xe 安装之前,不为了满足依赖关系而对包进行重新排序。
v|o{AL:ei uMS+,dXy --noscripts
Jt@lH 不执行任何预安装或后安装脚本。
d6YXITL)\> ng"=vmu --notriggers
-6HwGfU 不执行任何由包安装触发的脚本。
O9(z"c )J}v.8 --oldpackage
k[;)/LfhS 允许升级以用旧包替换新包。
Y}N\|*ye- (^m]
7l --percent
DylO;+ 当文件被解压时输出完成百分比的信息。
zqo0P~ a3tcLd|7J --prefix path
2!Dz9m3 把可重定位包的安装前缀设置为path。
:~vodh
H.@$#D --replacefiles
jTvcKm|q 即使包替换了来自其他安装包的文件,也安装这些包。
gM\>{ihM' :_~.Nt --replacepkgs
ApXf<MAy 即使某些包已经被安装,也安装他们。
q[,p#uJ] ~Ld5WEp k3 --test
d-D,Gx]>$ 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
l<f9$l^U ,,gMUpL7_8 --------------------------------------------------------------------------------
Zj2 si
?<EzILM 6]?mjG6 查询
hul,Yd) Z *c$[U{Px query命令的语法为:
rPaJ<>Kz YsVmU rpm -q[information-options] [package-options]
rx1u*L rpm --query[information-options] [package-options]
EAGvP&~P !C#oZU]P 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
d_yvG.#C --------------------------------------------------------------------------------
^l!SIu V`^*Z}d9 .|
4P
:r 以下简单示演示一下包查询:
}=[p>3Dd gwoe1:F:J 简单查询:
*[Z`0AgP h0tiWHw 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
$0_K&_5w~ $oBs%.Jp 示例:
e*7O!Z=O ba|xf@=& [root@localhost ~]# rpm -q lynx
Qn*l,Z]US lynx-2.8.5-18
9zwD%3Ufn --------------------------------------------------------------------------------
o$*(N .G{cx=; 1<r!9x9G 信息查询:
8RMM97@1Q 4YfM.~
6 rpm -qi packagename命令可以得到安装包的汇总信息。
z
&EDW5I ;g0Q_F@;p 示例:
Y)sB]!hx [root@localhost ~]# rpm -qi lynx
u cpU$+ Name : lynx Relocations: (not relocatable)
"ko*-FrQ Version : 2.8.5 Vendor: Red Hat, Inc.
\l GD8@,x Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
zZCl]cql Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
x%viCkq Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
@xWWN Size : 4837340 License: GPL
}Va((X w Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
n
_K1% Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> 3FiK/8mu URL :
http://lynx.isc.org/ ZNBowZI Summary : 一个基于文本的网页浏览器。
1>Sfv|ZP, Description :
%1i:*~g Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
xX<f4H\' 图像,但是它支持框架、表格、以及多数其它 HTML
^~~Rto)Y 标签。Lynx 优于图形化浏览器的地方是它的速度――
sX1DbEjj[o Links 能够快速启动、退出、及显示网页。
*tqD:hiF 标识拥有者
6>]_H(z7 --------------------------------------------------------------------------------
jFN0xGZ )\1>)BJq `+,?%W) 找出什么包拥有文件file:
X:W\EeH j\ y! 示例:
2.v{W-D[ ^Q8yb*MN [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
o +$v0vg%T lynx-2.8.5-18
VIAq$iu7 --------------------------------------------------------------------------------
rI$NNk'A _&-d0'+ 0D,@^vw bK 列表包中的文件:
+xYu@r%R nah?V"
?Y 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
</25J(( [Mu9"kF 示例:
s@Q7F{z h.Qk{v 此为部分显示结果
+R*DE5dz [root@localhost ~]# rpm -ql lynx
7NvKpinQ /etc/lynx-site.cfg
tD.#*.7 /etc/lynx.cfg
g (w/ /etc/lynx.cfg.cs
IHEbT
/etc/lynx.cfg.ja
tX^6R /etc/lynx.cfg.sk
'l'3&.{Yfk /usr/bin/lynx
F6U#EvL /usr/share/doc/lynx-2.8.5
y(|#!m?@ /usr/share/doc/lynx-2.8.5/INSTALLATION
Jr5S8c|" /usr/share/doc/lynx-2.8.5/README
+?)7l /usr/share/doc/lynx-2.8.5/docs
i]Mem M- /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
mu\1hKq;B /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
lAnq2j| /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
X.<3/ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
Ek<Qz5) /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
xL15uWk- /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
5t%8y!s /usr/share/doc/lynx-2.8.5/docs/CMU.announce
UNDl&C2vz /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
1]/;qNEv /usr/share/doc/lynx-2.8.5/docs/FM.announce
Rw'}>?k] /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
:)lS9<Y} /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
sywuS /usr/share/doc/lynx-2.8.5/docs/README.TRST
I(M/X/ /usr/share/doc/lynx-2.8.5/docs/README.chartrans
s~OcL 5 ~\am%r> --------------------------------------------------------------------------------
6/<Hx@r ( gGP6"|tc4 O[d#-0s 列出包所提供的实际能力:
5Y+YN1 /phMrL= --provides选项的作用是列出这个包所提供的实际能力。
v*V(hMy Rrh6-]A 示例:
eKOEOm+ Fv]6an. [root@localhost ~]# rpm -q --provides lynx
nT?+^Ruc config(lynx) = 2.8.5-18
O84:ejro webclient
[7}3k?42X lynx = 2.8.5-18
pFH.beY --------------------------------------------------------------------------------
4FzTf7h^ {^1O K~d'*J- 列出这个包所倚赖的任何包:
q0}u%Yz __b4dv -R,--requires选项的作用是列出这个包所依赖的任何包。
8gavcsVE[ %%K3J<5 示例:
1 3]e< ' lG-B)
F [root@localhost ~]# rpm -qR lynx
]$drBk86bh /bin/sh
nFJW\B&(` config(lynx) = 2.8.5-18
v7pu indexhtml
,marNG libc.so.6
n{N0S^h libc.so.6(GLIBC_2.0)
PPl o0R libc.so.6(GLIBC_2.1)
rQl9SUs libc.so.6(GLIBC_2.2)
%.d.h;^T libc.so.6(GLIBC_2.3)
{>
,M libcrypto.so.4
Y/J~M$9P, libncursesw.so.5
oaQW~R`_ libssl.so.4
q;#AlquY @ libz.so.1
=RHtugwy rpmlib(CompressedFileNames) <= 3.0.4-1
+\ftSm> rpmlib(PayloadFilesHavePrefix) <= 4.0-1
EPJ>@A>;D --------------------------------------------------------------------------------
Ub\^3f 6/ 5c| B9|s`o)! 列出包中的配置文件
$e+4Kt
, 8SU0q9X. -c,--configfiles选项的作用是列出包中的配置文件
qRaPh:Q' ;.AMP$o`(Y 示例:
}>M\iPO.]* W! $U{= [root@localhost ~]# rpm -qc lynx
.u\$wJ9Ai /etc/lynx-site.cfg
Qw5-/p=t /etc/lynx.cfg
:
jkO /etc/lynx.cfg.cs
d-b<_k{p /etc/lynx.cfg.ja
7HVENj_b+M /etc/lynx.cfg.sk
=~J VU --------------------------------------------------------------------------------
U%pB YCE *Dm _`p-^I 显示有关于包的改变信息的日志:
$(gL#"T 8x-19# --changllog选项的作用是显示有关于包的改变信息的日志。
3Qd/X&P ujnT B*Cqc 示例:
hiibPc?I q]yw",muT 此为部分显示结果
Pk;/4jt4 [root@localhost ~]# rpm -q --changelog lynx
QGI@5 * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
UF^[?M = - Removed perl dependencies (bug #127423).
JmDxsb^ * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
KDb j
C'3 - rebuilt
0^tY|(b3/M * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
@]IRB1X - No longer need lynx-284-ipv6-salen.patch.
=8#.=J[/ - No longer need lynx2-8-2-telnet.patch.
VoYL}67c * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
9[JUJ,#X'0 - rebuilt
)NhC+=N * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
iS)-25M' - Updated to dev16, fixing bug #110196.
qE2VUEv5Y - No longer need crlf patch.
iJE:>qOTD5 - Use shipped ja translations.
5?HwM[` - Use %find_lang.
5qH*"i+|s - Default config file now sets UTF-8 (bug #110986).
Z[w}PN,xV --------------------------------------------------------------------------------
SF-E>s!XL f8[O]MrO; -a@e28Y 包选择选项
vGlVr.) RtR@wZ2\s package_name
^%zhj3# 查询已安装包的package_name。
"~r)_Ko I;"pPJ3G -a,--all
0sU*3 r? 查询所有已安装拨。
_p4]\LA #S9J9k -f file,--file file
@Q,Q"c2 找出什么包拥有文件file。
N,K/Ya)1 s!?uLSEdb -g group,--group group
&kzysv-_ 找出什么包拥有组group。
M 5w/TN +@^);b6 -p package_file
pD({"A.x9z 查询未安装包package_file
mj$Ucql l+ >eb --querybynumber num
2Q%7J3I 查询第num个数据库条目。主要用于调试。
@I-gs( [5~mP`He -qf,--queryformat num
bKmwXDv' 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
_rB,N#{2R= cQhr{W,Un --specfile specfile
+={K -g7U 查询specfile,就好象它是个包
TyIjDG6tM ou-UR5 --triggeredby pkg
[HYr |T 列出触发安装pkg包的包。
g|]HS4y ,\v'%,:C --whatrequires capability
$2h%IK>#G 列出要求特定能力来行使职责的包。
Sp X;nH-D R]X 0D. --whatprovides capability
p"
>*WQ 列出提供特定能力的包。
G*+^b'7 --------------------------------------------------------------------------------
) %Fwfb <7Pp98si,u =w+8q1!o 信息选择选项:
,9bnR;f\ A`Dx]y -c,--configfiles
8-x-?7 列出包中的配置文件。
4{F1GW ` 'Qb?F6 --changelog
A_9^S! 显示有关于包的改变信息的日志。
?'P}ZC8P .c-a$39 -d,--docfiles
dW4jkjap 列出包中的文档文件。
RX>P-vp rT[qh+KWe --dump
@/<UhnI 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
#_35bg4h{ 以下列顺序输出信息:
JnsJ]_< path size mtime md5sum mode owner group isconfig isdoc rdev symlink
\i_E}Ii0 '3672wF/ --filebypkg
0h@FHw2d 列出每个包中的所有文件。
@ye!? % OtqFI!ns -i
|2q3spd 显示包的信息,包括名字,版本和描述。
iwJ_~ Os"('@jd> -l,--list
jCJcVO>OZ 列出包中所有文件
+\Vm t[v *z0d~j*W; --last
tNTSy= 根据安装时间列出包,最新的包排第一位。
!CYC7HeF 3^y(@XFt --provides
1.!U{>$ 列出这个包所提供的实际能力。
tVn?cS KRaL+A -R,--requires
&|>~7( 列出这个包所依赖的任何包。
5^ Qa8yA>7 yU
v
YV-7 -s,--state
sE"s!s/ 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
iT-coI HK!ecQ^+ --scripts
u;_~{VJ- 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
?mg@z q8 "Q.* --------------------------------------------------------------------------------
|ri)-Bk
, aZA``#p+ @V*dF|# / 卸载
&$
h~Q ! K>iSF< uninstall命令的语法为:
Uq
.6h qNEp3WY: rpm -e package_name
@gI1:-chB rpm --erase package_name
(9'^T.J cszvt2BIg 示例:
E8#
>k [C "\]LiX [root@localhost ~]# rpm -e lynx
#V!a<w4_ [root@localhost ~]# rpm -q lynx
'h*jL@%TT package lynx is not installed
n"(!v7YNp --------------------------------------------------------------------------------
11=$]K> !
xCo{U= _VrY7Mz:r 卸载选项为:
75^6?#GS n<ZPWlJ --allmatches
eM5?fE&!& 删除包的所有版本。应该只指定一个包,否则会导致错误。
9@
tp# 4V,.Oi --nodeps
Kw
-SOFE 在卸载包之前不检查依赖性。
-R`{]7V 3P
cVE\GN --noscripts
S&-K!XyJ 不执行任何预卸载和后卸载脚本。
bNea5u## P\jGySj --notriggers
_;1{feR_ 不执行任何由这个包的删除而出发的脚本。
&R94xh%@( NQ9v[gv --test
P-@MLIC{ 不真正卸载任何包,仅仅查看活动过程。