Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
0/<}.Z] t'4hWNR'
安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
?6B)Ek,'X? %}P^B^O 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
MQ2gzKw> N10'./c K 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
y-}lz#N --------------------------------------------------------------------------------
2GcQh]ohc ]Ole#Lz}Q it\{#rb=4 以下简要介绍RPM包的安装,删除和查询
a=k+:=%y XZuJ<]}X, RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
bK; -X cm Z;XR%n8 rpm命令的格式为:
dY/=-ymW Giz9jzF\ rpm [options] [packages]
*#Hi W) fyx-VXu 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
TQ" [2cY AynWs5|z= 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
Eszwg --------------------------------------------------------------------------------
8[,,Kr)- A$A7F=x oo3ZYA RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
x2/|i?ZO j DcE_55o 以下为rpm --showrc命令显示的节选:
b,7:=-D N{iBVl 示例:
p*W4^2(d 5JDqSz{ 此为部分显示结果
{g l-tRC3 [root@localhost ~]# rpm --showrc
][ :6En} ARCHITECTURE AND OS:
J$&!Y[0 build arch : i386
]1%H.pF compatible build archs: athlon i686 i586 i486 i386 noarch
Ka2U@fK" build os : Linux
`8\pihww compatible build os's : linux
@fT*fv
install arch : athlon
p{!aRB% install os : Linux
Vlce^\s; compatible archs : athlon i686 i586 i486 i386 noarch
(iGk]Rtzt compatible os's : linux
v*QobI RPMRC VALUES:
G-Z_pGer^ 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
1QE-[| optflags : %{__global_cflags} -m32 -march=athlon
'/b,3: Features supported by rpmlib:
dnNC
=
siY rpmlib(VersionedDependencies) = 3.0.3-1
#@Zz
Bf PreReq:, Provides:, and Obsoletes: dependencies support versions.
B[C2uVEX: rpmlib(CompressedFileNames) = 3.0.4-1
zrU0YHmt file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
q+dY&4&u rpmlib(PayloadIsBzip2) = 3.0.5-1
H]"Z_n_ package payload can be compressed using bzip2.
s[h'W~ --------------------------------------------------------------------------------
-n!.PsGO> }0?642 =- +KDB^{ rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
<|Bh;; O9A.WSJ
>} 示例:
d4[M{LSl f&H):. [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
~y_TT5+3 Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
+uKlg#wqc Preparing... ########################################### [100%]
xx
nW 1`] 1:lynx ########################################### [100%]
`f*?|) --------------------------------------------------------------------------------
l:8gCi #It{B QgEG%YqB 以下列出一些通用选项(可以用于所有模式):
g$?B!!qT f'aUo|^? --dbpath path
"2
ma]Ps 用path作为RPM数据库的路径。
:Py/d6KK :De}5BMy --ftpport prot
Z5[ t/ 用port作为FTP端口。
hBz~FB];& %&4sHDP --ftpproxy host
Q)C#)|S 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
@;fdf 3ian ov#/v\|0 --help
5ts8o&|
输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
XkCbdb d'kQE_y2. --justdb
tu6c!o,@ 只更新数据库;不改变任何文件。
7}%3Aw6]S ^g~Asz5] --pipe command
-}MWA>an8 用管道把rpm输出到commond。
4B<D.i ;} K4N~ApLB+ --quiet
45edyQ 仅显示错误信息。
oA"t`,3 st|$Fu --rcfile filename
[}9R9G>" 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
'>`?T}a, +T
[0r --root dir
5X|=qZ 在dir目录内执行所有操作。
I^[R]Js /o.wCy,J< --version
"\vEi
&C 输出rpm版本号。
G!8O*4+A ' ,a'r.HJH -vv
WsL*P.J 输出调试信息。
SBAq,F' E6NkuBQ(( --------------------------------------------------------------------------------
V~&P<=8;Wl hh{4r} | S$%T0~PR~ 安装升级和刷新
#v=hiL 4M6o+WV 安装或升级一个RPM包,install命令的语法为:
dU3UCD+2y XtNe) Ry rpm -i [install-options] package_file
vXR-#MS`} rpm --install [install-options] package_file
oS/<)>\Gv V Z}^1e 示例:
T#|Qexz6 @ 8QE0J$d5 [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
sn+i[ package lynx-2.8.5-18 is already installed
{uL<$;#i [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
:7e2O!zH_ --------------------------------------------------------------------------------
ya5;C" pTST\0? Um4
} ` 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
tUGnD<P s59v*
/ rpm -U [install-options] package_file
*["9;_KD rpm --upgrade [install-options] package_file
YnNB#x8| UVUbxFq: 示例:
!Jh-v `]FA} wC 先安装旧版
Vu*yEF} [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
\d&j`UVY bguhx3s 再安装新版
M9_
y>N[0 [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
a,#f%#J\ H(lq=M0~ 显示出新版本信息
..Zuy|?w [root@localhost ~]# rpm -q lynx
bDeHU$ lynx-2.8.5-18
!Q*.Dw()[ gkI(B2,/ 说明:
mSY;hJi -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
g*N~r['dZ NC>rZS] 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
X<x"\Yk --------------------------------------------------------------------------------
m_W\jz??k ;? '`XB! wlAlIvIT 刷新的语法是:
8%_XJyg ?NGM<nK;7 rpm -F [install-options] package_file
5H6m{ng fv5'Bl rpm --freshen [install-options] package_file
w+=>b ;'`T 示例:
[`Ol&R4k d8C?m*3J 从未安装过lynx包,使用-F选项,将无法升级。
!?DPI) f h)Cz) [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
Qi&!IG [root@localhost ~]# rpm -q lynx
~Hd{+0 package lynx is not installed
\wCj$-;Jt --------------------------------------------------------------------------------
MQ$[jOAqP e-ljwCD K,&)\r kzD 安装和更新选项为:
qmdl:J|? }9/30 --allfiles
"w*VyD 安装或更新所有文件。
z\pT nteO mEa\0oPGB --badreloc
k_r12Bu 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
:2^%^3+V KqP!={>" --excludedocs
xlp^XT6# 不安装任何文档文件。
@N7X(@O ` Xhj7%> --excludepath path
-7fsfcGM$ 不安装文件名以path开始的任何文件。
:UoZ`O~ vDV`!JU
--force
}N]|zCEj 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
G!RbM.6 :@y!5[88! -h,--hash
ZF_*h`B
当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
MRxzOs 6H+gFXIv --ignorearch
b] DF7 U 即使二进制包用于不同的体系结果也进行安装。
%`F6>J ^Y8?iC<+ --ignoreos
b6RuYwHWV0 即使操作系统不匹配也安装二进制包。
{VE\}zKF #~ ^#%G --ignoresize
M/x49qO# 安装前不检查磁盘的可用空间。
( MWh|kp v(W$\XH --includedocs
JfxD-9U^>u 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
Jt\?,~, 3BAls+<p o --nodeps
q!\K!W \ 不检查这个包是否依赖于其他包的存在。
6{B$_Usg |a%&7-; --noorder
-GLI$_lLF 安装之前,不为了满足依赖关系而对包进行重新排序。
n2zJ' {f((x1{HZx --noscripts
gtHWd;1&f 不执行任何预安装或后安装脚本。
q(p]6Ha| H5'/i; --notriggers
'h53:?~ 不执行任何由包安装触发的脚本。
kO{A]LnAH U$Z)v1&{ --oldpackage
mHrt)0\_ 允许升级以用旧包替换新包。
>'iXwe- L9M0vkgri --percent
&m&Z^CA 当文件被解压时输出完成百分比的信息。
`wj<d>m ?){V7<'?y --prefix path
2a'b}<|[( 把可重定位包的安装前缀设置为path。
[#`)Bb&w bgq/]fI} --replacefiles
bCHJLtDQ 即使包替换了来自其他安装包的文件,也安装这些包。
m/Ou$ cK%Sty'8+ --replacepkgs
xa5^h]o 即使某些包已经被安装,也安装他们。
sgu#`@o HJ?p,V q5_ --test
9gVu:o 1/ 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
v^1_'PAXu pyhC%EZU --------------------------------------------------------------------------------
L'B=
=# btoye \rl JnQ5r>!>3 查询
uDvZ]Q|. ~,3+]ts='\ query命令的语法为:
fQ33J> `n7*6l<k~4 rpm -q[information-options] [package-options]
f40 xS7-Q0 rpm --query[information-options] [package-options]
R8O;8c?D 1vk&; 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
@xIKYJyU --------------------------------------------------------------------------------
LI1OocY.] i eQQ{iGJH 4WU%K`jnXb 以下简单示演示一下包查询:
b)/, aqJ>l}{ 简单查询:
70hm9b-
VN6h:-&iY 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
0aj4.H*% gg
$/ 示例:
,'w9@A f|Dq#(^\ [root@localhost ~]# rpm -q lynx
HjCcfOej lynx-2.8.5-18
8WU_d`DF --------------------------------------------------------------------------------
V|[Y9<* D32~>J.F ]yI~S( 信息查询:
:Rl*64}
tk=~b}8 rpm -qi packagename命令可以得到安装包的汇总信息。
Af y\:&j 'b(V8x 示例:
4UP#~ [root@localhost ~]# rpm -qi lynx
FbO\ #p s Name : lynx Relocations: (not relocatable)
h[HFZv~{ Version : 2.8.5 Vendor: Red Hat, Inc.
?=$=c8xw Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
q$IgkL Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
Jd#g"a>zZ Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
zv/owK Size : 4837340 License: GPL
x[L/d"Wf Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
>F7v'-*{ Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> vU|=" # URL :
http://lynx.isc.org/ ]$7dkP Summary : 一个基于文本的网页浏览器。
4:m/w!q$ Description :
d0ZbusHHb Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
4'EC(NR7N 图像,但是它支持框架、表格、以及多数其它 HTML
kq+`. 标签。Lynx 优于图形化浏览器的地方是它的速度――
J;@g#h? Links 能够快速启动、退出、及显示网页。
Y6<"_ 标识拥有者
,F^Rz. --------------------------------------------------------------------------------
'KL!)}B$h vu7F>{D .$&_fUY 找出什么包拥有文件file:
3s25Rps h|m>JDxn 示例:
w
K)/m`{g o +-G@16 [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
>Vp# lynx-2.8.5-18
~t0\Q; @($ --------------------------------------------------------------------------------
* F[;D7sZ~ Ek#?B6s Qmbl_# 列表包中的文件:
hf#[Vns LYM(eK5V 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
3" B$M ]CLt Km 示例:
XNZW J #i6ZY^+ee 此为部分显示结果
A\xvzs.d [root@localhost ~]# rpm -ql lynx
x,LQA0 /etc/lynx-site.cfg
0=g~ozEW& /etc/lynx.cfg
67,@*cK3?J /etc/lynx.cfg.cs
`]*BDSvE /etc/lynx.cfg.ja
#ArMX3^+w7 /etc/lynx.cfg.sk
d4(!9O.\ /usr/bin/lynx
>U4hsr05 /usr/share/doc/lynx-2.8.5
w&U>w@H^ /usr/share/doc/lynx-2.8.5/INSTALLATION
q2>dPI;3T /usr/share/doc/lynx-2.8.5/README
( q8uB /usr/share/doc/lynx-2.8.5/docs
R>|)-"b( ` /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
6,J:sm\ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
s}m.r5 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
1UyQ``v/ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
0J
\hku\ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
(}^Qo^Vr /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
@-d0~.S /usr/share/doc/lynx-2.8.5/docs/CMU.announce
<OR f{ /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
Y#[Wv1hi /usr/share/doc/lynx-2.8.5/docs/FM.announce
-XcX1_ /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
s01W_P .@R /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
T~Z7kc' /usr/share/doc/lynx-2.8.5/docs/README.TRST
U`25bb1Wj /usr/share/doc/lynx-2.8.5/docs/README.chartrans
6B pm+} XMJ EIG --------------------------------------------------------------------------------
sD_" OsSGVk #Qh 4I %/}+Q 列出包所提供的实际能力:
=A yDVWpE 335\0~;3 --provides选项的作用是列出这个包所提供的实际能力。
aM2[<m} *Y!c6eA 示例:
+xGz~~iNh 4=b{k,kzgA [root@localhost ~]# rpm -q --provides lynx
V(/=0H/ F config(lynx) = 2.8.5-18
Td|x~mZv: webclient
P. V # lynx = 2.8.5-18
qjc8 $#zXS --------------------------------------------------------------------------------
/d/Quro #"3az8u C{"uz_Gh 列出这个包所倚赖的任何包:
+0)zB;~7 h~F`[G/' -R,--requires选项的作用是列出这个包所依赖的任何包。
ga#Yd}G^~3 O7KR~d 示例:
~wX4j v<2B^(i}VB [root@localhost ~]# rpm -qR lynx
"?[7oI}c& /bin/sh
$hCPmiI config(lynx) = 2.8.5-18
>WKlR` J% indexhtml
(l~3~n libc.so.6
BUp,bJpO libc.so.6(GLIBC_2.0)
@['4 X1pqt libc.so.6(GLIBC_2.1)
q/|WkV `m libc.so.6(GLIBC_2.2)
.*0`}H+_ libc.so.6(GLIBC_2.3)
XyM?Dc5, libcrypto.so.4
+ISXyGu libncursesw.so.5
C/sDyv$ libssl.so.4
0'{`"QD\IW libz.so.1
e.Y*=P}D rpmlib(CompressedFileNames) <= 3.0.4-1
xUG:x4Gz+ rpmlib(PayloadFilesHavePrefix) <= 4.0-1
4h[S`;D0Vf --------------------------------------------------------------------------------
RR8Z 9D; Nvef+L,v 4_A9o9&_Rh 列出包中的配置文件
`6t3D&.u0 1|PmZPKq9n -c,--configfiles选项的作用是列出包中的配置文件
#h#Bcv0 Z |>Xw"]b; 示例:
TYs#v/)I .x^`y2'U [root@localhost ~]# rpm -qc lynx
GA8cA)]zOD /etc/lynx-site.cfg
lQ}e"#< /etc/lynx.cfg
&dC #nw /etc/lynx.cfg.cs
@3UVl^T /etc/lynx.cfg.ja
=XT'D@q~W /etc/lynx.cfg.sk
wu2AhMGmw --------------------------------------------------------------------------------
~6hG"t]: w|1Gb[ .QhH!#Y2D 显示有关于包的改变信息的日志:
!iOuIYjV V
r0-/T --changllog选项的作用是显示有关于包的改变信息的日志。
D(GAC!|/] r7I,%}k 示例:
j&S8x|5 4't@i1Ll( 此为部分显示结果
yL&_>cV [root@localhost ~]# rpm -q --changelog lynx
u D.E>.B * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
;-G!jWt6Zi - Removed perl dependencies (bug #127423).
GW(-'V/ * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
Q)l]TgvSe - rebuilt
^z[-pTY * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
LX
%8a^?; - No longer need lynx-284-ipv6-salen.patch.
xYMNyj~ - No longer need lynx2-8-2-telnet.patch.
FZ)Y<r8|s * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
7{vnhl(Z - rebuilt
~YuRi#CTD: * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
|sw&sfH[FD - Updated to dev16, fixing bug #110196.
VH{SE7 - No longer need crlf patch.
{,5=U@J - Use shipped ja translations.
}}GBCXAf_ - Use %find_lang.
'z#{'`$a - Default config file now sets UTF-8 (bug #110986).
(VPT% l6 --------------------------------------------------------------------------------
Yg;g!~ q5$z:'zE mX8A XWIa 包选择选项
vWJhSpC[ 5T[9|zJs package_name
328(W 查询已安装包的package_name。
':7%@2Zo Q7y6</4f -a,--all
Z?%j5G=4w 查询所有已安装拨。
nI4xK T#lySev -f file,--file file
Kis\Rg 找出什么包拥有文件file。
u1 uu_* Bx&.Tj -g group,--group group
J3sO%4sYR 找出什么包拥有组group。
ksxacRA7\ `p&ko$i2 -p package_file
>#@1
I 查询未安装包package_file
-(n[^48K |Hbe]2"x> --querybynumber num
cJ&e^$:Er 查询第num个数据库条目。主要用于调试。
Ii?"`d +JA (BC3[R@/l -qf,--queryformat num
}9=\#Le~\ 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
O_f|R1G5z /$hfd?L --specfile specfile
blZiz2F 查询specfile,就好象它是个包
SnbH`\U" {Izg1N --triggeredby pkg
%iI0JF*Ez 列出触发安装pkg包的包。
{rWu`QT N0c+V["s --whatrequires capability
`8F%bc54iw 列出要求特定能力来行使职责的包。
ZkYc9!anY D PnKr/ --whatprovides capability
{uO8VL5+Qx 列出提供特定能力的包。
9p!V?cH#8 --------------------------------------------------------------------------------
Tk-PCra ?lb1K'( Gvt.m&_ 信息选择选项:
*seKph+'c KQ/v](77 -c,--configfiles
*DX6m 列出包中的配置文件。
Y*``C):K% wLD/#Hfi7 --changelog
#VC^><)3 显示有关于包的改变信息的日志。
(j u-r*0 RR:m<9l -d,--docfiles
[pbX_ 列出包中的文档文件。
T\:3(+uK =&,zWNz) --dump
=~Jv*c 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
zQ
{g~x 以下列顺序输出信息:
GI$t8{M path size mtime md5sum mode owner group isconfig isdoc rdev symlink
',0~ \V ;T6^cS{ Gj --filebypkg
v,RLN`CID 列出每个包中的所有文件。
2 c'=^0: @yaBtZUp3 -i
+[r%y,k 显示包的信息,包括名字,版本和描述。
tGzYO/Zp d{0w4_x -l,--list
%H-[u}s 列出包中所有文件
*|Re,cY ~0fT*lp --last
UhY
)rezh 根据安装时间列出包,最新的包排第一位。
d\, 4Wet;# UL[4sv6\9 --provides
C[rYVa
. 列出这个包所提供的实际能力。
Y[T;j p(k Ii*v(`2b -R,--requires
n<CJx+U 列出这个包所依赖的任何包。
)QTk5zt xn@?CP`-y -s,--state
scqG$~O) 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
1q~U3'l:$ !j4C:L3F --scripts
"JVzv U] 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
D +)6#i
Y S:vv*5 --------------------------------------------------------------------------------
{H $\, SlZL%C; `+B+RQl}[ 卸载
9;Wz;p qB]z"Hfq, uninstall命令的语法为:
dWD,iO_"@ h1K
3A5 rpm -e package_name
6FSw_[ ) rpm --erase package_name
.2
UUU\/5 ~A8lvuw3 示例:
vG\]xM'u w}NgFrL [root@localhost ~]# rpm -e lynx
A
i9*w?C [root@localhost ~]# rpm -q lynx
K;6K!6J:[ package lynx is not installed
tb/u@}") --------------------------------------------------------------------------------
*&UVr y%TR2CvT Jkm\{; 卸载选项为:
2WE I6y&6g --allmatches
yc]ni.Hz 删除包的所有版本。应该只指定一个包,否则会导致错误。
0 nWV1)Q0= rxa"ji!) --nodeps
v_c'npC 在卸载包之前不检查依赖性。
![abDT5![ {, APZ`q| --noscripts
c#"\&~. P 不执行任何预卸载和后卸载脚本。
_5
tw1 > 5B2x#
m|8 --notriggers
bHS2;K~ 不执行任何由这个包的删除而出发的脚本。
K!I]/0L `yYgL@Zt --test
Oku4EJFJ 不真正卸载任何包,仅仅查看活动过程。