Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
lJdYR'/Wd
g/i%XTX> 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
$15H_X*! *)Cr1d k 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
!IA\c(c^ <q>d@Foi 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
[J(b"c6 --------------------------------------------------------------------------------
rs( e $RNHRA. /J&ks>St 以下简要介绍RPM包的安装,删除和查询
@LSh=o+ ~"<^4h RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
]>Gi_20*. 1[$zdv{A rpm命令的格式为:
EU04U E|+<m! rpm [options] [packages]
&U7h9o H ;r&Z?B$ 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
6(uZn= os&FrtDg 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
+|7N89l --------------------------------------------------------------------------------
%u_dxpx %>6ilGQ+ cza_LO( RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
?u/UV,";y ts}OE 以下为rpm --showrc命令显示的节选:
|lg jI!iK *?]<=IV? 示例:
5Pxx)F9] W&&|T;P<J 此为部分显示结果
:K"~PrHm [root@localhost ~]# rpm --showrc
+6
=lN[b ARCHITECTURE AND OS:
:FfEjNil build arch : i386
q-ko)] compatible build archs: athlon i686 i586 i486 i386 noarch
/fQ}Ls\ build os : Linux
`wQs$!a compatible build os's : linux
BzkfB:wr install arch : athlon
G6}&k[d5% install os : Linux
-mn/Yv compatible archs : athlon i686 i586 i486 i386 noarch
LME&qKe5 compatible os's : linux
\E<Qi3W>* RPMRC VALUES:
~zG)<S"q 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
Yf~Kzv1]* optflags : %{__global_cflags} -m32 -march=athlon
QB!_z4UJ_; Features supported by rpmlib:
Y:L[Iz95o rpmlib(VersionedDependencies) = 3.0.3-1
,\c V,$ PreReq:, Provides:, and Obsoletes: dependencies support versions.
F:q8.^HTJ rpmlib(CompressedFileNames) = 3.0.4-1
JbS[(+o file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
)S 4RR2Q> rpmlib(PayloadIsBzip2) = 3.0.5-1
-gS9I^ package payload can be compressed using bzip2.
II| ;_j --------------------------------------------------------------------------------
x<Gjr} *w O~RnP :KA)4[#;W rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
`O%nDry VltM{-k^ 示例:
e&U$;sS` saQs<1 [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
EU%v
|] Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
]+3M\ ib Preparing... ########################################### [100%]
9_iwikD 1:lynx ########################################### [100%]
_*%K!%}l= --------------------------------------------------------------------------------
!4=_l6kg~+ OuEcoI K {wj%WSQj/y 以下列出一些通用选项(可以用于所有模式):
<FBBR2 2,`X@N`\ --dbpath path
E;x-O)(& 用path作为RPM数据库的路径。
3nc\6v% nKS*y* --ftpport prot
K sE$^` 用port作为FTP端口。
=E%@8ZbK gh\u@#$8 --ftpproxy host
*jWh4F, 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
@KU;'th fRLA;1va --help
g3&nxZ 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
'@ Y@Fs \G>C{v; --justdb
K Cw 只更新数据库;不改变任何文件。
2|& S2uq a{Y|`*7y --pipe command
`y^\c#k 用管道把rpm输出到commond。
0#eb] c H1B%}G*Ir- --quiet
.R"VLE| 仅显示错误信息。
Fj~suZ` -d#08\ --rcfile filename
c1s& 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
;hO6 p
sL~4~178 --root dir
JZ`h+fAt 在dir目录内执行所有操作。
rDbtT*vN pgh(~[ --version
E~fb#6 输出rpm版本号。
;#9?3Os MJ?t{= -vv
n:/!{. 输出调试信息。
~nmFZ]y )G^k$j --------------------------------------------------------------------------------
,m?V3xvq $ MH;v_'a G6a 2] 安装升级和刷新
Os$E,4,py {!wW,3|Pu 安装或升级一个RPM包,install命令的语法为:
3\j`g TY %zw6 #p rpm -i [install-options] package_file
?<3 d
Fb rpm --install [install-options] package_file
JZ-@za6u k6ry"W3 示例:
(i%bQZt^? /fb}]e]N [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
PaQ lQ# package lynx-2.8.5-18 is already installed
Ya\:C] [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
6}N`YOJ. --------------------------------------------------------------------------------
( `bb1gz Mi|13[p{ 0*5Jq#5 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
8\P,2RSnt E-C]<{`O rpm -U [install-options] package_file
W7uX rpm --upgrade [install-options] package_file
(["kbPma .W~XX 示例:
"A+7G5 ;y\/7E 先安装旧版
J?J4<l9 [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
vi^YtA 4y3c=L
No 再安装新版
o5&b'WUJ= [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
V{oFig 6 ,hI$nF0}p 显示出新版本信息
])F+ C/Px1 [root@localhost ~]# rpm -q lynx
kEC^_sO" lynx-2.8.5-18
CUH u= lBFKfLp& 说明:
}FS_"0 -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
Wfd`v [XI:Yf 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
";7N$hWE --------------------------------------------------------------------------------
EoPvF`T t27UlFX 9;6)b0=$ 刷新的语法是:
TPBQfp%HU ._tEDY/1m rpm -F [install-options] package_file
ps2j ]g vv,<#4d rpm --freshen [install-options] package_file
WcSvw }(u:K}8 示例:
7Ji'7$ wg0_J<y] 从未安装过lynx包,使用-F选项,将无法升级。
#KoI8U" Q3hf =&$ [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
]>[TF'pIAx [root@localhost ~]# rpm -q lynx
Ln&~t(7 package lynx is not installed
z{ eZsh
b --------------------------------------------------------------------------------
uVD^X* [n/c7Pe f9#srIx+ 安装和更新选项为:
n.9k5r@ V*rLGY# --allfiles
~fD\=- S1 安装或更新所有文件。
R- >~MLeK] 9O&gR46. --badreloc
g$e|y#Ic$ 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
6BA$v-VVU \Db`RvEmR --excludedocs
6 M:?W" 不安装任何文档文件。
8%;Wyqdf] Y J,"@n_ --excludepath path
0/]h"5H3 不安装文件名以path开始的任何文件。
'L3MHTM>[ RYvdfj.ij --force
?0dmw?i 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
(|AZO! L7<30"7 -h,--hash
|)>+&
xk 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
YBj*c$.D0 y-H9fWi8Y& --ignorearch
]XlBV-@b 即使二进制包用于不同的体系结果也进行安装。
\(Nx)F b7^q(}qE --ignoreos
ML|?H1m> 即使操作系统不匹配也安装二进制包。
:F6dXW RrBG=V --ignoresize
4=^Ha%l 安装前不检查磁盘的可用空间。
{ly <%Q7j q90RTX'CY --includedocs
q,7W,<- 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
e%ro7~ r$4d4xtK --nodeps
^zT=qBl 不检查这个包是否依赖于其他包的存在。
)skpf%g 2Jiy`(P --noorder
`Mg3P_}= 安装之前,不为了满足依赖关系而对包进行重新排序。
&Hf%Va[B
ZaaBg --noscripts
o@PvA1 不执行任何预安装或后安装脚本。
X6B,Mply QPp31o.!5 --notriggers
"h1ek*(?< 不执行任何由包安装触发的脚本。
`x?_yogPM I_Lm[ --oldpackage
&m36h`tM 允许升级以用旧包替换新包。
p)Q5fh0- fO5L[U^` --percent
5ad@}7& 当文件被解压时输出完成百分比的信息。
%}N01P|X> 3TjyKB *! --prefix path
%LHt{:9. 把可重定位包的安装前缀设置为path。
-@w}}BR d^~yUk --replacefiles
XD6Kp[s 即使包替换了来自其他安装包的文件,也安装这些包。
6*$A/D lUq`tK8 --replacepkgs
6IK>v*< 即使某些包已经被安装,也安装他们。
YwH Fn+ ^j.3'}p --test
tr0kTW$Ad 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
u#u/uS" rcLF:gd]E --------------------------------------------------------------------------------
@$p6w ]3]B$ k'F*uS
查询
YGyw^$.w k&K'FaM! query命令的语法为:
0#8lg@e8 eUu<q/FUMj rpm -q[information-options] [package-options]
(yEU9R$I" rpm --query[information-options] [package-options]
J7EWaXGbz &C9)%5O) 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
0#Q]>V@rO4 --------------------------------------------------------------------------------
9w0v?%%_ 06pY10<>X `5x0p a 以下简单示演示一下包查询:
!qH)ttW "K|':3n| 简单查询:
hf)RPG& 6khm@}} 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
RWDPsZC >)>~S_u 示例:
vON7~KA b?M. 0{"H [root@localhost ~]# rpm -q lynx
fgo3Gy*# lynx-2.8.5-18
Hp(41Eb, --------------------------------------------------------------------------------
VqOTrB1w/ m60hTJ?N) 8_rd1:t5 信息查询:
;'!h(H 0+_;6 rpm -qi packagename命令可以得到安装包的汇总信息。
S!R(ae^} \D%n8O 示例:
E%f!SD [root@localhost ~]# rpm -qi lynx
rb>2l3g* Name : lynx Relocations: (not relocatable)
[[4!b E Version : 2.8.5 Vendor: Red Hat, Inc.
hJ8B&u( Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
sv\=/F@n Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
[H`5mY@ Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
eNFA.*p< Size : 4837340 License: GPL
'
#t1e] Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
uE#i3(
J Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> KWw?W1H URL :
http://lynx.isc.org/ 4]cr1K
^ Summary : 一个基于文本的网页浏览器。
yzGBGC Description :
s"wz !{G4 Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
LXc;`] 图像,但是它支持框架、表格、以及多数其它 HTML
3/su 1M[ 标签。Lynx 优于图形化浏览器的地方是它的速度――
FlH=Pqc Links 能够快速启动、退出、及显示网页。
$*9:a3>zny 标识拥有者
bU4\Yu
--------------------------------------------------------------------------------
H Mfhe[A? s*>B"#En !-B|x0fs 找出什么包拥有文件file:
Y$ZDJNz <ou=f' 示例:
H"V)dEm R
<u\
- [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
,z$U=uo lynx-2.8.5-18
`~qVo4V6Z --------------------------------------------------------------------------------
0 n)UvJ C9`x"$ YQ}IE[J}v 列表包中的文件:
fd1z
XK#Z2 .YIb ny1 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
~0{F,R.$ `?(9Bl 示例:
]=5D98B Y}Nd2 此为部分显示结果
RLF]Wa, [root@localhost ~]# rpm -ql lynx
-s6;IoG/ /etc/lynx-site.cfg
].
^e[v6 /etc/lynx.cfg
"Ze<dB#,Y /etc/lynx.cfg.cs
^Pc&`1Ap /etc/lynx.cfg.ja
#_fL[j& /etc/lynx.cfg.sk
!r_2b! dy /usr/bin/lynx
2 VyJ /usr/share/doc/lynx-2.8.5
sW]fPa(cn, /usr/share/doc/lynx-2.8.5/INSTALLATION
g<$q#l~4xH /usr/share/doc/lynx-2.8.5/README
~V6wcXd /usr/share/doc/lynx-2.8.5/docs
wmnh7'|0u /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
`PApmS~}
. /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
'WQ?%da /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
XPQY*.l&. /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
5'zD}[2 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
DZE@C^0% /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
r`GA5}M /usr/share/doc/lynx-2.8.5/docs/CMU.announce
U/l3C(bc! /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
o{?R z3z /usr/share/doc/lynx-2.8.5/docs/FM.announce
qz6@'1 /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
YecV+K'p: /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
|g,99YIv> /usr/share/doc/lynx-2.8.5/docs/README.TRST
{kNV|E /usr/share/doc/lynx-2.8.5/docs/README.chartrans
/U5!]7&gB T_/ n#e --------------------------------------------------------------------------------
|Pj]sh[^Y !rZ r:@ 5Sv;a(} 列出包所提供的实际能力:
*~SanL\ mfCp@1;26 --provides选项的作用是列出这个包所提供的实际能力。
tqXr6+!Q OD;F{Hc 示例:
!THa?U; hYB3tT [root@localhost ~]# rpm -q --provides lynx
;nbV-<e config(lynx) = 2.8.5-18
5VZZk%oy webclient
2D)B%nM[ lynx = 2.8.5-18
~KP@wD~ --------------------------------------------------------------------------------
6%L#FSI SS*3Qx:[ kr>4%Ndm7 列出这个包所倚赖的任何包:
v@ifB I []b=
xRJM -R,--requires选项的作用是列出这个包所依赖的任何包。
,4--3 MU *w$3/ 示例:
"el}9OitC CWY-}M [root@localhost ~]# rpm -qR lynx
A"i$.dR{ /bin/sh
Q4ZKgcC config(lynx) = 2.8.5-18
Kw=][}d`D indexhtml
,s`4k?y libc.so.6
]8f$&gw&A libc.so.6(GLIBC_2.0)
QERj`/g libc.so.6(GLIBC_2.1)
OEnCN libc.so.6(GLIBC_2.2)
F[KM0t! libc.so.6(GLIBC_2.3)
OF/hD2V libcrypto.so.4
t Z@OAPRx libncursesw.so.5
(lg~}Jwq libssl.so.4
9";qR, libz.so.1
bXi(]5 rpmlib(CompressedFileNames) <= 3.0.4-1
of8
>xvE| rpmlib(PayloadFilesHavePrefix) <= 4.0-1
%>-?oor --------------------------------------------------------------------------------
9m%2&fjK^ o1R:1!"2 P,@/ap7J 列出包中的配置文件
{t!Pv2y< B$ jX%e{:S -c,--configfiles选项的作用是列出包中的配置文件
KAg-M# ,H>'1~q 示例:
MU:q`DRr
~S\8 ' [root@localhost ~]# rpm -qc lynx
hc*t Q2 /etc/lynx-site.cfg
<:4b4Nl /etc/lynx.cfg
|7QSr!{_ /etc/lynx.cfg.cs
-ImVXy]? /etc/lynx.cfg.ja
@,m 7%, /etc/lynx.cfg.sk
upnX7as --------------------------------------------------------------------------------
P'^& SK dU-nE5 {r%T_BfY 显示有关于包的改变信息的日志:
|$g} &P8; Ca-.&$f --changllog选项的作用是显示有关于包的改变信息的日志。
}W0_eQ :7~DiH:Q
示例:
, Xxp]*K2 + w'q5/` 此为部分显示结果
rl,i,1t [root@localhost ~]# rpm -q --changelog lynx
oqo7Ge2 * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
B=~uJUr - Removed perl dependencies (bug #127423).
|K" nSXzk * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
=]S,p7* 7 - rebuilt
"7eL& * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
A7 6HM@Q - No longer need lynx-284-ipv6-salen.patch.
WIabQ_ fX - No longer need lynx2-8-2-telnet.patch.
;iW>i8 * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
J9MAnYd)i - rebuilt
@}2EEo# * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
`O5427Im - Updated to dev16, fixing bug #110196.
h_]*|[g - No longer need crlf patch.
Ckc5;:b&m - Use shipped ja translations.
f!H/X%F - Use %find_lang.
!#zO% - Default config file now sets UTF-8 (bug #110986).
+cM~| --------------------------------------------------------------------------------
B#?rW*yEe t)= dKC q\-P/aN_ 包选择选项
X` J86G ) ym+Ezb#o package_name
K>C@oE[W 查询已安装包的package_name。
`X)A$lLr =sAU5Ag68 -a,--all
t1G__5wp 查询所有已安装拨。
Te`@{> A!Tm[oqu -f file,--file file
;+.cD 找出什么包拥有文件file。
@vB-.XU F`GXho[ -g group,--group group
Lz!JLiMEET 找出什么包拥有组group。
hiEYIx ?^2nrh,n+ -p package_file
dS\!tdHP-Q 查询未安装包package_file
M6bM`wHH> K7@|2;e --querybynumber num
c&N;r|N 查询第num个数据库条目。主要用于调试。
&H
P g> s;..a&C' -qf,--queryformat num
I ~^Xw7 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
axDa&7% \XYidj --specfile specfile
'MBXk2?b 查询specfile,就好象它是个包
G0~Z|P %H;}+U]Z --triggeredby pkg
U{/fY/kq 列出触发安装pkg包的包。
hlZ{bO'f
/.=aA~| --whatrequires capability
{M7`"+~w 列出要求特定能力来行使职责的包。
e!o\AB%d >*opE I+ --whatprovides capability
.9WOTti 列出提供特定能力的包。
Jm#p!G+ --------------------------------------------------------------------------------
>3pT).wH|M 9_nbMs ?{jey_]M 信息选择选项:
+2}cR66% g4W/T -c,--configfiles
97$Q?a8S@ 列出包中的配置文件。
}mzd23^W>P ExSM=
--changelog
Z^z{,
u;! 显示有关于包的改变信息的日志。
7(uz*~Z?`0 _hJdC|/ -d,--docfiles
B :S8{ 列出包中的文档文件。
'RhS%l ;6D3>Lm --dump
~*"ZF-c, 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
:o8|P 以下列顺序输出信息:
B@NBN&Fr path size mtime md5sum mode owner group isconfig isdoc rdev symlink
WcoA)we `/`iLso&- --filebypkg
|59)6/i 列出每个包中的所有文件。
E:dN) F8dr-"G -i
D)?%kNeA 显示包的信息,包括名字,版本和描述。
24k]X`/n mXyN{`q= -l,--list
4x(m.u@ 列出包中所有文件
Y0krFhL'x0 RXg\A!5GV --last
yYYP;N?g4k 根据安装时间列出包,最新的包排第一位。
~tyqvHC U~)5 { --provides
_h5d~ 列出这个包所提供的实际能力。
>l><d!hw ,[6Rmsk -R,--requires
Sn4xv2/ 列出这个包所依赖的任何包。
bGL} nPo UPr&
`kaJ -s,--state
,Yx<"2 W 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
8s2y!pn7Q _u^3uzu --scripts
%K')_NS@ 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
/g!ZU2&l UkpTK8>& --------------------------------------------------------------------------------
>
^zNKgSQ l0`bseN< @vyEN.K%mm 卸载
3N-
'{c6]U Uq_lT, uninstall命令的语法为:
2t_g\Q )mf|3/o rpm -e package_name
3^%2, rpm --erase package_name
jT$J~MpHh uA[
: 示例:
+DXP&Q %a
WRXW@c [root@localhost ~]# rpm -e lynx
\V!{z;.fA [root@localhost ~]# rpm -q lynx
W)bSLD package lynx is not installed
@O'NJh{D` --------------------------------------------------------------------------------
<!FcQVH+L P ?f${t+ /7\q#qIm: 卸载选项为:
]?H12xz jY%.t)>) --allmatches
Jh=.}FXnjL 删除包的所有版本。应该只指定一个包,否则会导致错误。
)Cj1VjAg
VnkhY --nodeps
LYL_Ah'= 在卸载包之前不检查依赖性。
BXU0f%"8U gAorb\iJ --noscripts
^gx~{9`RR 不执行任何预卸载和后卸载脚本。
4]m{^z`1 CF','gPnc --notriggers
|[iO./zP 不执行任何由这个包的删除而出发的脚本。
O.X;w<F/V jQm~F`z --test
c}n66qJF5 不真正卸载任何包,仅仅查看活动过程。