Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
{-E{.7 S\ li<xl 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
%
,X(GwX '2
)d9_ w 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
0qTa @y lS,Hr3Lz 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
w?/,LV --------------------------------------------------------------------------------
.58AXg W35nnBU a{8GT2h`4 以下简要介绍RPM包的安装,删除和查询
*;}! WDr "Fke(?X' RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
T0SD|' &{
f5F7E@ rpm命令的格式为:
xA-G&oC]<T s+CWyW@ rpm [options] [packages]
ud.S,
8Sy `\qU.m0(j 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
L,l+1`Jz 8^~ljf]6 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
_I-0[w --------------------------------------------------------------------------------
Npu;f>g0_ :l7\7IT
+FJ
o!~1 RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
F6 UOo.L)I Kc(_?` 以下为rpm --showrc命令显示的节选:
Ii
K&v<(] 0J_ x*k6 示例:
ngNg1zV/q \myj Y 此为部分显示结果
?,Hk]Rl3 [root@localhost ~]# rpm --showrc
UIyOn` d " ARCHITECTURE AND OS:
kTnvD|3_!P build arch : i386
rkzhN59; compatible build archs: athlon i686 i586 i486 i386 noarch
NeWssSje build os : Linux
L@+j8[3BX compatible build os's : linux
5}By2Tx install arch : athlon
{1qEN_ERx install os : Linux
fG.w;Aemv5 compatible archs : athlon i686 i586 i486 i386 noarch
``O\'{o& compatible os's : linux
HPgMVp' RPMRC VALUES:
~L1N1Z)Kk 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
<fyv^e optflags : %{__global_cflags} -m32 -march=athlon
R8?A%yxf Features supported by rpmlib:
'-*r&: rpmlib(VersionedDependencies) = 3.0.3-1
hqE#BnQxP, PreReq:, Provides:, and Obsoletes: dependencies support versions.
Mc\lzq8\ 1 rpmlib(CompressedFileNames) = 3.0.4-1
%k2zsM file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
.a^/r'? rpmlib(PayloadIsBzip2) = 3.0.5-1
|e\:0O? package payload can be compressed using bzip2.
RJ-CWt
[LG --------------------------------------------------------------------------------
G{s ,Y^ >,9t<p=Q pjoI}; rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
H;Bj\-Pa wUSWB{y 示例:
{UhZ\qe ](W#Tj5- [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
"5e]-u' Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
0(..]\p^d Preparing... ########################################### [100%]
jrW7AT)\ 1:lynx ########################################### [100%]
Isi,Tl ^ --------------------------------------------------------------------------------
v(0vP}[Q7E ;Joo!CXHO ES+&e/G"ds 以下列出一些通用选项(可以用于所有模式):
G9gvOEI/ Vs"M Cqi --dbpath path
i?R qv<n 用path作为RPM数据库的路径。
-Wig k['v @<AIPla --ftpport prot
?@u
&3/& 用port作为FTP端口。
v|e\o~2D` %? g]{ --ftpproxy host
%:/;R_ 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
6?Wsg`9 aCTVY1 --help
~q9RZ#g13J 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
2<'gX>TW |[V(u --justdb
Hnaq+ _] 只更新数据库;不改变任何文件。
j@:LMR> ?oF@q :W --pipe command
XYn$yR\dj 用管道把rpm输出到commond。
S}|ea2
Wi|.Z/ --quiet
;P{ *'@ 仅显示错误信息。
JAn3 v14[G@V~\ --rcfile filename
{k)MC)% 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
t2E_y6 oDRNM^gz --root dir
</}[x2w?] 在dir目录内执行所有操作。
=*'`\}];" )HmpVH --version
H@6 输出rpm版本号。
)oNomsn Qejzp/2 -vv
#(A>yW702 输出调试信息。
2{qoWys8[ Gh< r_O~L3 --------------------------------------------------------------------------------
)PwDP U@*z#T#"m yb]a p 安装升级和刷新
d2(n3Xf l>:?U 安装或升级一个RPM包,install命令的语法为:
t
&ucqY T|=8jt, rpm -i [install-options] package_file
ei"FN3 Rm rpm --install [install-options] package_file
*
5j iC w,P2_xk` 示例:
c~Ha68 lKa}Bcd [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
>97V2W package lynx-2.8.5-18 is already installed
)QKZI))G0 [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
,,6e }o6 --------------------------------------------------------------------------------
zi5;>Iv0} S2Wxf>bt2 p3-sEIw}Ru 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
y)=Xo7j hxv/285B rpm -U [install-options] package_file
d6Z;\f7[ rpm --upgrade [install-options] package_file
j#Y8h5r Bkcs4 x 示例:
Vdjca:` +DU}f;O8v 先安装旧版
KI#hII[Q. [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
{%
;tN`{M V43|Ej}E 再安装新版
t<Og?m}( [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
/|>z7#?m^ PsTwJLY 显示出新版本信息
? 1_*ct=g9 [root@localhost ~]# rpm -q lynx
l.&6| lynx-2.8.5-18
w
5,- +&; /Jo*O=Lpo 说明:
|{Oe&j3| -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
R@ihN?k X)'uTf0 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
<Nkj)`%5iK --------------------------------------------------------------------------------
b2 ZKhS8 k/*r2 C 5I@< 6S&X 刷新的语法是:
jy6%
CSWQ \`x$@s? rpm -F [install-options] package_file
0dXWy`Mn l.FkX rpm --freshen [install-options] package_file
2'N%KKmJL pWeKN` 示例:
X62GEqff VBy=X\w] 从未安装过lynx包,使用-F选项,将无法升级。
N5o jXX!l% 3Ju<jXoo! [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
RtN5\ [root@localhost ~]# rpm -q lynx
(rvK@ package lynx is not installed
TVQ9"C --------------------------------------------------------------------------------
<kp?*xV]] 4s%vx]E 6 fL=2a 安装和更新选项为:
YGNO]Q~A }c$Zlb --allfiles
L_Ff* 安装或更新所有文件。
YG$Y4h"
@" 8L^5bJ --badreloc
[Jwo,?w 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
`gx_+m^ h#B%'9r --excludedocs
+q6/'ErN]m 不安装任何文档文件。
g>cp;co9g VPet1hAy --excludepath path
1 VcZg%I 不安装文件名以path开始的任何文件。
4Un (}P' 9aHV~5 --force
!Qy%sY 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
wa5wkuS)ld ~ep-XO -h,--hash
C%vR!Az 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
i]Njn k C|*U)#3:F --ignorearch
~+
Mp+gE 即使二进制包用于不同的体系结果也进行安装。
&gR)Y3 &s-iie$"@x --ignoreos
LhKaqR{ 即使操作系统不匹配也安装二进制包。
oSq?.*w< oc7&iL --ignoresize
0}$Zr*|;Y 安装前不检查磁盘的可用空间。
}>]V_}h 8iA[w-Pv --includedocs
oR}cE
Sr 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
P;4Y%Dq~Qo n@[_lNa4GD --nodeps
]Dec/Nnj 不检查这个包是否依赖于其他包的存在。
)31{.c/ lJb1{\|., --noorder
jlXzfDT 安装之前,不为了满足依赖关系而对包进行重新排序。
tpPP5C{ h}0}g]IUx --noscripts
VokIc&!Uz 不执行任何预安装或后安装脚本。
B>C+qj@ XB0G7o%1 --notriggers
Bie#GKc 不执行任何由包安装触发的脚本。
vxE#6 6Ft?9
B(F: --oldpackage
/oL&
<e 允许升级以用旧包替换新包。
Bm"-X:=' ,=>Ws:j --percent
5ir
Ffr 当文件被解压时输出完成百分比的信息。
;YN`E fVJlA --prefix path
2i0 .x 把可重定位包的安装前缀设置为path。
5-*hAOThg W>#[a %R --replacefiles
X<8?># 即使包替换了来自其他安装包的文件,也安装这些包。
ty ESDp% A:b(@'h --replacepkgs
{'#1do}{ 即使某些包已经被安装,也安装他们。
'Dn\.x^]1 `D-P}hDm! --test
11VtC) 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
epN!+(v Kd r7 V --------------------------------------------------------------------------------
)fy-]Ky
* <?Ln`,Duk =Gv*yR*]t 查询
zEVQ[y6BcM d4~;!#< query命令的语法为:
r=Tz++! t]IHQ8 rpm -q[information-options] [package-options]
_^/k rpm --query[information-options] [package-options]
<uYrYqN HVd y!J 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
o;TS69|D --------------------------------------------------------------------------------
NiH =T .} O@<t TTa$wiW7' 以下简单示演示一下包查询:
oBO4a^D $-)T 简单查询:
`5Bv2wlIV l"zA~W/ 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
5,\-; {j6$'v)0 示例:
O llS %*zV&H [root@localhost ~]# rpm -q lynx
nR]*RIp5 lynx-2.8.5-18
4^Ss\$* --------------------------------------------------------------------------------
$Ge0<6/ h2-v.Tjf N~uc%wOA 信息查询:
a&Qr7tTY" (|\%)vH- rpm -qi packagename命令可以得到安装包的汇总信息。
o|$r;<o3R Ze!/b|`xI 示例:
c/7}5#Rs [root@localhost ~]# rpm -qi lynx
)K8^}L, Name : lynx Relocations: (not relocatable)
;hPVe_/ Version : 2.8.5 Vendor: Red Hat, Inc.
/Y=_EOS Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
0&u=(;Dr\ Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
*>/w,E] Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
**$kWbS Size : 4837340 License: GPL
S{RRlR6Z Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
ch2m Ei( Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> Jkv!]C URL :
http://lynx.isc.org/ 8BrC@L2E0 Summary : 一个基于文本的网页浏览器。
G4U0|^(h Description :
(*M0'5 Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
W__Y^\~ 图像,但是它支持框架、表格、以及多数其它 HTML
b<!' WpY- 标签。Lynx 优于图形化浏览器的地方是它的速度――
^&\pY Links 能够快速启动、退出、及显示网页。
-X_\3J 标识拥有者
Zor!hc0< --------------------------------------------------------------------------------
7;c^*"Ud CIui9XNU ] g<$f#S 找出什么包拥有文件file:
NT2XG&$W> .820~b0 示例:
(t){o>l H,W8JNPs [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
Hs$HeAp; lynx-2.8.5-18
dDSb1TM --------------------------------------------------------------------------------
UD8e,/ yZ!~m3Q E2 FnC}#W 列表包中的文件:
5VpqDL~d .Tm.M7 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
Yn$:|$ H
"Io!{aKU 示例:
VFM!K$_ p0y|pD 此为部分显示结果
U'msHF [root@localhost ~]# rpm -ql lynx
@-L\c>rqT /etc/lynx-site.cfg
$0x+b!_l@ /etc/lynx.cfg
H5#]MOAP /etc/lynx.cfg.cs
N iu
|M@ /etc/lynx.cfg.ja
#'},/Lm@ /etc/lynx.cfg.sk
,;hpqu| /usr/bin/lynx
?(U;T!n /usr/share/doc/lynx-2.8.5
|QF_E4ISD /usr/share/doc/lynx-2.8.5/INSTALLATION
]%I\FefT /usr/share/doc/lynx-2.8.5/README
r\#nBoo( /usr/share/doc/lynx-2.8.5/docs
K2e68GU /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
N@Oe[X8 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
AbhR* /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
8ki3>"!A /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
4!OGNr$V@ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
ES!e/l /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
*/JYP + /usr/share/doc/lynx-2.8.5/docs/CMU.announce
Z m%,L$F*L /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
glc<(V /usr/share/doc/lynx-2.8.5/docs/FM.announce
PH&Qw2(Sx /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
>itNa.K /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
$j(d`@.DN~ /usr/share/doc/lynx-2.8.5/docs/README.TRST
m&b1H9ymd /usr/share/doc/lynx-2.8.5/docs/README.chartrans
sV-PR] q9p31b3 --------------------------------------------------------------------------------
N
P+vi@Ud 4X*U~} wkPjMmW+! 列出包所提供的实际能力:
!'rdHSy '_V9FWDZ --provides选项的作用是列出这个包所提供的实际能力。
+c!HXX %o4v} mzV 示例:
J)yg<*/3 ZA. SX|m [root@localhost ~]# rpm -q --provides lynx
]T|$nwQ config(lynx) = 2.8.5-18
,`Z4fz: webclient
$Zo|ta^ lynx = 2.8.5-18
+6l#hO7h --------------------------------------------------------------------------------
[<{r~YFjWW 0G-obHe0 9B;WjXSe 列出这个包所倚赖的任何包:
;+(_stxqV9 boCi*] -R,--requires选项的作用是列出这个包所依赖的任何包。
DnJ `]r WEX7=^k9 示例:
^X+qut+~ fCN+9!ljG` [root@localhost ~]# rpm -qR lynx
Al6%RFt /bin/sh
)=() config(lynx) = 2.8.5-18
3Mm_xYDud indexhtml
7g]mrI@ libc.so.6
ilVi libc.so.6(GLIBC_2.0)
L7aVj&xM libc.so.6(GLIBC_2.1)
yA"?Hv \o; libc.so.6(GLIBC_2.2)
Yq51+\d libc.so.6(GLIBC_2.3)
B+~ /-3 libcrypto.so.4
T%&vq6 libncursesw.so.5
GTTEg{ libssl.so.4
%{4U\4d@' libz.so.1
&n_f.oUc rpmlib(CompressedFileNames) <= 3.0.4-1
q78OP} rpmlib(PayloadFilesHavePrefix) <= 4.0-1
=H23eOS_# --------------------------------------------------------------------------------
"P@ SR`v# |n tWMm:( G1e_pszD{o 列出包中的配置文件
gCPH>8JwS0 6lg]5d2CD -c,--configfiles选项的作用是列出包中的配置文件
(pv}>1 cf$
hIB)Oi 示例:
R_g(6l"3R^ pO7OP"q1 [root@localhost ~]# rpm -qc lynx
DpA)Vdj /etc/lynx-site.cfg
/bo=,%wJ[ /etc/lynx.cfg
elhP!"G /etc/lynx.cfg.cs
GVlT+Rs7 /etc/lynx.cfg.ja
+aEm]=3 /etc/lynx.cfg.sk
<EgJm`V --------------------------------------------------------------------------------
v!ai_d^ s+fxv(,"c s#aj5_G 显示有关于包的改变信息的日志:
)V>OND ZAy/u@qt --changllog选项的作用是显示有关于包的改变信息的日志。
D6?h
6`J DMsqTB` 示例:
56c[$ q b:~#;$g 此为部分显示结果
wE=I3E % [root@localhost ~]# rpm -q --changelog lynx
,4'y(X<R * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
:7.k E - Removed perl dependencies (bug #127423).
ohx$;j * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
H<fi,"X^ - rebuilt
ak_y:O| * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
BH~zeJ*Pr - No longer need lynx-284-ipv6-salen.patch.
GXD<X_[ - No longer need lynx2-8-2-telnet.patch.
f'5
6IT
* 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
W$,/hB& z - rebuilt
9Xa.%vw> * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
gfIS - Updated to dev16, fixing bug #110196.
YuVlD/ - No longer need crlf patch.
Xp06sl7 M - Use shipped ja translations.
B/@LE{qUn - Use %find_lang.
S _U |w9q - Default config file now sets UTF-8 (bug #110986).
M6Xzyt| --------------------------------------------------------------------------------
%{ rb,6 HbB8A#u -R]~kGa6m< 包选择选项
MS#*3Md&y g|3bM package_name
d(^HO~p 查询已安装包的package_name。
P`Now7!
GW cU ?F D -a,--all
<N~9=g3 查询所有已安装拨。
y5aPs z _U4@W+lhX_ -f file,--file file
"HqmS 找出什么包拥有文件file。
tw
zV-8\ rf@47H -g group,--group group
vuY X0& 找出什么包拥有组group。
t@MUNW`Q 8`)* ?Q9~ -p package_file
rloxM~7!,) 查询未安装包package_file
JtMl/h L'KKU4zj --querybynumber num
b|Ge#o 查询第num个数据库条目。主要用于调试。
(91ts$jH q&9]4j -qf,--queryformat num
ND.(N'/O 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
GKF!GbGR@ q\jq9) --specfile specfile
'CJ_&HR 查询specfile,就好象它是个包
SQU@JKi;g _ Dz*% --triggeredby pkg
<v_Wh@m 列出触发安装pkg包的包。
gG.+3= (gvnIoDl0 --whatrequires capability
V(LfFO{^>? 列出要求特定能力来行使职责的包。
d^tY?*n b W/T}FND --whatprovides capability
l]t^MEoc8 列出提供特定能力的包。
$K\e
Pfk --------------------------------------------------------------------------------
p^w)@^f P<[)
qq@; wK fq'W{ 信息选择选项:
sD?Ynpt #fx"tx6 -c,--configfiles
`<T4En 列出包中的配置文件。
=I&BO[d ';.y`{/
--changelog
!~7lY]_U 显示有关于包的改变信息的日志。
vg X7B4 Ji=`XsV -d,--docfiles
NaQ~iY? 列出包中的文档文件。
o,J8n;"l Unt]=S3u --dump
b 5K"lPr 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
@_c&lToj_ 以下列顺序输出信息:
q`z1ht
nf path size mtime md5sum mode owner group isconfig isdoc rdev symlink
cR55,DR,#W oL>o*/ --filebypkg
gth_Sz5!# 列出每个包中的所有文件。
4wEkxCWp/ Iv9U4 -i
E/1:4?1 S 显示包的信息,包括名字,版本和描述。
*N{k#d/ SjA'<ZX>TM -l,--list
/=#~8 列出包中所有文件
&h6 `hP_ {m,LpI0wG --last
?wIEXKI 根据安装时间列出包,最新的包排第一位。
td$RDtW[3 n1R{[\ >1 --provides
W_/$H_04+ 列出这个包所提供的实际能力。
HuSE6an G2>s#Y5(, -R,--requires
r`+G9sj3U 列出这个包所依赖的任何包。
s{Y-Vdx 4QiV@#o: -s,--state
g*4^HbVxt 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
w; f LnEz_ JV!F< --scripts
zY4y]k8D* 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
{[{jlG4H Fs=E8' b --------------------------------------------------------------------------------
E(*CEW.V* -"2%+S{ KYg'=({x 卸载
;_=dB[M %~lTQCPE uninstall命令的语法为:
9wC=' G{a_\'7 rpm -e package_name
VZk;{ rpm --erase package_name
|B\76Nk `Q>qmf_Fi 示例:
H]{`q iYr*0:M [root@localhost ~]# rpm -e lynx
Y5mk*Q#q [root@localhost ~]# rpm -q lynx
) .MV1@s package lynx is not installed
3X`N~_+ --------------------------------------------------------------------------------
0v3
8LBH) 5~i}!n ^|cax|> 卸载选项为:
Gs*X> D e~6>8YO+7j --allmatches
4(8BWP~.y2 删除包的所有版本。应该只指定一个包,否则会导致错误。
o4B%TW +OOmy --nodeps
AASS'H@ 在卸载包之前不检查依赖性。
YJZ`Clp? CG!9{&F --noscripts
#BI Z| 不执行任何预卸载和后卸载脚本。
YE-}1&8 !~}@Eoii4 --notriggers
A=wh&X 不执行任何由这个包的删除而出发的脚本。
i6:O9Km #\3X;{ --test
,#(k|Zztc 不真正卸载任何包,仅仅查看活动过程。