Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
[YQtX_;w /&?ei*z 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
?:q"qwt$F 0r@LA|P 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
3{H!B&sb 5i$P$ R 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
x8z6 < --------------------------------------------------------------------------------
0?R$>=u /3+E-|4s *{JD=ua 以下简要介绍RPM包的安装,删除和查询
=5:vKL j 7d{xXJ- RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
Yy!G?>hC %jUZc:06 rpm命令的格式为:
E.'6p \ Gj#BG49g2 rpm [options] [packages]
[)IaXa "6e3Mj\ 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
>$<Q:o}^ sS)tSt{C 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
7|Qb}[s --------------------------------------------------------------------------------
$IKN7 +Kmxo4p uA?a
DjA RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
F0m[ls$ C#&b` 以下为rpm --showrc命令显示的节选:
48gpXcc@| z:n
JN%Qb 示例:
R]kH$0` Q1h v2*/U 此为部分显示结果
N9c#N%cu [root@localhost ~]# rpm --showrc
J_
h\tM ARCHITECTURE AND OS:
8=\k<X{` build arch : i386
Q<osYO{l compatible build archs: athlon i686 i586 i486 i386 noarch
<!u(_Bxw/ build os : Linux
cP21x<n compatible build os's : linux
#.j:P# install arch : athlon
9 Up>e install os : Linux
z_C7=ga< compatible archs : athlon i686 i586 i486 i386 noarch
Cn9MboXX compatible os's : linux
*/]1?M@P) RPMRC VALUES:
LQ$dT#z2A 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
aBF<it> optflags : %{__global_cflags} -m32 -march=athlon
X bV?= Features supported by rpmlib:
-r_ Pp}s rpmlib(VersionedDependencies) = 3.0.3-1
=c[mch%E PreReq:, Provides:, and Obsoletes: dependencies support versions.
m[5ed1+ rpmlib(CompressedFileNames) = 3.0.4-1
OUHd@up@n file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
Qe<c@i" rpmlib(PayloadIsBzip2) = 3.0.5-1
v|kL7t)} package payload can be compressed using bzip2.
QD[l 6 --------------------------------------------------------------------------------
^w
RD| P.|g4EdND KueI*\ p rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
iow8H' F ,g)9ZP.F 示例:
<RkJ7Z^ is-{U?- [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
{XS2<!D Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
&kOb#\11u Preparing... ########################################### [100%]
la!rg#)-X 1:lynx ########################################### [100%]
s&OwVQ<M --------------------------------------------------------------------------------
"_&HM4%! |Oaj
Jux ~R
W 6;
以下列出一些通用选项(可以用于所有模式):
F9SIC7}uH @*LESN>T@t --dbpath path
lO|H:7 用path作为RPM数据库的路径。
!NOvKC! DU4Prjb' --ftpport prot
<$;fOp 用port作为FTP端口。
D#9W [6 ?+#E&F --ftpproxy host
\+w -{"u$ 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
sXSZ#@u,WN <<![3&p# --help
KH&xu,I 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
ex2*oqAdX )Nq$~aAm --justdb
Im_`q\i 只更新数据库;不改变任何文件。
akQtre`5sd V9m1n=r --pipe command
Pz +8u&~p 用管道把rpm输出到commond。
/$x6//0If vexQP}N0 --quiet
B: uW(E
仅显示错误信息。
VG\ER}s&P @*l}2W --rcfile filename
]?Ru~N} 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
JWrvAM$O A\.M/)Qo --root dir
Ph.$]yQCc] 在dir目录内执行所有操作。
7z6y n=B @v2kAOw[ --version
+3t(kQ 输出rpm版本号。
yZ+o7?(2p }` -vv
8F4#E
U 输出调试信息。
<H E'5b P5vM y'1X --------------------------------------------------------------------------------
Mi'eViH -D.6@@%Kc} JT<Ia 安装升级和刷新
#ZGWU_l} TiF$',WMv 安装或升级一个RPM包,install命令的语法为:
sbNCviKP T0RgCU
IV rpm -i [install-options] package_file
+|(
eP_ rpm --install [install-options] package_file
'(u [ |vWx[=`o 示例:
*+qXXCA G*wn[o(^j [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
S`X;2\: package lynx-2.8.5-18 is already installed
X'[SCs [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
1/w['d4l! --------------------------------------------------------------------------------
]b<k% JYKA@sZHe [>?B`1;@ 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
|TEf? <"c 8 s:sMU:Q rpm -U [install-options] package_file
Gz~P
0Z^w} rpm --upgrade [install-options] package_file
+\.gd L) %wvSD&oz 示例:
/1tqTi l!q i:H<=1 先安装旧版
"W:'cIw [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
$o1Gxz 4 "wuqr|o 再安装新版
8<?60sj [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
"PJ@Q9n__ {?BxVDD07 显示出新版本信息
|'=R`@w~0 [root@localhost ~]# rpm -q lynx
2lHJ&fck< lynx-2.8.5-18
RpS'Tz} ,1F3";`n[ 说明:
O&\;BF5:R -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
}L@!TWR-Qu 0=(5C\w2 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
?exV:OKLb --------------------------------------------------------------------------------
WZ"x\K-; r#3_F=xL5 4(
^Ht 刷新的语法是:
,n~H]66n A*~zdZ p rpm -F [install-options] package_file
)0RH"#,2L x8gUP rpm --freshen [install-options] package_file
,uEWnZ"4 ] X4A)%i 示例:
oe4Fy}Y_; t~ Q{\! 从未安装过lynx包,使用-F选项,将无法升级。
,p>=WX .azdAq'r&\ [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
s'fHhG6 [root@localhost ~]# rpm -q lynx
}r*t
V) package lynx is not installed
R^fVwDl\ --------------------------------------------------------------------------------
)UZ
's>O NBE)DL ~n|*-rca 安装和更新选项为:
eH=lX9 3MiNJi#=2 --allfiles
2Wq)y1R<T 安装或更新所有文件。
^B>
4:+^ fkyj&M/ --badreloc
JyYg)f 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
i4v7x;m_p [D?RL`ZF --excludedocs
x"5/1b3aq 不安装任何文档文件。
*V3 }L
Z K
)1K ] --excludepath path
i@Q)`>4 不安装文件名以path开始的任何文件。
4wMKl6mL -&D~TL# --force
"F}anPY 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
qS|bpC0x :kflq -h,--hash
TQ.d|{B[ 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
?fc({zb ^cDHyB=v4d --ignorearch
.0cm
mpUNq 即使二进制包用于不同的体系结果也进行安装。
wp-*S}TT B.;/N220P --ignoreos
-`FTWH 即使操作系统不匹配也安装二进制包。
KE&Y~y8O\ TR5"K{WDx --ignoresize
:_i1)4[! 安装前不检查磁盘的可用空间。
GmPNzHDb +KrV!Taf --includedocs
rM<c;iQ 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
S;a{wYF6v I(bH.{1n7 --nodeps
I/_`/mQ 不检查这个包是否依赖于其他包的存在。
rH$0h2 e
,k,L --noorder
ZVR0Kzu?Ra 安装之前,不为了满足依赖关系而对包进行重新排序。
@T|mHfQ8 ?msx --noscripts
6*/0 yGij 不执行任何预安装或后安装脚本。
h$G&4_O 9L]x9lI; --notriggers
N3TkRJZ 不执行任何由包安装触发的脚本。
c*9RzD#Zj FG38) / --oldpackage
%=S~[&8C 允许升级以用旧包替换新包。
aYkm]w;C '|G_C%,B --percent
aRC>pK. 当文件被解压时输出完成百分比的信息。
O (<Wn- _}EGk4E --prefix path
IE+$ET>t 把可重定位包的安装前缀设置为path。
/J<?2T9G IO/2iSbW --replacefiles
ABSAle 即使包替换了来自其他安装包的文件,也安装这些包。
88$G14aXEk *Ny^XQ_ X --replacepkgs
's8NO
Xlj 即使某些包已经被安装,也安装他们。
wt? 8-_ gk"S`1> --test
3YR6@*!f/ 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
Y<#WC#3= s3W35S0Q 3 --------------------------------------------------------------------------------
,pq<.?&E iXqc$!lTH 5tX|@Z:
z 查询
~Wm`SIV l=`)yc. query命令的语法为:
;l[/<J K@Twiw~rB rpm -q[information-options] [package-options]
`f}}z5 rpm --query[information-options] [package-options]
#%il+3J ]m{;yOQdsC 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
r3mB"("Z' --------------------------------------------------------------------------------
tV9BVsN G0^WQQ4 DzkE*vR 以下简单示演示一下包查询:
KN'l/9. Vrf2%$g 简单查询:
eOt T* 1c(1 YGuH 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
MGCwT@P )@RTU~# 示例:
8 *;G\$+ Z=_p [root@localhost ~]# rpm -q lynx
3/H^YM
@ lynx-2.8.5-18
i%GjtYjS --------------------------------------------------------------------------------
c BQ|mA kZs ?>N82#9Q 信息查询:
?"$W=*P\o Wct
+T,8 rpm -qi packagename命令可以得到安装包的汇总信息。
L"rLalUw if9I7@ 示例:
`o8b\p\zn [root@localhost ~]# rpm -qi lynx
L%ND?'@ Name : lynx Relocations: (not relocatable)
4NMv7[r Version : 2.8.5 Vendor: Red Hat, Inc.
iNZ'qMH22 Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
@tdX=\[~ Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
g^26Gb. Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
$NJ]2P9L Size : 4837340 License: GPL
z%Ywjfn' Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
pv+FPB Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> J*F-tRuEw URL :
http://lynx.isc.org/
S
U~vS Summary : 一个基于文本的网页浏览器。
s03DL Description :
7uFM)b@.P Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
[Qa0uM#SU 图像,但是它支持框架、表格、以及多数其它 HTML
s[)2z3 标签。Lynx 优于图形化浏览器的地方是它的速度――
(pm]U7 Links 能够快速启动、退出、及显示网页。
e,>L&9] ZI 标识拥有者
F=kD/GCB --------------------------------------------------------------------------------
v)N8vFdd S ])YU?e XtRfzqg?K 找出什么包拥有文件file:
12])``9 X&0m$x 示例:
udX4SBq-pC wa6DJ [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
c5>&~^~>Tx lynx-2.8.5-18
pMM-LY7%{ --------------------------------------------------------------------------------
KOv
a r0 , d ?4"8_ 0PE $n 列表包中的文件:
@Ytsb!! k ~lj:7g~ 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
oJVpNE[3] ]^Z7w`=%5 示例:
\K9XG/XIx Nc
F 此为部分显示结果
PQ. xmg2 [root@localhost ~]# rpm -ql lynx
"?Wwcd\ /etc/lynx-site.cfg
m{`O.6# O /etc/lynx.cfg
P.$U6cq /etc/lynx.cfg.cs
#!u P>/ /etc/lynx.cfg.ja
UTc$zc7 /etc/lynx.cfg.sk
ca*USM /usr/bin/lynx
ndT:,"s /usr/share/doc/lynx-2.8.5
L.$9ernVY /usr/share/doc/lynx-2.8.5/INSTALLATION
M.zS + /usr/share/doc/lynx-2.8.5/README
;'!U/N;- /usr/share/doc/lynx-2.8.5/docs
2x{@19w)C /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
17tph; /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
z11;r]VI /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
S,fMGKcq /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
Za}*6N=?* /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
.+]e9mV /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
kEf}yTy /usr/share/doc/lynx-2.8.5/docs/CMU.announce
FSoL|lH /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
@=h%;" /usr/share/doc/lynx-2.8.5/docs/FM.announce
^*"&e\+p /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
M7/P&d /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
p%+ 0^]v1 /usr/share/doc/lynx-2.8.5/docs/README.TRST
"zc@(OA[z /usr/share/doc/lynx-2.8.5/docs/README.chartrans
N5#qox$D } >b4s!k, --------------------------------------------------------------------------------
!p >a,8w L7_(KC h ZD/>L/ 列出包所提供的实际能力:
9xP{#Qa F\Q)l+c --provides选项的作用是列出这个包所提供的实际能力。
@/l{ J:dF^3Y 示例:
#`RYKQwB =xQ7:TB [root@localhost ~]# rpm -q --provides lynx
fs&J%ku\ config(lynx) = 2.8.5-18
( t#w@< webclient
9m0`;~! lynx = 2.8.5-18
vC E$)z'" --------------------------------------------------------------------------------
m~1{~' i:Pg&474f ?{?mAbc 列出这个包所倚赖的任何包:
#HWz.Wb R[LVx-e7' -R,--requires选项的作用是列出这个包所依赖的任何包。
w(8q qU+\ 0{F"b'h 示例:
`I ,A7b
O*d&H;; [root@localhost ~]# rpm -qR lynx
xr&wV0O'
/bin/sh
H/Cv ?GJF config(lynx) = 2.8.5-18
JaKR#Y$+~ indexhtml
G]E$U]=9r: libc.so.6
V.)y7B libc.so.6(GLIBC_2.0)
@;qC% +^ libc.so.6(GLIBC_2.1)
(9*s:)zD- libc.so.6(GLIBC_2.2)
@ \J R xJ libc.so.6(GLIBC_2.3)
/%po@Pm#I libcrypto.so.4
D%(9ot{!e libncursesw.so.5
^c83_93)R libssl.so.4
z}.!q{Q libz.so.1
#pBAGm3 rpmlib(CompressedFileNames) <= 3.0.4-1
z@>z.d4 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
#bUWF|zfT --------------------------------------------------------------------------------
ZLyJ :^0g}8$< y$r^UjJEO 列出包中的配置文件
OMd{rH Q-F'-@`(C -c,--configfiles选项的作用是列出包中的配置文件
jV\M`=4IC d8<Lk9H9R 示例:
J_}&Btb)e 6#T?g7\pyR [root@localhost ~]# rpm -qc lynx
|w- tkkS /etc/lynx-site.cfg
[6V'UI6 /etc/lynx.cfg
><"5
VwR /etc/lynx.cfg.cs
K~<pD:s /etc/lynx.cfg.ja
=x>z|1 /etc/lynx.cfg.sk
1)?^N`xF --------------------------------------------------------------------------------
{k1s@KXtd @I\Z2-J jz't!wj 显示有关于包的改变信息的日志:
t!c8c^HR aQCbRS6 --changllog选项的作用是显示有关于包的改变信息的日志。
vY *p][$ r=n|MT^O 示例:
?)<zrE5p aw/Y# 此为部分显示结果
VxjEKc [root@localhost ~]# rpm -q --changelog lynx
1@yXVD/ * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
h#zx^F1 - Removed perl dependencies (bug #127423).
EAF<PMb * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
|.=Ee+HZ - rebuilt
vF;6Y(h> * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
tirw{[X0n - No longer need lynx-284-ipv6-salen.patch.
[T"oqO4%] - No longer need lynx2-8-2-telnet.patch.
^8.R 'Yq * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
$}TqBBe - rebuilt
KD$ P\(5# * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
G(JvAe]r - Updated to dev16, fixing bug #110196.
.2Q`. o) - No longer need crlf patch.
*0 i - Use shipped ja translations.
4v3y3 - Use %find_lang.
(Ew o - Default config file now sets UTF-8 (bug #110986).
{5.,gb @6 --------------------------------------------------------------------------------
*`ehI_v : V J){@ &|%z!x6 f 包选择选项
AS|gi!OVA ZgtW package_name
4@5rR~DQq 查询已安装包的package_name。
2c5>0f TMKemci -a,--all
^*A/92!yF 查询所有已安装拨。
174H@ +hY/4Tx< -f file,--file file
gwThhwR 找出什么包拥有文件file。
:KgLjhj|) 6TfL|W< -g group,--group group
jt"p Js' 找出什么包拥有组group。
eWqJ 2Tt 9Lk.\. -p package_file
NxNR;wz>l 查询未安装包package_file
@MtF^y uWx/V+w --querybynumber num
<^R\N# 查询第num个数据库条目。主要用于调试。
;Bcf~[ErM H4k`wWOk -qf,--queryformat num
PfnhE>[>cf 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
LN?T$H _ H$Cm --specfile specfile
T
fzad2}^ 查询specfile,就好象它是个包
i.cSD%* R{!s%K& --triggeredby pkg
zq4,%$y8| 列出触发安装pkg包的包。
akm) X0!-} GPP~*+n --whatrequires capability
>+u5%5-wr 列出要求特定能力来行使职责的包。
W} Nd3 m
oFK/5cJ --whatprovides capability
5PKv@Mk 列出提供特定能力的包。
=_%:9FnQ0 --------------------------------------------------------------------------------
1Na CGD" '9auQ(2 iA^w2K 信息选择选项:
A6lf-8ncx feNr!/ -c,--configfiles
6 Y&OG>_\ 列出包中的配置文件。
TQ=\l*R(A lqX]'gu]\ --changelog
o"Ef>5N 显示有关于包的改变信息的日志。
DbPw)aCj 8x58sOR= -d,--docfiles
L}>9@?;GW 列出包中的文档文件。
cB.v&BSW En5Bsz! --dump
m|24)%Vj;= 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
}5Y.N7F 以下列顺序输出信息:
&`@,mUi{Ac path size mtime md5sum mode owner group isconfig isdoc rdev symlink
1(q!.lPc H1\~T --filebypkg
> %#J8 列出每个包中的所有文件。
deHBY4@ +]uy -i
!G\1$"T$ 显示包的信息,包括名字,版本和描述。
T%P0M* HP]Xh~aP -l,--list
UY}lJHp0 列出包中所有文件
WNm,r>6m ]lz,?izMR --last
>:OOuf# 根据安装时间列出包,最新的包排第一位。
YI%7#L7C 9!bD|-6y --provides
((.PPOdJV 列出这个包所提供的实际能力。
gl]{mUZz} %*|XN*i XC -R,--requires
yc%AkhX* 列出这个包所依赖的任何包。
gP/]05$e fD,#z& -s,--state
3XL0Pm 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
>kC@7h5) eWwSD#N# --scripts
7t@jj%F 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
d:A+s>`$M +"'h?7'C --------------------------------------------------------------------------------
,j&o H$mW k9}im }E?s*iP 卸载
%A82{ NKGo E/ uninstall命令的语法为:
4`Fbl]Q %}j/G l5 rpm -e package_name
~0/=5 dC rpm --erase package_name
_;'}P2&Q .YS[Md{
示例:
Lg Bs<2 rzqCQZHL5 [root@localhost ~]# rpm -e lynx
vja^O
[root@localhost ~]# rpm -q lynx
_BR>- :Jr package lynx is not installed
L0+@{GP? --------------------------------------------------------------------------------
+pf 7 .Z/"L@ Nkv2?o>l 卸载选项为:
A\4Gq )}paQmy# --allmatches
Gc@ENE f 删除包的所有版本。应该只指定一个包,否则会导致错误。
PicO3m UK_2i(I"e --nodeps
"}PmAr e 在卸载包之前不检查依赖性。
W9eR3q RCxqqUS\C --noscripts
hfEGkaV._3 不执行任何预卸载和后卸载脚本。
Q|pz].0 &=02.E@ --notriggers
Ui?t@. 不执行任何由这个包的删除而出发的脚本。
D.?KgOZ ^]aDLjD --test
P6IhpB59 不真正卸载任何包,仅仅查看活动过程。