Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
f+j-M|A !BikqTM 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
b<?A }_"<2|~_ 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
lVc':,z 0R[onPU_vZ 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
)k'4]=d
< --------------------------------------------------------------------------------
@F,8M gg%9EJpP 'Xw>?[BB 以下简要介绍RPM包的安装,删除和查询
ThmN^N +p#Q|o' RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
l4`HuNR1 FW7@7cVoF rpm命令的格式为:
lL{1wCsl O9(6 ?n rpm [options] [packages]
#K_E/~ zM*PN|/%sH 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
CH3bpZv h|S6LgB 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
_/
Uer} --------------------------------------------------------------------------------
[j^c&}0
%h-?ff[ G0VbW-`O RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
i!9|R)c It8m]FN 以下为rpm --showrc命令显示的节选:
9#A&Qvyywg 4x%R4tk 示例:
|37y =" #X?#v7i",D 此为部分显示结果
m? #J`?E [root@localhost ~]# rpm --showrc
?IHa>f: ARCHITECTURE AND OS:
7o5~J)qIC build arch : i386
JK@"
& compatible build archs: athlon i686 i586 i486 i386 noarch
<.qhW^>X
build os : Linux
R"
'=^ compatible build os's : linux
:k*3?*'K install arch : athlon
7y2-8eL install os : Linux
(<:mCPk(~ compatible archs : athlon i686 i586 i486 i386 noarch
k%S;N{Qh@ compatible os's : linux
K4>nBvZ?v RPMRC VALUES:
mfpL?N 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
_wM YA8n optflags : %{__global_cflags} -m32 -march=athlon
pJpTOq\h Features supported by rpmlib:
yC<[LH rpmlib(VersionedDependencies) = 3.0.3-1
cw)'vAE PreReq:, Provides:, and Obsoletes: dependencies support versions.
ubvXpK:. rpmlib(CompressedFileNames) = 3.0.4-1
C-6m[W8S file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
4RXF.kJ3= rpmlib(PayloadIsBzip2) = 3.0.5-1
'E#;`}&Ah package payload can be compressed using bzip2.
wX!>&Gc. --------------------------------------------------------------------------------
V0!.>sX9
A(<"oAe| o}4J|@Hi|4 rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
UAi] hUq 540,A,>:tb 示例:
|N/Wu9w$ hd E? %A [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
g Q@fe3[ Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
[hT|]|fJS; Preparing... ########################################### [100%]
hy?e?^ 1:lynx ########################################### [100%]
kbF+aS --------------------------------------------------------------------------------
NDv_@V(D )Ap0" ?q sF=8E8qa 以下列出一些通用选项(可以用于所有模式):
GE0,d etHkyF --dbpath path
A_vf3 *q 用path作为RPM数据库的路径。
x\m?* 5p r-+S^mOE] --ftpport prot
9/x_p;bI 用port作为FTP端口。
uI*2}Q eGJ}';O,g --ftpproxy host
W7ffdODb 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
7<ZCeM2x ;0!rq^JG --help
zu8l2(N 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
cqyrao3; )(&WhZc Z --justdb
yj+HU5L4 只更新数据库;不改变任何文件。
9WH )]?"H --pipe command
|{8eoF 用管道把rpm输出到commond。
LBkAi(0rd Vg+jF!\7 --quiet
:)9^T< 仅显示错误信息。
4Nx]*\\ [x.DwU%S --rcfile filename
iA[WDB\|0 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
[qEd`8V( *7yu&a8 --root dir
*ydU3LG7 在dir目录内执行所有操作。
X+*"FKm S. BVt)~HZ --version
uWSfr(loX 输出rpm版本号。
/` j~r;S eT|"6WJ:{ -vv
9se,c 输出调试信息。
6*:mc Lb>UraUvL --------------------------------------------------------------------------------
$M(ZKS3,j R3dCw:\O+Z %HNe"7gk 安装升级和刷新
6_w;dnVA FLI0C 安装或升级一个RPM包,install命令的语法为:
)Z2l*fV dgIEc]#pH rpm -i [install-options] package_file
0y"Ra%Y rpm --install [install-options] package_file
o1"-x y,`SLgBID 示例:
re `B fN aNW!Y':*
[root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
P}El#y#& package lynx-2.8.5-18 is already installed
JlF$|y,gV, [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
VZ:LK --------------------------------------------------------------------------------
%z_PEqRj C6 XZZ -0{"QhdE% 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
j(;o a_pNFe rpm -U [install-options] package_file
\2K_"5 rpm --upgrade [install-options] package_file
BZP~m=kq >J \} &!8, 示例:
`XJU$c r3hUa4^97 先安装旧版
i8tH0w/(M [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
$g?`yE(K 3%JPJuNVw 再安装新版
m R3km1T [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
7|"gMw/ *c[X{ 显示出新版本信息
XSu9C zx&I [root@localhost ~]# rpm -q lynx
Wn9b</tf lynx-2.8.5-18
km]RrjRp k3/V$*i,1b 说明:
z8ox#+l -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
Xiyh3/%yy jE!W&0 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
Q+O3Wgjy --------------------------------------------------------------------------------
!H5r+%Oo| .mse.$TK.^ w<3g1n7R 刷新的语法是:
vPV=K+1 q0oNRAvn" rpm -F [install-options] package_file
,pgpu ! nI-^ rpm --freshen [install-options] package_file
;JK!dzi} <oE(I)r4, 示例:
UY_'F5X 4;*o}E 从未安装过lynx包,使用-F选项,将无法升级。
{hr+ENgV Wa8?o~0"L [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
0 ;b%@_E [root@localhost ~]# rpm -q lynx
J(\]3 9y package lynx is not installed
m|RA@sY%` --------------------------------------------------------------------------------
p.gaw16}> gX}(6RP_! Y+k)d^6r 安装和更新选项为:
<V}^c/c! 2xchjU- --allfiles
%D(%
lh2 安装或更新所有文件。
LV:`siK xJvM
l`2; --badreloc
QT5,_+ho 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
0<{+M` G/ A&$oiLc --excludedocs
`g;`yJX< 不安装任何文档文件。
H)s$0Xd
L
y!!+UM\ --excludepath path
8H>: C(h 不安装文件名以path开始的任何文件。
_pXy}D Z|FWQ8gZ4m --force
8TK&i, 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
u |hT1l Ax=k0%M[& -h,--hash
`dH[&=S 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
^cE|o&Rm; !,#42TY*X --ignorearch
wX3x.@!: 即使二进制包用于不同的体系结果也进行安装。
p+O2: 6wzTX8 --ignoreos
X]?qns7 即使操作系统不匹配也安装二进制包。
!,mv 7Yj 1k5o?'3& --ignoresize
YGBVGpE9 安装前不检查磁盘的可用空间。
3w=OvafT: k+au42:r --includedocs
tFvc~zz9 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
Zhl}X!:c?\ \\F@_nB,b --nodeps
a'LM6A8~x 不检查这个包是否依赖于其他包的存在。
L6^Qn%:OTd N5ityJIgQ --noorder
[dje!5Dc( 安装之前,不为了满足依赖关系而对包进行重新排序。
A6APU><dm^ tN'-4<+ --noscripts
<z3:*=! 不执行任何预安装或后安装脚本。
3[RbVT cO,ELu --notriggers
j5*W[M9W 不执行任何由包安装触发的脚本。
y/>]6Pj SArSi6vF --oldpackage
5I!EsW$sY 允许升级以用旧包替换新包。
vHY."$|H 6.z8!4fpl --percent
e}u#:ysj 当文件被解压时输出完成百分比的信息。
\0'7p-T6 zV(F9}^ --prefix path
/dU-$}>ZI 把可重定位包的安装前缀设置为path。
69U[kW& qM(n]{H --replacefiles
k%iZ.. 即使包替换了来自其他安装包的文件,也安装这些包。
C:77~f-+rQ 9/rX% --replacepkgs
X\?e=rUfn 即使某些包已经被安装,也安装他们。
w<?v78sT Hq.ys> _ --test
mK3U*)A
检查安装过程,看整个过程都做了些什么,但并不真正安装包。
r Bv S!0ocS!t --------------------------------------------------------------------------------
{wWh; H7 acT Mf0XQ3n`H 查询
y{~l&zrl ~/hyf] *j query命令的语法为:
%m:T?![XO T&_!AjH rpm -q[information-options] [package-options]
CwKo'PAJ rpm --query[information-options] [package-options]
zG_e= |fXwH> 'sw 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
'&/"_ --------------------------------------------------------------------------------
(>THN*i
WH F>J qRMH[F$` 以下简单示演示一下包查询:
Jsee8^_~ ^c1%$@H 简单查询:
|k~\E|^ \29a@ 6 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
4qtjP8Zv[ 6Sh0%Fs 示例:
&j}\ZD $42C4I*E [root@localhost ~]# rpm -q lynx
r>N5^ lynx-2.8.5-18
#4. S2m4 --------------------------------------------------------------------------------
$O*rxQ} 2| u 'J 9/OB!<*V| 信息查询:
krkRP%jy c?i=6CdD' rpm -qi packagename命令可以得到安装包的汇总信息。
KsM2?aqwf_ i7:R4G(/# 示例:
i]{M G'tg [root@localhost ~]# rpm -qi lynx
41y}n{4n8 Name : lynx Relocations: (not relocatable)
k'uN2m Version : 2.8.5 Vendor: Red Hat, Inc.
:]%z8,6k Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
,bRvj8"M Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
_5I" %E;S Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
}
FcWzi Size : 4837340 License: GPL
|
fAt[e _E Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
4ed+'-"m Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> %C*oy$. URL :
http://lynx.isc.org/ PJu)%al Summary : 一个基于文本的网页浏览器。
yZ t}Jnv Description :
kN9pl^2 Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
t.m65 图像,但是它支持框架、表格、以及多数其它 HTML
hETTD% 标签。Lynx 优于图形化浏览器的地方是它的速度――
zR2'xE* Links 能够快速启动、退出、及显示网页。
cDMA#gp 标识拥有者
3R%'<MV| --------------------------------------------------------------------------------
[m7jZOEu RG=!,#X W/U&w.$ 找出什么包拥有文件file:
V.PbAN o0Qy?14T- 示例:
T$/6qZew ~ g$Pb[V [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
O@jW&-; lynx-2.8.5-18
-[?q?w!? --------------------------------------------------------------------------------
HVzG }r(J :&Xy#.un SS@F:5), 列表包中的文件:
4CO:*qG)o (9x8,f0z 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
CW>f; ,mH2S/<}S 示例:
]Lq9Ompf(t cCN[c)[c| 此为部分显示结果
YK#bzu ,! [root@localhost ~]# rpm -ql lynx
}?xu/C /etc/lynx-site.cfg
1,fjdd8OM; /etc/lynx.cfg
afRUBjs /etc/lynx.cfg.cs
.3k"1I
'\ /etc/lynx.cfg.ja
_@0>yMZ^ /etc/lynx.cfg.sk
T!eb=oy /usr/bin/lynx
uUb[Dqn /usr/share/doc/lynx-2.8.5
;Dg8> /usr/share/doc/lynx-2.8.5/INSTALLATION
ETe,RY /usr/share/doc/lynx-2.8.5/README
8Z%C7
"4O /usr/share/doc/lynx-2.8.5/docs
RO, /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
I3o6ym-i /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
7>`QX% /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
"YD<pRVB /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
:%qJ AjR& /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
1lu_<?O /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
-?n|kSHX /usr/share/doc/lynx-2.8.5/docs/CMU.announce
V}ZF\SG(K /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
DWDL|4
og /usr/share/doc/lynx-2.8.5/docs/FM.announce
rJK3;d? E /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
A][\L[8X /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
jJ86Ch /usr/share/doc/lynx-2.8.5/docs/README.TRST
Pb=J4Lvz(d /usr/share/doc/lynx-2.8.5/docs/README.chartrans
E7^r3#s
lTsl= --------------------------------------------------------------------------------
S!o!NSn@1 :WejY`}H% :i+Tf~k{ 列出包所提供的实际能力:
{4tJT25 [aX'eMq --provides选项的作用是列出这个包所提供的实际能力。
p%5RE%u 3B95t- 示例:
*b9=&:pU( !u)veh3x [root@localhost ~]# rpm -q --provides lynx
Y(
n# = config(lynx) = 2.8.5-18
-#=v~vE webclient
.x7d!t:(D lynx = 2.8.5-18
~0r:Wcj x --------------------------------------------------------------------------------
bY7d D]resk 5=/H2T!F 列出这个包所倚赖的任何包:
i[A$K~f ,o\vumx -R,--requires选项的作用是列出这个包所依赖的任何包。
Yd:8iJA fLl~a[(5 示例:
ai[st+1 WP7*Q:5 [root@localhost ~]# rpm -qR lynx
};!S2+ /bin/sh
GMRw+z4 config(lynx) = 2.8.5-18
`yJpDGh indexhtml
!]7r>NS> libc.so.6
'"Q;54S** libc.so.6(GLIBC_2.0)
lw0l86^Y libc.so.6(GLIBC_2.1)
W\gu"g`u libc.so.6(GLIBC_2.2)
U#R=y:O? libc.so.6(GLIBC_2.3)
]Ow
A>fb libcrypto.so.4
7:t+ libncursesw.so.5
Hj"`z6@7 libssl.so.4
_c?&G` libz.so.1
J<BBM.^] rpmlib(CompressedFileNames) <= 3.0.4-1
b_@MoL@A! rpmlib(PayloadFilesHavePrefix) <= 4.0-1
dM8`!~#&PI --------------------------------------------------------------------------------
w$4fS lpLjfHr
Mp9wYM* 列出包中的配置文件
PX}YDC zP$ n#,|C`2r -c,--configfiles选项的作用是列出包中的配置文件
8W
Mhe=[ V~`
?J6 示例:
<[Ae0UK RSXYz8{ [root@localhost ~]# rpm -qc lynx
yZ=wT,Y /etc/lynx-site.cfg
`=8g%O|T /etc/lynx.cfg
s,O:l0 /etc/lynx.cfg.cs
Q1? !,a /etc/lynx.cfg.ja
uFNVV;~RFI /etc/lynx.cfg.sk
e*.l6H/B --------------------------------------------------------------------------------
6VpT*,2d~ ^6`"f f}b= FV{ 显示有关于包的改变信息的日志:
21x?TZa -Zd0[& '] --changllog选项的作用是显示有关于包的改变信息的日志。
3
4CqLPg8 rkh+$*t@i7 示例:
:hB/|H*= OD
09XO 此为部分显示结果
7(AB5.O [root@localhost ~]# rpm -q --changelog lynx
Sb I %| * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
rAq2 - Removed perl dependencies (bug #127423).
p5&:>> * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
fF37P8Ir - rebuilt
y}dop1zp * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
@w|'ip5@ - No longer need lynx-284-ipv6-salen.patch.
],9%QE - No longer need lynx2-8-2-telnet.patch.
Xc-'&" * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
OI</o0Ca - rebuilt
1TeYA6 t * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
zLdi - Updated to dev16, fixing bug #110196.
xG i,\K\: - No longer need crlf patch.
G$&SlJZEk - Use shipped ja translations.
+x$GwX - Use %find_lang.
~p^&`FA - Default config file now sets UTF-8 (bug #110986).
NrPs :` --------------------------------------------------------------------------------
cXu"-/ 8%v1[Wi WVl yR\. 包选择选项
GF[onfQY7 $
\0)~cy package_name
X@JrfvKv[d 查询已安装包的package_name。
Kk|uN#m /ghXI"ChI -a,--all
+ HvEiY 查询所有已安装拨。
^6tGj+D9 U{Xg#UN -f file,--file file
x
TEDC,B 找出什么包拥有文件file。
F3j#NCuO=z /f2HZfj -g group,--group group
CU'$JF 找出什么包拥有组group。
[;yEG$)K p\T.l<p -p package_file
70IBE[T& 查询未安装包package_file
>DqV^%2l jA9&hbQuL --querybynumber num
ak]:ir`o 查询第num个数据库条目。主要用于调试。
<yE
CqGi
2<2 -qf,--queryformat num
&'
E( 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
|E)-9JSRy _Eo$V& --specfile specfile
R]hilb'a 查询specfile,就好象它是个包
G`3/${ti AB92R/ --triggeredby pkg
HAJK%zLc 列出触发安装pkg包的包。
CYD+o 8wJfGY --whatrequires capability
;G !JKg 列出要求特定能力来行使职责的包。
oqeA15k$ %!Z9: +;B --whatprovides capability
{x$WBy9 列出提供特定能力的包。
3gN#[P --------------------------------------------------------------------------------
P:,@2el ^p3"_;p)h b7&5>Q/g 信息选择选项:
[k qx%4q) wJ
0KI[p(S -c,--configfiles
(Q~ p"Ch 列出包中的配置文件。
8{QN$Qkn |/rms`YQ --changelog
)xKZ)SxV 显示有关于包的改变信息的日志。
imGg3' V?x&.C2Z -d,--docfiles
K]5@bm 列出包中的文档文件。
;la sk4| .dqV fa --dump
yr=$a3web; 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
K)!yOa'fH 以下列顺序输出信息:
7OSk0%Q, path size mtime md5sum mode owner group isconfig isdoc rdev symlink
T \d-r#{ a B(_ZX'L --filebypkg
wQ!C9Gp3e 列出每个包中的所有文件。
O2z{>\ z^;0{q, -i
}.bhsy 显示包的信息,包括名字,版本和描述。
y>4r<YZQ @ Gxnrh6 -l,--list
PL*Mz(&bf 列出包中所有文件
tCZ3n c;X8:Z=ja --last
tkQ#mipAj 根据安装时间列出包,最新的包排第一位。
&z'NQ!uV LHit9O[_/s --provides
&d1|B`gL| 列出这个包所提供的实际能力。
gl k-: # ]Dj,8tf`H -R,--requires
AunX[X9 列出这个包所依赖的任何包。
#m
%ZW3 of? hP1kl[ -s,--state
K9\p=H^T7 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
}.+{M.[} $Sz@u"ig% --scripts
fjD/<`}v 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
YVSAYv_ZG} ~<
~PaP$=\ --------------------------------------------------------------------------------
njhDrwN O}$@|w(8; V 5ve 卸载
ST'eJ5P7!5 ^ud-N;]MKs uninstall命令的语法为:
LmCr[9/ =E E>QM rpm -e package_name
R<* c rpm --erase package_name
k9]M=eO H]i.\2z 示例:
bA/,{R _>:R]2Ew [root@localhost ~]# rpm -e lynx
&`]Lg?J [root@localhost ~]# rpm -q lynx
D jzHEqiH package lynx is not installed
H> Y0R --------------------------------------------------------------------------------
FBDRb J
su F?h{IH
f {0~ Sj%Ze 卸载选项为:
}K<% h ^?-SMcUHB --allmatches
0#$<2 删除包的所有版本。应该只指定一个包,否则会导致错误。
qeM`z l:' 0 --nodeps
T;?=,'u 在卸载包之前不检查依赖性。
(TKn'2 d'bAM{R> --noscripts
0O@UT1M;v 不执行任何预卸载和后卸载脚本。
idG}p+(; JI"&3H")g% --notriggers
c%?31t 不执行任何由这个包的删除而出发的脚本。
hU:
9zLe A@:h\< --test
->H4!FS 不真正卸载任何包,仅仅查看活动过程。