Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
ZPMEN,Dw ):\pD]e 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
[XQNgSy?z )kd)v4# 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
%r>vZ/>a @TH \hr] 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
M)LdGN?$ --------------------------------------------------------------------------------
MDB}G
' W5x]bl# UGN. ]#"# 以下简要介绍RPM包的安装,删除和查询
&R8zuD`# OE[/sv RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
zO+nEsf^O m83i6"!H rpm命令的格式为:
=_UPZ] KS|$_-7u rpm [options] [packages]
Y0b.utR& <e=0J8V8,i 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
wWm#[f],? _{b a 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
|_ @iaLE --------------------------------------------------------------------------------
gVD!.
:4Y|%7[
fDRQ(} RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
bk7miRIB 2?"9NQvz 以下为rpm --showrc命令显示的节选:
G?"1
z; x7*}4>|W,I 示例:
\fKv+ i$F)h<OU+ 此为部分显示结果
$6J5yE [root@localhost ~]# rpm --showrc
'2
)d9_ w ARCHITECTURE AND OS:
k\%{1oRA build arch : i386
epwXv|aSZ compatible build archs: athlon i686 i586 i486 i386 noarch
b"zq3$6* build os : Linux
9S<W~# zz compatible build os's : linux
D!-zQ`^ install arch : athlon
<Nw?9P install os : Linux
W35nnBU compatible archs : athlon i686 i586 i486 i386 noarch
gr7W&2x7\ compatible os's : linux
Y#Z&$&n RPMRC VALUES:
d5i/: 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
i'57| ;? optflags : %{__global_cflags} -m32 -march=athlon
F^w0TD8 Features supported by rpmlib:
j`#|z9`(pB rpmlib(VersionedDependencies) = 3.0.3-1
JRNyvG>j PreReq:, Provides:, and Obsoletes: dependencies support versions.
0\mM^+fO rpmlib(CompressedFileNames) = 3.0.4-1
SZ0Zi\W file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
5I<?HsK@ rpmlib(PayloadIsBzip2) = 3.0.5-1
F>}).qx package payload can be compressed using bzip2.
O+e8}Tmm --------------------------------------------------------------------------------
\
0CGS +&t{IP(? ?ph"|LyL rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
MKH7d/x 56v<!L5% 示例:
HL)1{[|` Bq _<v)M* [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
F{}z[0 Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
sn*s7v: Preparing... ########################################### [100%]
:l7\7IT 1:lynx ########################################### [100%]
`^6}Dn --------------------------------------------------------------------------------
:4;>). g3qtWS ^ ]B&7\w"t 以下列出一些通用选项(可以用于所有模式):
"W1 q}4_ =DqGm]tA --dbpath path
t,H,*2 用path作为RPM数据库的路径。
)8vcg{b{d m\VJ= --ftpport prot
3O] e 用port作为FTP端口。
6znm?s@~ bc 0|tJc --ftpproxy host
P@Qo2zTh% 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
F-ZD6l9O O
,DX%wk, --help
mtF&Z\ag 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
7N""w5 NeWssSje --justdb
~fgv7=(! 只更新数据库;不改变任何文件。
6?t5g4q*nn E+Gea[c --pipe command
))MP]j9
T 用管道把rpm输出到commond。
BY 1~\M NyGF57v[M --quiet
bLUn0)c 仅显示错误信息。
hMD yE.X- !<~Ig/ --rcfile filename
k4`v(au^ 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
9np<r82 qNvKlwR9;k --root dir
R8?A%yxf 在dir目录内执行所有操作。
`&+L/ 8pk5[=3Z --version
U?}Ma f 输出rpm版本号。
IMrB!bor 'fgDe -vv
]f-e/8$`@ 输出调试信息。
!X,S2-}" .a^/r'? --------------------------------------------------------------------------------
A8A+ImwO" {=(4 A,iXiDb3pK 安装升级和刷新
qItI):9U %tu{`PN< 安装或升级一个RPM包,install命令的语法为:
#VrT)po+ %ZxKN ; rpm -i [install-options] package_file
Dp'/uCW) rpm --install [install-options] package_file
1k hwwoo t ?{B* 示例:
x^;nfqn| HnpGPGz@F [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
{UhZ\qe package lynx-2.8.5-18 is already installed
Q/+a{m0f [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
w"Z>F]YZ --------------------------------------------------------------------------------
BujWql lmd0Q(I G/D{K$=t~ 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
\mycn/e ]-q:Z4rb rpm -U [install-options] package_file
Isi,Tl ^ rpm --upgrade [install-options] package_file
Z-~^)l o : Z.mM5 示例:
a RV!0?fS |g9^]bT 先安装旧版
)/=J=xw2 [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
Cz(Pj S R52!pB0[ 再安装新版
Vs"M Cqi [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
a:8@:d1T K h(zi$V 显示出新版本信息
1"e=Zqn$) [root@localhost ~]# rpm -q lynx
"y`?KY$[N lynx-2.8.5-18
x0#+yP
o]FQ)WRB 说明:
EXzY4D ^ -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
j^k{~]+_^] EYQ!ELuF 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
mEqV&M1;7l --------------------------------------------------------------------------------
dxd}:L~z 0|U<T#t8? Oe=,-\&_ 刷新的语法是:
A/.cNen fY `A rpm -F [install-options] package_file
6v1j*'
U]P;X~$! rpm --freshen [install-options] package_file
vD*KJ3(c [;b9'7j' 示例:
H4pjtVBr ~ 7k
b4[ 从未安装过lynx包,使用-F选项,将无法升级。
1|%$ie *"4ltWS [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
b_LzG_n! [root@localhost ~]# rpm -q lynx
d`xqs,0f package lynx is not installed
65}:2l2< --------------------------------------------------------------------------------
$SDx)
'! !F%dE! gi`ZFq@ 安装和更新选项为:
+I')>6 B U)4g[4 --allfiles
HgMDw/D( 安装或更新所有文件。
VP"L_Um 7j]@3D9[:p --badreloc
{k)MC)% 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
cEN^H @GEvI2Vf.0 --excludedocs
yWs/~5[F 不安装任何文档文件。
}`eeIt I+
1|`9Hp6 --excludepath path
57#:GN$EL 不安装文件名以path开始的任何文件。
X$xqu\t7 i.#s'm.9 --force
IQ|~d08} 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
EEaFi8 |GsLcUv6 -h,--hash
Qejzp/2 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
Rw7Q[I5z% w?R6$n` --ignorearch
H<>x_}& 即使二进制包用于不同的体系结果也进行安装。
ZE1#{u~[y Gh< r_O~L3 --ignoreos
W[vak F 即使操作系统不匹配也安装二进制包。
~vt8|OOo0 f&,.h"bS --ignoresize
[m4<j 安装前不检查磁盘的可用空间。
f{vnZ|WD 4f>Vg$4 --includedocs
qzH97<M}T 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
@Wv*` ' E@D --nodeps
+Gjy%JFp 不检查这个包是否依赖于其他包的存在。
eC3ZK"oJ }b{N[ --noorder
7_|zMk.J* 安装之前,不为了满足依赖关系而对包进行重新排序。
1,/oS&?E ]__M* --noscripts
rzex"}/ly 不执行任何预安装或后安装脚本。
#A|MNJ%m Axcm~!uf --notriggers
c~Ha68 不执行任何由包安装触发的脚本。
l^SKd >97V2W --oldpackage
7[K$os5al 允许升级以用旧包替换新包。
)D@
NX/} Y/4B*>kl --percent
:|Z*aI]9 当文件被解压时输出完成百分比的信息。
Nc7YMxk'H .IgCC_C9 --prefix path
A /o=a# 把可重定位包的安装前缀设置为path。
U"ZDt :JOF!Q --replacefiles
wvgX5P> 即使包替换了来自其他安装包的文件,也安装这些包。
$}jSIn=~|t 6 g!t1%Kb --replacepkgs
#]C r
zLe 即使某些包已经被安装,也安装他们。
;Z8K3p o|UZdGu --test
Bkcs4 x 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
-dza_{&+iZ b,!h[ --------------------------------------------------------------------------------
g.veHh|;_ w+JDu_9+A] {?
6]_J 查询
.-o$IQsS :_vf1>[ query命令的语法为:
R[9[lQ'vR 5` Q#2 rpm -q[information-options] [package-options]
Gz
kf rpm --query[information-options] [package-options]
z,^baU /|>z7#?m^ 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
]@<O!fS --------------------------------------------------------------------------------
Bq\%]2;eo{ x&kF;UC Wx^L~[l 以下简单示演示一下包查询:
n0cqM}P@;! O6m}#?Ai/@ 简单查询:
C^uXJ~8 pE`BB{[@ 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
h nyZXk1| p^^<BjkQ 示例:
R@ihN?k AJj6@hi2P [root@localhost ~]# rpm -q lynx
p!HpqW lynx-2.8.5-18
tQ*5[F,fm --------------------------------------------------------------------------------
=WHdy; V a<L[8 BCFvqhF7s 信息查询:
-`A6K!W&~p &L;0% rpm -qi packagename命令可以得到安装包的汇总信息。
vQ
5
p sqsBGFeG 示例:
2o6%P}C [root@localhost ~]# rpm -qi lynx
LB-4/G$ Name : lynx Relocations: (not relocatable)
}2G'3msx Version : 2.8.5 Vendor: Red Hat, Inc.
x|1OGbBK Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
g#:?Ay-m Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
!x&/M*nBE Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
[X;yJ $ Size : 4837340 License: GPL
Yz[^?M%(D Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
3>-^/ Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> hg |DpP URL :
http://lynx.isc.org/ {&m^*YN/ Summary : 一个基于文本的网页浏览器。
Fd0R?d Description :
)$Mgp*? Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
Ia[e7 图像,但是它支持框架、表格、以及多数其它 HTML
1_f( ;WOg 标签。Lynx 优于图形化浏览器的地方是它的速度――
>12phLu Links 能够快速启动、退出、及显示网页。
l&[ x)W 标识拥有者
Ij4oH --------------------------------------------------------------------------------
j^>J*gLM}W ^Qq_|{vynf g&X$)V4C 找出什么包拥有文件file:
H71LJfH `cCsJm$V" 示例:
}c^`!9 &pV'/ [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
RlC|xj"l% lynx-2.8.5-18
+AO(e --------------------------------------------------------------------------------
A-qdTJP 6gNsh 3N[t2Y1r 列表包中的文件:
FG:(H0 pFx7URZA 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
5v6*.e'p 1d"g$i4e 示例:
7gNJ}pLDx Nxp7/Nn3 此为部分显示结果
1@egAo) [root@localhost ~]# rpm -ql lynx
1 VcZg%I /etc/lynx-site.cfg
)|zLjF$ /etc/lynx.cfg
Etj@wy/E /etc/lynx.cfg.cs
2ntL7F<ow /etc/lynx.cfg.ja
+7.\>Ucq` /etc/lynx.cfg.sk
4v_<<l /usr/bin/lynx
FxW~Co /usr/share/doc/lynx-2.8.5
3)3?/y)_ /usr/share/doc/lynx-2.8.5/INSTALLATION
~ep-XO /usr/share/doc/lynx-2.8.5/README
uD}Q}]Z /usr/share/doc/lynx-2.8.5/docs
!g'kWE[ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
i^f*Em1 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
9'Le}`Gf /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
N8#wQ*MM> /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
-c{O!z6sX /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
'S;INs2|-> /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
&gR)Y3 /usr/share/doc/lynx-2.8.5/docs/CMU.announce
eVGO6 2|! /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
B<%cqz@ /usr/share/doc/lynx-2.8.5/docs/FM.announce
0Q`Dp;a5& /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
!{>'jvH /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
jJml[iC /usr/share/doc/lynx-2.8.5/docs/README.TRST
V:s$V.{! /usr/share/doc/lynx-2.8.5/docs/README.chartrans
*j6KQZ" 0}$Zr*|;Y --------------------------------------------------------------------------------
B<zoa= C0(?f[/(M TF R8 列出包所提供的实际能力:
G)t_;iNL| g0O~5.f --provides选项的作用是列出这个包所提供的实际能力。
piULIZ0 n@[_lNa4GD 示例:
mE\sD<b D<U^FT [root@localhost ~]# rpm -q --provides lynx
)31{.c/ config(lynx) = 2.8.5-18
/N '0@q webclient
iI.pxo
s lynx = 2.8.5-18
|qm_ESzl --------------------------------------------------------------------------------
Xt}
4B# H{hd1 UTwXN |'| 列出这个包所倚赖的任何包:
t/%{R.1MN ,a
2(h -R,--requires选项的作用是列出这个包所依赖的任何包。
<;kcy :s Sqn|
示例:
amvD5 oN({X/P2j [root@localhost ~]# rpm -qR lynx
=>3wI'I /bin/sh
IyK^` y config(lynx) = 2.8.5-18
6Ft?9
B(F: indexhtml
0gTv:1F/ libc.so.6
Rxb?SBa libc.so.6(GLIBC_2.0)
[`J91= libc.so.6(GLIBC_2.1)
lDsT?yHS`Z libc.so.6(GLIBC_2.2)
nQ*9E|Vx libc.so.6(GLIBC_2.3)
X\4d|VJ?m libcrypto.so.4
fJ<I|ZZ libncursesw.so.5
Q3"{v0 libssl.so.4
zbY2gq@? libz.so.1
7XzhKA6 rpmlib(CompressedFileNames) <= 3.0.4-1
2i0 .x rpmlib(PayloadFilesHavePrefix) <= 4.0-1
LuW>8K\ --------------------------------------------------------------------------------
`) y<X#[8 00SYNG! R5Pk>-KF 列出包中的配置文件
WoV"&9y Z=ZTSl -c,--configfiles选项的作用是列出包中的配置文件
pmwVVUEQ =-bGH
示例:
)_C+\K* qTZ\;[CrP" [root@localhost ~]# rpm -qc lynx
amTeTo]Tg /etc/lynx-site.cfg
A4uKE"WE /etc/lynx.cfg
j)nL!":O /etc/lynx.cfg.cs
6C'W /etc/lynx.cfg.ja
U_Jchi,! /etc/lynx.cfg.sk
Sy@)Q[A --------------------------------------------------------------------------------
U1ZKJ<pv %cO^: r{ >`" 显示有关于包的改变信息的日志:
`uP:UQ9S =Gv*yR*]t --changllog选项的作用是显示有关于包的改变信息的日志。
~%chF/H _"%hcCMw 示例:
jlxY|;gZ-0 YY zUg 此为部分显示结果
b1TIVK3m [root@localhost ~]# rpm -q --changelog lynx
}]#&U/z * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
|lCS^bA3 - Removed perl dependencies (bug #127423).
5bB\i79$ * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
&x9>8~
- rebuilt
fV#,<JG * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
'GI|
t - No longer need lynx-284-ipv6-salen.patch.
m>{a<N - No longer need lynx2-8-2-telnet.patch.
-=cxUDB * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
_jb'HP - rebuilt
J5TT+FQ * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
a`e'HQ - Updated to dev16, fixing bug #110196.
w!dgIS$ - No longer need crlf patch.
57wHo[CJ - Use shipped ja translations.
'aWqj+Wbh - Use %find_lang.
**V8a-@ - Default config file now sets UTF-8 (bug #110986).
LD*XNcE --------------------------------------------------------------------------------
/8#e < p ;9CbioO a,|Hn 包选择选项
Iq?n*P$ 9])Id;+91 package_name
,<=gPs;x 查询已安装包的package_name。
)2lB r.q*S4IS.m -a,--all
Qz"+M+~%& 查询所有已安装拨。
3D-0
N0o w/z o -f file,--file file
b/{$#[oP` 找出什么包拥有文件file。
s\zY^(v4 3,'LW} -g group,--group group
qRSoF04!R 找出什么包拥有组group。
N~uc%wOA S zNZY&8
f -p package_file
Bs`mzA54 查询未安装包package_file
?edf$-"z/ {'Y()p3kl --querybynumber num
;`O9YbP# 查询第num个数据库条目。主要用于调试。
[uwn\- ?y-@c] -qf,--queryformat num
&MZ{B/;;H 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
=8vNOvA KE.O>M,I. --specfile specfile
U!{~L$S 查询specfile,就好象它是个包
.-'_At4g w`DcnQK' --triggeredby pkg
-%Rw2@vU 列出触发安装pkg包的包。
KPVu-{_Fi 2"T
b><^" --whatrequires capability
~:L5Ar< 列出要求特定能力来行使职责的包。
#Iu"qu /lC,5y --whatprovides capability
/mA\)TL|] 列出提供特定能力的包。
-^)<FY\ --------------------------------------------------------------------------------
<&^[?FdAa Im?/#t X k8\KCKql 信息选择选项:
3@nIoN'z Q<NQ9lX -c,--configfiles
]4ck)zlv
列出包中的配置文件。
cTW$;Fpc+ e"UXG\8D --changelog
7+88o:G9 显示有关于包的改变信息的日志。
?V}ub>J/= |$;4/cKfy -d,--docfiles
w/^_w5 列出包中的文档文件。
Oq$-*N 6.9C4 --dump
d~MY
z6" 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
|"PS e~ u 以下列顺序输出信息:
GSs?!BIC path size mtime md5sum mode owner group isconfig isdoc rdev symlink
q:nUn?zB 3ZC@q
#R
A --filebypkg
,Ne9x\F 列出每个包中的所有文件。
(t){o>l !rs }83w! -i
]c v/dY# 显示包的信息,包括名字,版本和描述。
nrA 4N1 T+x
/J]A -l,--list
W\($LD"X 列出包中所有文件
Yecdw'BW? BL~#-Mm<|l --last
C=CZtjUt 根据安装时间列出包,最新的包排第一位。
#D#kw*c C?k\5AzT --provides
amq,^ 列出这个包所提供的实际能力。
=`*@OJHH >0[:uu,'> -R,--requires
,cxe"U 列出这个包所依赖的任何包。
giH#t< )W Zn0a)VH%
-s,--state
KWeE!f 7G 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
GGo~39G e|W;(@$< --scripts
H0 Zo.Np 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
j D*<M/4 /NjBC[P --------------------------------------------------------------------------------
auB
931| *|j4>W\J w#hg_RK(Jr 卸载
k]C k%[d KgbBa2@+ uninstall命令的语法为:
R>Dr1fc} ).`v&-cK4E rpm -e package_name
,;hpqu| rpm --erase package_name
1JUj e ;&gk)w6* 示例:
4%zy$,|e Pwj|]0Y@ [root@localhost ~]# rpm -e lynx
S(U9Dlyarg [root@localhost ~]# rpm -q lynx
#>HY+ ; package lynx is not installed
d2NFdBoI --------------------------------------------------------------------------------
j/Y]3RSMp WVsj AbhR* 卸载选项为:
{qlcTc }ng?Ar[ --allmatches
/P-#y@I 删除包的所有版本。应该只指定一个包,否则会导致错误。
9D &vxKE *59| --nodeps
*/JYP + 在卸载包之前不检查依赖性。
l*]hUP J _;0RW --noscripts
CS(XN>N 不执行任何预卸载和后卸载脚本。
6FJ*eWPC mI{Fs|9h --notriggers
JWaWOk(t=? 不执行任何由这个包的删除而出发的脚本。
'^C
*%"I]
Qe7=6< --test
+."|Y3a 不真正卸载任何包,仅仅查看活动过程。