Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
@qjfZH@ P=+nB*hG 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
mp?78_I) 3=$q 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
,4,V4 N 0}FOV`n 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
/43-;"%> --------------------------------------------------------------------------------
"+
>SJ~ ~$ f;U E55t*^` 以下简要介绍RPM包的安装,删除和查询
!\#_Jw%y <b?!jV7 RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
;)I'WQ]Q NeBsv= [- rpm命令的格式为:
jhX[fT1m @81Vc<dJ rpm [options] [packages]
>'xGp7}y p=B>~CH 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
u#A<hq; npyAJp 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
nG,U>) --------------------------------------------------------------------------------
>Clh] ;K XfE -fH1j `#QG6/0 RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
6XJ[h }^*F59>H 以下为rpm --showrc命令显示的节选:
.R8 HZ}3 $DC*i-}qFg 示例:
iy\nio` st& 此为部分显示结果
2Nm>5l [root@localhost ~]# rpm --showrc
\U?n+6 7g ARCHITECTURE AND OS:
^(f4*m6` build arch : i386
L0]_hxE? compatible build archs: athlon i686 i586 i486 i386 noarch
@a>2c$% build os : Linux
GF:`>u{C compatible build os's : linux
@@g\2Gs install arch : athlon
IU]^&e9u install os : Linux
8?O>ZZtu compatible archs : athlon i686 i586 i486 i386 noarch
{(#%N5% compatible os's : linux
%?hsoj&k RPMRC VALUES:
\WrFqm# 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
lvpc*d|K optflags : %{__global_cflags} -m32 -march=athlon
Op?OruT[ Features supported by rpmlib:
5P hX"7 rpmlib(VersionedDependencies) = 3.0.3-1
<U9/InN0[ PreReq:, Provides:, and Obsoletes: dependencies support versions.
EQIo5 rpmlib(CompressedFileNames) = 3.0.4-1
{"H2 :-t< file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
1?Aga,~k:a rpmlib(PayloadIsBzip2) = 3.0.5-1
ph|ZG6: package payload can be compressed using bzip2.
Ei3zBS?J) --------------------------------------------------------------------------------
]:$
O{y L~/qGDXC? qxMnp}O rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
!epgTN HXVBb%pP 示例:
L]hXpt W*:,m8wk [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
LFp]7Dq Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
+P`(Rf"luu Preparing... ########################################### [100%]
\#x}q'BC4 1:lynx ########################################### [100%]
V*$L;xbC| --------------------------------------------------------------------------------
!b-bP,q Na,_ `C+HE$B 以下列出一些通用选项(可以用于所有模式):
ixh47M O0*e)i8 --dbpath path
ZRUhAp'<qj 用path作为RPM数据库的路径。
?Jusl8Sm wVA|!>v --ftpport prot
XfzVcap 用port作为FTP端口。
PaCzr5!~f jSQ9.%4 --ftpproxy host
5NXt$k5 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
qG9+/u)\ F{\gc|!i --help
0ZPV'`KGp 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
rn:!dV[ |"$uRV=qm --justdb
0-3rQ~u 只更新数据库;不改变任何文件。
)W&>[B 5lJ)(|_ --pipe command
+f;CyMEp 用管道把rpm输出到commond。
kao}(?x% '!Kf#@';u --quiet
xq-$\#O 仅显示错误信息。
=]Hs|{ }98>5%Uv --rcfile filename
agOk*wH5 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
i!dv0|_ \H5Jk$* --root dir
*sfD#Bi] 在dir目录内执行所有操作。
N<_Ko+VF `
e {BId --version
B7-RU<n 输出rpm版本号。
9f}XRz )06iV -vv
"n\%_'R\hH 输出调试信息。
E)t 4R ) |->" --------------------------------------------------------------------------------
<3O T>E[ "!Rw)=7O IdRdW{o 安装升级和刷新
FFGqa& nyT[^n 安装或升级一个RPM包,install命令的语法为:
EkKnUD Rh] P8 rpm -i [install-options] package_file
3@O0^v- rpm --install [install-options] package_file
_NdLcpBT? z]$j7 dp 示例:
f!-Sz/ c# fjDpwb:x) [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
c! H 9yk package lynx-2.8.5-18 is already installed
3On
JWuVfZ [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
5>ST"l_ca --------------------------------------------------------------------------------
O'}llo
td(M#a- qq+MBW* 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
BSp$F WvT? +3bfD rpm -U [install-options] package_file
? Ekq6uz\) rpm --upgrade [install-options] package_file
H^CilwD158 {B yn{?w 示例:
'%3{jc-} _Nu`)m 先安装旧版
,bSVVT-b [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
O5 7jz= r %7`d/dgR 再安装新版
Wm6dQQ;Bj [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
)hL^+Nn bR !J.rM5K 显示出新版本信息
d0C8*ifFO [root@localhost ~]# rpm -q lynx
'=TTa lynx-2.8.5-18
9Nl*4 U
%:c],Fk 说明:
S[@6Lp3q_ -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
9 |K*G~J ':;LrTc'K 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
Ww87 --------------------------------------------------------------------------------
q?VVYZXP B {i&~k &9kiO 刷新的语法是:
REx[`x,GUh NFoZ4R1gy rpm -F [install-options] package_file
cy:;)E>/ 8 G?b.NE^ rpm --freshen [install-options] package_file
V}`M<A6: {qAu/ixp 示例:
tvWH04T KHJ=$5r) 从未安装过lynx包,使用-F选项,将无法升级。
mW$ot.I -iQsi4 [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
8D~Dd!~P [root@localhost ~]# rpm -q lynx
&y3B)#dIJ package lynx is not installed
$o+&Y5: --------------------------------------------------------------------------------
`p"U CSL4P) *!u? 安装和更新选项为:
Rc7.M"wzjX mahi7eU
P --allfiles
m0iV m| 安装或更新所有文件。
x[m'FsR4 .xv^G?GG --badreloc
Z)v)\l9d 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
0P:F97"1, 'j /q76uXV --excludedocs
<<BQYU)Ig 不安装任何文档文件。
lIy/;hIc cJ4S! --excludepath path
u-/3(dKt 不安装文件名以path开始的任何文件。
J:W'cH$cR 0N1' $K$\ --force
VEo^ :o)r 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
M7H~;S\3IM xucIjPi] -h,--hash
.%hQJ{vf-^ 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
wR1K8b".DC wG6FS --ignorearch
"w1(g=n 即使二进制包用于不同的体系结果也进行安装。
XkoW L ,yi2O]5e>! --ignoreos
vcD'~)G(* 即使操作系统不匹配也安装二进制包。
g&aT!%QvX+ W,'3D~g8 --ignoresize
'h:!m/1 安装前不检查磁盘的可用空间。
(jneEo=vr { ;' :h --includedocs
pqd4iR Wv 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
1'OD3~[R 7#/|VQX<A --nodeps
Oylp:_<aT 不检查这个包是否依赖于其他包的存在。
R^?PAHE7 <wqRk< --noorder
9e76pP( 安装之前,不为了满足依赖关系而对包进行重新排序。
$@4e(Zrmo l2M/,@G --noscripts
;W4:#/~14 不执行任何预安装或后安装脚本。
a:xgjUt&5 {N@Y<=+: --notriggers
4}PeP^pj 不执行任何由包安装触发的脚本。
K+t];( 0wYiu --oldpackage
n%8#?GC` 允许升级以用旧包替换新包。
V'$oTZ` m4\g o --percent
oYGUjI 当文件被解压时输出完成百分比的信息。
)da:&F - t)`+d=P --prefix path
=z']s4 把可重定位包的安装前缀设置为path。
i!ds {`d z'v9j_\ --replacefiles
EXH!glR[$ 即使包替换了来自其他安装包的文件,也安装这些包。
<X9T-b"$h dR%q1Y&` --replacepkgs
o|BFvhg 即使某些包已经被安装,也安装他们。
="=#5C k@lXXII ? --test
]qF<Zw7 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
%G^(T%q| m mKMGdN~ --------------------------------------------------------------------------------
|4LQ\'N& 012:BZR paUyS 1i 查询
O\:;q*] Y~}QJ+`? query命令的语法为:
.M`LUb"! U0ns3LirP rpm -q[information-options] [package-options]
.2{ 6h rpm --query[information-options] [package-options]
vJzx Py| P|yGx)'^P 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
Z@8MhJ --------------------------------------------------------------------------------
Ty(yh(oYF` HK=CP0H U5 -zB)V 以下简单示演示一下包查询:
]VmzKA|h+ +EQpD. 简单查询:
YGi/]^Nba 23,%=U 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
1@s^$fvW y`T--v3mI 示例:
Y|Nfwqz [k}dES# [root@localhost ~]# rpm -q lynx
,OFq'}q lynx-2.8.5-18
w@4t$bd7 --------------------------------------------------------------------------------
4/ 0/#G#j +YkmLD lsN/$M|} 信息查询:
S]Sp Z8 &3+1D1"y/ rpm -qi packagename命令可以得到安装包的汇总信息。
_?*rtDzIM 3/yt*cr 示例:
-DbH6u3 [root@localhost ~]# rpm -qi lynx
GC,vQ\ Name : lynx Relocations: (not relocatable)
?T$*5d Version : 2.8.5 Vendor: Red Hat, Inc.
ZA) SJWwD Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
,7WK<0
Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
gizmJ:< Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
&T5fH!?4 Size : 4837340 License: GPL
[]sB^UT Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
s,{RP0| Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> d8VWi* URL :
http://lynx.isc.org/ YY1{v?[ Summary : 一个基于文本的网页浏览器。
[w+yQ7P Description :
9;r48)5 Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
u)N2 图像,但是它支持框架、表格、以及多数其它 HTML
;Hz`0V 标签。Lynx 优于图形化浏览器的地方是它的速度――
|SwZi'p Links 能够快速启动、退出、及显示网页。
..v@Q% 标识拥有者
Xq} n^W --------------------------------------------------------------------------------
.eZPp~[lAN d"QM;9 2D\x-!l/ 找出什么包拥有文件file:
'Y~8_+J? JMl, N 示例:
%5( EkP .Bm ^3A [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
#VP-T; Ahe lynx-2.8.5-18
35-DnTv --------------------------------------------------------------------------------
?[a7l:3-[ |>jqH @\P RPofa+ 列表包中的文件:
"\wDS2M) FB?q/ _ 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
c%6 @ z Q6e'0EIKC 示例:
(25^r -&f]Xu 此为部分显示结果
EU&6Tg [root@localhost ~]# rpm -ql lynx
]x5(bnWx /etc/lynx-site.cfg
GgZEg
?@ /etc/lynx.cfg
>b/k|?xP /etc/lynx.cfg.cs
`2Z4#$. /etc/lynx.cfg.ja
uM}dZp 1 /etc/lynx.cfg.sk
J, (U<%n /usr/bin/lynx
P22y5z~ /usr/share/doc/lynx-2.8.5
DKaG?Y,*p /usr/share/doc/lynx-2.8.5/INSTALLATION
)U"D4j*p /usr/share/doc/lynx-2.8.5/README
{d*qlztO /usr/share/doc/lynx-2.8.5/docs
~(*co[_ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
6qmo
ZAg /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
3.GdKP.% /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
tDuUAI54 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
Y3sNr)qss /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
etQx>U /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
)f:!#v(K /usr/share/doc/lynx-2.8.5/docs/CMU.announce
X=*Yzz} /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
x3p;H02i\ /usr/share/doc/lynx-2.8.5/docs/FM.announce
hr$VVbOho /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
D!OG307P /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
Aspj*CDu /usr/share/doc/lynx-2.8.5/docs/README.TRST
eKU@>5 /usr/share/doc/lynx-2.8.5/docs/README.chartrans
,/[dmoe /o}0oo5B --------------------------------------------------------------------------------
ozxK?AMgG b'Piymx -?2 &5YB 列出包所提供的实际能力:
X,C/x) ><:lUt*N2 --provides选项的作用是列出这个包所提供的实际能力。
jmA{rD W tSh}0N) 示例:
G74a9li@ X<@y*?D9D [root@localhost ~]# rpm -q --provides lynx
zei9,^
C config(lynx) = 2.8.5-18
b|V4Fp webclient
D ^T7pO lynx = 2.8.5-18
6LF^[b/u --------------------------------------------------------------------------------
#u]_7/(</` 2Xq!'NrS x:&L?eOT 列出这个包所倚赖的任何包:
tp,mw24 "*H'bzK -R,--requires选项的作用是列出这个包所依赖的任何包。
a_}BTkfHa T/spUlWu 示例:
D/%b@Ls2ze IZ(CRKCGBl [root@localhost ~]# rpm -qR lynx
07G*M ] /bin/sh
>sl1 cC config(lynx) = 2.8.5-18
=+sIX3 indexhtml
5k7(! libc.so.6
xhVq libc.so.6(GLIBC_2.0)
JQvQm|\nc libc.so.6(GLIBC_2.1)
NXG}0`QVT libc.so.6(GLIBC_2.2)
OrKT~JQVC& libc.so.6(GLIBC_2.3)
6jy n,GU libcrypto.so.4
g`f6gxc libncursesw.so.5
/w0v5X7 libssl.so.4
xZ{|D libz.so.1
%q\P 'cK rpmlib(CompressedFileNames) <= 3.0.4-1
$/U^/2) rpmlib(PayloadFilesHavePrefix) <= 4.0-1
VlQwVe --------------------------------------------------------------------------------
M0" g/W tV}ajs (HX [bG` 列出包中的配置文件
q.hc%s2? _-yF9g"I -c,--configfiles选项的作用是列出包中的配置文件
Hh'14n&W %n`iA7j$W 示例:
sR0e&Y qKb-aP- [root@localhost ~]# rpm -qc lynx
i6\!7D] /etc/lynx-site.cfg
odT7Gq /etc/lynx.cfg
/>j+7ts /etc/lynx.cfg.cs
BNKo6:wy /etc/lynx.cfg.ja
fKK-c9F /etc/lynx.cfg.sk
Xe^=(| M --------------------------------------------------------------------------------
"ih>T^| 5Z>pa`_$2 _F$t#.o 显示有关于包的改变信息的日志:
+\(ay"+ d s)'_{ A"h --changllog选项的作用是显示有关于包的改变信息的日志。
$\J9F=<a jX8 C2}j 示例:
,knI26Jh r(xlokpnb6 此为部分显示结果
(R|FQdH [root@localhost ~]# rpm -q --changelog lynx
CFrHNU * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
=K<I)2
- Removed perl dependencies (bug #127423).
W/F4wEODY * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
-D^y)
- rebuilt
EvardUB) * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
z o))x( - No longer need lynx-284-ipv6-salen.patch.
1AEVZ@(j7 - No longer need lynx2-8-2-telnet.patch.
M$hw(fC|m1 * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
CR PE?CRQF - rebuilt
KJ{F,fr+v * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
W%<]_u[-} - Updated to dev16, fixing bug #110196.
pj-HLuZR - No longer need crlf patch.
v+_Y72h*a - Use shipped ja translations.
)B5gs%u] - Use %find_lang.
<XcMc<h~ - Default config file now sets UTF-8 (bug #110986).
oZcwbo8 --------------------------------------------------------------------------------
d`][1rZk NF.6(PG| N#!1@!2BN 包选择选项
{-]HYk FveK|- package_name
3 &Zx*: 查询已安装包的package_name。
5i-;bLm zc~xWy+ -a,--all
z ex.0OT; 查询所有已安装拨。
~I^[rP~ (GOrfr -f file,--file file
"?(Fb_}i 找出什么包拥有文件file。
\kGtYkctZ 2_~XjwKE -g group,--group group
Pisr&"A 找出什么包拥有组group。
J9t? ]9.,: _N#3lU? -p package_file
8GRrf2 查询未安装包package_file
!*.
nR(>d 0aoHv --querybynumber num
fU7:3"|s8 查询第num个数据库条目。主要用于调试。
`V2j[Fz gbv[*R{<% -qf,--queryformat num
5va&N<U 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
gJ~*rWBK: R6o<p<fTh --specfile specfile
5 9HaTq 查询specfile,就好象它是个包
x9
L\" mqc Z3lsv --triggeredby pkg
3Ty{8oUs^ 列出触发安装pkg包的包。
-#M~NbI, /
H/Ne
)r --whatrequires capability
$ttr_4= 列出要求特定能力来行使职责的包。
(G!J== q x }fn/: --whatprovides capability
-"fq34v 列出提供特定能力的包。
CKw)J}z --------------------------------------------------------------------------------
<Y'YpH`l KKJ [ w[[@&T\` 信息选择选项:
BFu9KS+@) a8P6-)W -c,--configfiles
CP#MNNvgrw 列出包中的配置文件。
R*#Q=_ 6U3@-+lF --changelog
8=AKOOU7> 显示有关于包的改变信息的日志。
~7lvY+k)< <?}g[]i -d,--docfiles
!h(0b*FUJ 列出包中的文档文件。
UimZ/\r l q9h Dn[p --dump
}H^^v[4 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
^K[tO54 以下列顺序输出信息:
q)i(wEdUZ path size mtime md5sum mode owner group isconfig isdoc rdev symlink
FLOJ ~m&oa@*=y --filebypkg
u<2sb;a 列出每个包中的所有文件。
v@SrEmg [cs8/Q8+ -i
@(?d0xCg 显示包的信息,包括名字,版本和描述。
-^"?a]B ?q&mI* j! -l,--list
Ot<!Y M 列出包中所有文件
LA0x6E+I FeRuZww._J --last
64s;6= 根据安装时间列出包,最新的包排第一位。
rqo<Xt` $^ 3 f}IzA --provides
j"=jK^ 列出这个包所提供的实际能力。
m,q<R1 bv];Gk*Z- -R,--requires
Y)RikF > 列出这个包所依赖的任何包。
O:R{4Q*5 bJ}+<## -s,--state
|{"7/~*[ 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
]gk1h=Y~h Ww4G --scripts
}'-
) 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
-*r';Mz; %c{)'X --------------------------------------------------------------------------------
K.zs;^ ,Ou)F;r EHjhez 卸载
'm:B(N@+ |sAg@kM uninstall命令的语法为:
{` ,"ZlY}!Gn rpm -e package_name
w!M ^p&T7 rpm --erase package_name
4(IP C" WZsF^3 示例:
wUndNE
SQx):L)P6 [root@localhost ~]# rpm -e lynx
Z2}b1#U? [root@localhost ~]# rpm -q lynx
Ca|;8ggf package lynx is not installed
np(<Ap r --------------------------------------------------------------------------------
G8'3.;"W5 AG2jl/ c5pG?jr+d 卸载选项为:
w:v:znQrW .ji%%f --allmatches
| w -W=v 删除包的所有版本。应该只指定一个包,否则会导致错误。
H0 t1& : "(GeW286k --nodeps
w ?aLWySYT 在卸载包之前不检查依赖性。
(H^o8J
"Xc=<rX --noscripts
Bw[V K7 不执行任何预卸载和后卸载脚本。
r>o6}Mx$ Vo[4\h#$ --notriggers
:8
:>CHa 不执行任何由这个包的删除而出发的脚本。
\PJ89u0 /.bwwj_; --test
J$[Vm%56 不真正卸载任何包,仅仅查看活动过程。