Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
M[
~2,M&H St7D.| 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
1)/T.q<D" ktw!T{ 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
tZNad Yyo9{4v+p{ 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
2ucF(^ --------------------------------------------------------------------------------
j3rv2W\ *v:,rh #nc@!+ 以下简要介绍RPM包的安装,删除和查询
&Xl_sDvt z[lRb]:i[ RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
,],JI|Rl8c kXZV%mnT7 rpm命令的格式为:
UB&S 2g L
yA(. rpm [options] [packages]
e\
l,gQP S)'q:`tZo 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
YAC zznN )(ZPSg$/F 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
owpJ7S1~ --------------------------------------------------------------------------------
#`vGg9 #Rm=Em}d @Pb 1QLiz RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
p\]LEP\z, DO- K 以下为rpm --showrc命令显示的节选:
Ji}IV L$u&~"z- 示例:
qT<qu(V: aD/,c1 此为部分显示结果
<R~~yW:H [root@localhost ~]# rpm --showrc
zIYr0k*% ARCHITECTURE AND OS:
VU+ s7L0 build arch : i386
-{:LxE compatible build archs: athlon i686 i586 i486 i386 noarch
Etr8lm E build os : Linux
Wse*gO compatible build os's : linux
ZnhuIAAG install arch : athlon
KEVy%AP=*h install os : Linux
rd 35) compatible archs : athlon i686 i586 i486 i386 noarch
RkH oT^
compatible os's : linux
f\F_?s)_y RPMRC VALUES:
5.K$
X$+7} 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
ETWmeMN optflags : %{__global_cflags} -m32 -march=athlon
#PLB$$ Features supported by rpmlib:
w`#0
Y9O rpmlib(VersionedDependencies) = 3.0.3-1
m/F(h-? PreReq:, Provides:, and Obsoletes: dependencies support versions.
v$Y1+Ep9 rpmlib(CompressedFileNames) = 3.0.4-1
!K^kKP*l file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
NX{-D}1X= rpmlib(PayloadIsBzip2) = 3.0.5-1
8apKp?~yW package payload can be compressed using bzip2.
Hj4w
i| --------------------------------------------------------------------------------
Uo[5V|>X6 hq8/`u
YF zUUxxS_? rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
_~S^#ut+ zju,#% 示例:
"MS`d+rf\ l6DIsR [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
*~<]|H5~ Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
7@y!R
Preparing... ########################################### [100%]
FiU;>t<) 1:lynx ########################################### [100%]
~
%YTJS --------------------------------------------------------------------------------
iJKm27 "> io?{ew ~lalc ^ 以下列出一些通用选项(可以用于所有模式):
<,cIc]eX \,bFm,kC? --dbpath path
q(PT'z 用path作为RPM数据库的路径。
>A(?P n{|a qT>&
v_< --ftpport prot
i!}nGJGg
用port作为FTP端口。
}Ka.bZS 2hA66ar{$ --ftpproxy host
o`1V 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
CT:eV7<>s KjfKo;T --help
E~@HC 5.M 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
l0_E9qh-i ~CdseSo9 --justdb
?eVuz x 只更新数据库;不改变任何文件。
19-yM`O &Cpxo9- --pipe command
-MW(={# 用管道把rpm输出到commond。
Y./}zCT 4k2c mM$ --quiet
yb.|7U?/x 仅显示错误信息。
<QW1fE "O1*uwm --rcfile filename
6p]R)K>wS 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
79B`w
# eKFc
W5O --root dir
(xSi6EZ6; 在dir目录内执行所有操作。
qH$rvD!] : )"jh` --version
.L{+O6*c 输出rpm版本号。
nIKT w (kNTXhAr4 -vv
M^Ay,jK! 输出调试信息。
2l/5i]Tq +?txGHQq --------------------------------------------------------------------------------
C\>Mt 3k[<4- VJtTbt;> 安装升级和刷新
<9.7 gwzE D&6Qk&> 安装或升级一个RPM包,install命令的语法为:
I
3,e)Z DoB3_=yJ+ rpm -i [install-options] package_file
@C [|'[xQ rpm --install [install-options] package_file
,~?A.
5 \C2P{q/m 示例:
{,C8}8a W j72]_G [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
+P)[|y +e package lynx-2.8.5-18 is already installed
nV xMo_ [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
^8*SCM_A --------------------------------------------------------------------------------
s!fY^3 'xXqEwi4 w|FVqX 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
Y+`-~ 88 0i(?LI_S rpm -U [install-options] package_file
x|i3e&D rpm --upgrade [install-options] package_file
rxI&;F# tBI+uu aa2 示例:
s=Q*| X*yp=qI 先安装旧版
HYnq x>L ~ [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
+rpd0s49 (tLQX~Ur 再安装新版
'{k Nbx51 [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
YeVc,B' k:@Ls 显示出新版本信息
m+^;\DFJ, [root@localhost ~]# rpm -q lynx
3[i!2iL. lynx-2.8.5-18
ot<o& 9Kx:^~}20o 说明:
\HEo8~TY
-U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
Y[]+C8"O HV7(6VSJ+ 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
u0KZrz --------------------------------------------------------------------------------
Qr-J-2s ?B
7-g4S]r< =&/a\z! 刷新的语法是:
p[cL#fBz l@J|p# 0q rpm -F [install-options] package_file
RGuHXf j3-6WUO rpm --freshen [install-options] package_file
;fME4Sp GE+csnA2 示例:
K0H!Ds9 ko> O~@r 从未安装过lynx包,使用-F选项,将无法升级。
@,`=~_J n}'.6 [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
]hVXFHrR [root@localhost ~]# rpm -q lynx
;/3/R/^g package lynx is not installed
gOmyFHv. --------------------------------------------------------------------------------
I>o;
%} |(v=1#i TZyQOjUu 安装和更新选项为:
XJ/kB8 rw0lXs#K<E --allfiles
SWd[iD 安装或更新所有文件。
@M?EgVmW D %
,yA --badreloc
z n8ig/C 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
NG!Q< !Y OmbKx&>YGz --excludedocs
"$cT*}br 不安装任何文档文件。
5GL+j%7 G-?9;w'@ --excludepath path
b<78K5' 不安装文件名以path开始的任何文件。
NRF%Qd8I/2 wggHUr(g, --force
?s} E<Kr 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
}v,P3 .(]1PKW -h,--hash
/G+gk0FW 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
#R4KBXN AlaN; --ignorearch
JP*mQzZL 即使二进制包用于不同的体系结果也进行安装。
Xb]?/7
X ,O{ 5
--ignoreos
2e@\6l,!^ 即使操作系统不匹配也安装二进制包。
9<CUsq@i: Z=8CbS). --ignoresize
x%ag.g2I 安装前不检查磁盘的可用空间。
<X&:tZ#/ 7lPk~0 --includedocs
u3brb'Y+ 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
#e2 69FwN 0-f- --nodeps
E'6P>6l5 不检查这个包是否依赖于其他包的存在。
DC7}Xly( =U`c
}dhS --noorder
>g0@ Bk 安装之前,不为了满足依赖关系而对包进行重新排序。
bY$!"b~ &YKzK)@ --noscripts
,)G+h#Y[* 不执行任何预安装或后安装脚本。
q\Kdu5x{ =8_TOvSJ4p --notriggers
:"IH *7xp 不执行任何由包安装触发的脚本。
OVf|4J/Yx 0j MI)aY. --oldpackage
_'p;V[(+M 允许升级以用旧包替换新包。
!$#4D&T L%Q *\d --percent
08jQq# 当文件被解压时输出完成百分比的信息。
1A.\Ao l #z`4< --prefix path
=@XR$Uud6 把可重定位包的安装前缀设置为path。
}"H900WE| $m
oa8 --replacefiles
^BTNx2VHf 即使包替换了来自其他安装包的文件,也安装这些包。
gRI|rDC)B nDw9 --replacepkgs
Vs"Q-? 即使某些包已经被安装,也安装他们。
%y+j~]^: O#Hz5A5 --test
!iOu07<n&D 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
+@7R,8 )E2Lf] --------------------------------------------------------------------------------
|XG7UH Kp;o?5H Xrn~]P7 查询
Te#[+B? _>64XUZ<n query命令的语法为:
Q3Lqj2r XX6)( rpm -q[information-options] [package-options]
*.l=>#qF rpm --query[information-options] [package-options]
ka%pS I!'(>VlP7 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
tRCd(Z,WY --------------------------------------------------------------------------------
3l[hkRFu` KrH;o)| x%&V!L 以下简单示演示一下包查询:
'8
#*U N3RwcM9+; 简单查询:
\vQ ( n//a;m 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
r :-WfDz. Z3{Qtysuv3 示例:
5UyK1e)) r'?&VS-Cj [root@localhost ~]# rpm -q lynx
t$iU|^'uV lynx-2.8.5-18
(6'Hzl^ Kp --------------------------------------------------------------------------------
gk%ye&:f P'k39 Wfy+7$14M 信息查询:
hp}8
3.oA }clNXtN rpm -qi packagename命令可以得到安装包的汇总信息。
5]+eLKXB &>{L"{ 示例:
7?s>u937 [root@localhost ~]# rpm -qi lynx
*CSFkWVa Name : lynx Relocations: (not relocatable)
e(A&VIp Version : 2.8.5 Vendor: Red Hat, Inc.
Mla,"~4D5 Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
H5)WxsZ R Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
\v Go5` Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
4+:u2&I Size : 4837340 License: GPL
n\U6oJN Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
r$zXb9a|< Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> E;0"1
P|S URL :
http://lynx.isc.org/ rtz(Jt{< Summary : 一个基于文本的网页浏览器。
<h[^&CY{ Description :
,0xN#&?Ohh Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
u Rg^: 图像,但是它支持框架、表格、以及多数其它 HTML
]dFWIvC 标签。Lynx 优于图形化浏览器的地方是它的速度――
8nM]G4H.f Links 能够快速启动、退出、及显示网页。
Jo]g{GX[ 标识拥有者
u5[Wr : --------------------------------------------------------------------------------
ERplDSfO- %+}\i'j7 -xlI'gNg7 找出什么包拥有文件file:
3{z }[@N >EjBknl 示例:
up6LO7drW/ 9AaixI [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
4 @h6|= lynx-2.8.5-18
$MHc4FE[ --------------------------------------------------------------------------------
ww*F}}( M:N>{_1& UPsh Y 列表包中的文件:
u#QQCgrs 'WoX-y 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
Sob+l'U$ hQO~9mQ+! 示例:
>n/QKFvV5 +H_Z!T.@ 此为部分显示结果
r38CPdE;} [root@localhost ~]# rpm -ql lynx
1Mqz+@~11 /etc/lynx-site.cfg
zi'?FM[f) /etc/lynx.cfg
xk9]jQ7 /etc/lynx.cfg.cs
URwFN OM2 /etc/lynx.cfg.ja
=n!8>8d /etc/lynx.cfg.sk
klKt^h- /usr/bin/lynx
qSR
%# /usr/share/doc/lynx-2.8.5
HU'}c*d] /usr/share/doc/lynx-2.8.5/INSTALLATION
O;r8l+ /usr/share/doc/lynx-2.8.5/README
#0tM88Wi /usr/share/doc/lynx-2.8.5/docs
F7df /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
0@KBQv"v /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
aqlYB7 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
mz''-1YY$ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
[z?XVl< /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
4Q.70 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
}v{F9dv /usr/share/doc/lynx-2.8.5/docs/CMU.announce
"[G
P)nC /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
V.}U p+WL /usr/share/doc/lynx-2.8.5/docs/FM.announce
v,s]:9f`\> /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
zKZ6Qjd8! /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
8u4]@tJH /usr/share/doc/lynx-2.8.5/docs/README.TRST
8G=4{,(A /usr/share/doc/lynx-2.8.5/docs/README.chartrans
LQ._?35r );C !:? --------------------------------------------------------------------------------
f7L |Jc iJAW| dw} h$3Y,-4 列出包所提供的实际能力:
~lMsD~$sO rYT3oqpfT --provides选项的作用是列出这个包所提供的实际能力。
{=kA8U 2w%1\TcB$ 示例:
HV>W f"1 CUoMB r [root@localhost ~]# rpm -q --provides lynx
MTQdyTDHl config(lynx) = 2.8.5-18
sfH|sp webclient
r\yj$Gu>( lynx = 2.8.5-18
)pJzw-m" --------------------------------------------------------------------------------
?tBEB5 |tmD`ndO _ge3R3 列出这个包所倚赖的任何包:
][9M_. nt4> 9; -R,--requires选项的作用是列出这个包所依赖的任何包。
+IU]=qS (mycUU% 示例:
RNPqW,B!0 6w5 4+n [root@localhost ~]# rpm -qR lynx
,]+6kf 5 /bin/sh
y 8sI @y6 config(lynx) = 2.8.5-18
<I}k%q' indexhtml
mu*wX'.' libc.so.6
jjs-[g'} libc.so.6(GLIBC_2.0)
"<kmiK/ libc.so.6(GLIBC_2.1)
xv
/w % libc.so.6(GLIBC_2.2)
TJCoID7a8 libc.so.6(GLIBC_2.3)
-7lJ libcrypto.so.4
dJ$}] libncursesw.so.5
lA{Sr0fTP libssl.so.4
Tf+B<B: libz.so.1
&iuc4"' rpmlib(CompressedFileNames) <= 3.0.4-1
5dhRuc rpmlib(PayloadFilesHavePrefix) <= 4.0-1
F3?v& --------------------------------------------------------------------------------
V&gUxS]* :Y"f.> 4ed(
DSN 列出包中的配置文件
qsJo)SA \2T@]!n -c,--configfiles选项的作用是列出包中的配置文件
X(/W|RY{@ >kd2GZe^_J 示例:
FG'1;x! i~4:]r22 [root@localhost ~]# rpm -qc lynx
W}KtB1J
/etc/lynx-site.cfg
.n"aQ@! /etc/lynx.cfg
gB?#T /etc/lynx.cfg.cs
.
a~J.0co /etc/lynx.cfg.ja
sLCL\dWT /etc/lynx.cfg.sk
XI
pXP,Yy --------------------------------------------------------------------------------
K'y;j~`- jn]{|QZ )@Ly{cw 显示有关于包的改变信息的日志:
Iu%S><'+ Pb!kl # --changllog选项的作用是显示有关于包的改变信息的日志。
98A ; R Zl]\sJ1" 示例:
&K}!R$[,:P 2mI=V.X[& 此为部分显示结果
9c<lFZb; [root@localhost ~]# rpm -q --changelog lynx
z"R-Sme * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
5pz%DhjLo - Removed perl dependencies (bug #127423).
4e9mN~ * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
@HR]b^2E - rebuilt
S&9{kt|BI * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
i_V~SC` - No longer need lynx-284-ipv6-salen.patch.
55fV\3F|R - No longer need lynx2-8-2-telnet.patch.
C^.:{ * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
R5qC;_0cV - rebuilt
"GgK,d}% * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
$/6.4"j - Updated to dev16, fixing bug #110196.
\acjv|] - No longer need crlf patch.
Uq7 y4zJ - Use shipped ja translations.
+
6O5hZ - Use %find_lang.
'a*tee ^RS - Default config file now sets UTF-8 (bug #110986).
[CJ&Yz Ji --------------------------------------------------------------------------------
0IxXhu6v @2]_jW z>hA1*Ti 包选择选项
|G{TA 7\eN8+ package_name
-k=02?0p+ 查询已安装包的package_name。
we!}"'E; *s<FE F -a,--all
8 yQjB-,# 查询所有已安装拨。
9)'L,Xt4:T m8fxDepFA -f file,--file file
g6+}'MN:5 找出什么包拥有文件file。
GRS[r@W[1 @MS;qoc -g group,--group group
V`=#j[gX)= 找出什么包拥有组group。
h]&8hl_'m |lrLTI^a -p package_file
B<x)^[ <v 查询未安装包package_file
k~h'`( A2!7a}*1( --querybynumber num
\-gZ_>) 查询第num个数据库条目。主要用于调试。
1W;q(#q `A])4q$ -qf,--queryformat num
j!xt&t4D 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
b&. o9PV" /X{:~*.z --specfile specfile
6MqJy6 查询specfile,就好象它是个包
\|R P-8 LS*^TA(I[ --triggeredby pkg
E$T)N U\ 列出触发安装pkg包的包。
OpA q3#07o_dV --whatrequires capability
kK>PFk( 列出要求特定能力来行使职责的包。
P'xq+Q ojni+} >_ --whatprovides capability
9;NR 列出提供特定能力的包。
*^ g7kCe( --------------------------------------------------------------------------------
T]Pp\6ff ORD@+ { 5v<BB`XWp 信息选择选项:
_0<qS{RW XOAZ -c,--configfiles
.A//Q|ot! 列出包中的配置文件。
<: f jWy dnSjXyjFB --changelog
a39Kl_\ 显示有关于包的改变信息的日志。
"WV]|
TS"] q4C$-W%rj -d,--docfiles
HNu/b)-Rb 列出包中的文档文件。
<p;cR` %uE [/.o>R#J( --dump
be}^}w= 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
WgF
Xv@Jjt 以下列顺序输出信息:
T1.`*,t)= path size mtime md5sum mode owner group isconfig isdoc rdev symlink
u|z B\zd $fR[zBxA --filebypkg
L&H4fy!> 列出每个包中的所有文件。
UEbRg =6 RBd{1on -i
6lpfk& 显示包的信息,包括名字,版本和描述。
7g^= <nOK#;O) -l,--list
,IX:u1mO 列出包中所有文件
f$[6]7P fH-V!QYGF --last
TL lR"L5 根据安装时间列出包,最新的包排第一位。
#8H Ze[ezu --provides
(sSMH6iCif 列出这个包所提供的实际能力。
GSj04-T" sN.h>bd -R,--requires
4IuQQ 列出这个包所依赖的任何包。
C(qqGK{ uU=O 0?'zq -s,--state
x<W`2Du 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
Y;JV9{j <iDqt5)N --scripts
jl YnV/ ] 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
_1S^A0ft `uo'w:Q --------------------------------------------------------------------------------
G'T/I\tB u|t<f`ze F$T@OT6 卸载
yu"enA ZbD_AP uninstall命令的语法为:
rP Wn ^dj
avJ rpm -e package_name
O+ ~.p rpm --erase package_name
xcz[w}{eEq ,g\%P5 示例:
D^V0kC p!F _7Z|=) [root@localhost ~]# rpm -e lynx
AC:cV=' [root@localhost ~]# rpm -q lynx
!l-^JPb package lynx is not installed
T>,3V:X --------------------------------------------------------------------------------
s_xWvx8?4. _PUgK\ P0WI QG+ 卸载选项为:
1D159 NLB AvnK?*5!@ --allmatches
MW*@fl<@?M 删除包的所有版本。应该只指定一个包,否则会导致错误。
+c$]Q-( uSh!A --nodeps
%5.aC|^} 在卸载包之前不检查依赖性。
huVw+vAA .4P5tIn\ --noscripts
DdJ>1504 不执行任何预卸载和后卸载脚本。
Wm! lWQu7 RQiGKz5
--notriggers
}+ ";W) R 不执行任何由这个包的删除而出发的脚本。
/cM< S?_/Po| --test
*[K\_F?^h 不真正卸载任何包,仅仅查看活动过程。