Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
]p*l%(dhY uG?_< mun 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
kv8Fko w ihH?~] 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
.9,zL=)Ba 6$fHtJD: 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
F
;{n"3< --------------------------------------------------------------------------------
.EpV;xq} P#pn*L*"T E>&n.% 以下简要介绍RPM包的安装,删除和查询
H]Cy=Zi" P6E3-?4j RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
&/mA7Vf>eR nS/)P4z rpm命令的格式为:
A&s:\3*Kh B,M(@5wz rpm [options] [packages]
l-K9LTd cYFiJJLG] 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
EM]s/LD@% MJ7 Y#<u 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
+IrLDsd --------------------------------------------------------------------------------
;+0t;B!V lFa02p0 Ol1e/Wv RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
=6woWlf b '=[?~0(B 以下为rpm --showrc命令显示的节选:
4?0vso*X<: wyp|qIS; 示例:
)u3 Zm 0*%Z's\M" 此为部分显示结果
iDMJicW!+F [root@localhost ~]# rpm --showrc
OH;b"] ARCHITECTURE AND OS:
D0g ZC build arch : i386
k:*S&$S!E compatible build archs: athlon i686 i586 i486 i386 noarch
dArDP[w build os : Linux
'I_Qb$ compatible build os's : linux
0zo?eI install arch : athlon
NxjB/N
install os : Linux
e&7JpT compatible archs : athlon i686 i586 i486 i386 noarch
/[O(ea$U compatible os's : linux
K|Ld,bq RPMRC VALUES:
kspTp>~ 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
!g Z67 optflags : %{__global_cflags} -m32 -march=athlon
thV>j9' Features supported by rpmlib:
;w:M`#2 rpmlib(VersionedDependencies) = 3.0.3-1
Sczc5FG PreReq:, Provides:, and Obsoletes: dependencies support versions.
JXCCTUO rpmlib(CompressedFileNames) = 3.0.4-1
~3WM5 fv file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
7#@cz5Su rpmlib(PayloadIsBzip2) = 3.0.5-1
)A!>=2M` package payload can be compressed using bzip2.
(EK"V'; --------------------------------------------------------------------------------
EG0WoUX| u1t%(_h $SM#< @ rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
$tz;<M7B r;>*_Oc7g 示例:
$}lbT15a kHXL8k#T [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
SfgU`eF%B Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
!
vP[;6 Preparing... ########################################### [100%]
C3< m7h 1:lynx ########################################### [100%]
,z3{u162 --------------------------------------------------------------------------------
9UKp?SIF hc~s"Atck w:s]$:MA8 以下列出一些通用选项(可以用于所有模式):
()K " c# dlJbI}-v= --dbpath path
Y3r%B9~ 用path作为RPM数据库的路径。
2rmSo&3@s Yiry["[]Q --ftpport prot
T_sTC)&a 用port作为FTP端口。
:/:.Kb 8CnRi --ftpproxy host
an4GSL 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
*:>"q ej mocI&=EF2X --help
ZN!4; 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
_u{c4U0, QA2borfy --justdb
j{Hao\F8 只更新数据库;不改变任何文件。
I?"q/Ub~h Vl%^H[] --pipe command
d*A*y ^OD 用管道把rpm输出到commond。
la( <8 T32+3wb"I --quiet
(WK&^,zQn 仅显示错误信息。
[
j3&/ D|rFu --rcfile filename
dY@WI[yog 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
uwa~-xX6 vJ\pR~? --root dir
4AG\[f
8q 在dir目录内执行所有操作。
43={Xy .u:81I=w( --version
G2t;DN( 输出rpm版本号。
*NkA8PC 5WC+guK7 -vv
[|P!{?A43| 输出调试信息。
SG-'R1
J }:u~K;O87 --------------------------------------------------------------------------------
Y^
kXSU x%+aKZ(m) ?_"+^R z 安装升级和刷新
T.Ryy"%F U>V&-kxtV 安装或升级一个RPM包,install命令的语法为:
F#5B<I 2P/K
K rpm -i [install-options] package_file
c6nflk.l rpm --install [install-options] package_file
A,\6nO67 k$H%.l;E 示例:
)Psb>'X %^I88,$&L [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
{Zh>mHW3 package lynx-2.8.5-18 is already installed
G
16!eDMt [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
6&bY} i^K --------------------------------------------------------------------------------
H2
$GIY %Eb%V ($ u:m]CPz 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
Z9575CI< cU{e`<xjA rpm -U [install-options] package_file
7<%<Ff@^)O rpm --upgrade [install-options] package_file
U
f|>
(C SVv;q?jZ 示例:
TJ:]SB QmLF[\Oo_ 先安装旧版
.A-]_98Z [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
SfJ./ny }?z@rt^ 再安装新版
r *$Ner [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
n) k1 @y82L8G/ 显示出新版本信息
wY~&Q}U [root@localhost ~]# rpm -q lynx
1Ab>4UhD lynx-2.8.5-18
C8vOE`U,J ^
<Pq,u%k 说明:
YnxRg -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
(FJ9-K0b{n 5B&;uY 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
4hAl-8~Q6 --------------------------------------------------------------------------------
O!Oumw,$ :um|nRwy9 X{we/'> 刷新的语法是:
&v"3*.org@ VH=S?_RY> rpm -F [install-options] package_file
PH>
b-n Zs}5Smjl;% rpm --freshen [install-options] package_file
aX~%5mF AX= 1b,s 示例:
3t<a $i Y`o+XimX 从未安装过lynx包,使用-F选项,将无法升级。
Qb)C[5a} X6 6VU [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
]da^xWK [root@localhost ~]# rpm -q lynx
INkD=tX package lynx is not installed
?Y:8eD"* --------------------------------------------------------------------------------
)(tM/r4`c& TQ`Rk;0R LJOr!rWi 安装和更新选项为:
Q%wY {_Lgtu --allfiles
/v/C<] 安装或更新所有文件。
H"C[&r {}QB|IH` --badreloc
`.T}=j| 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
8me ]JRw 05snuNt]- --excludedocs
iJZ/jCI 不安装任何文档文件。
+V{7")px6 HAv{R!* --excludepath path
"=6v&G]U4 不安装文件名以path开始的任何文件。
zGc:
@z n+BJxu? --force
)u/H>;L P 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
NvHJ3> "%
BWrv%7 -h,--hash
om |"S 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
4<cz--g \mw(cM#: --ignorearch
Q}!mx7b0] 即使二进制包用于不同的体系结果也进行安装。
$uap8nN #7ov#_2Jd --ignoreos
^{xeij/ 即使操作系统不匹配也安装二进制包。
.[Ap=UYI> c-g)eV|)S --ignoresize
5w\fSY 安装前不检查磁盘的可用空间。
52b*[tZ NTS#sgP --includedocs
`E!N9qI?t$ 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
"Vr[4&` 7lS#f1E --nodeps
p/2jh& 不检查这个包是否依赖于其他包的存在。
{@<J_A &f7fK|} --noorder
Fe.t/amS/ 安装之前,不为了满足依赖关系而对包进行重新排序。
"dROb}szn
bu=?N --noscripts
@^;j)%F} 不执行任何预安装或后安装脚本。
N? 5x9duK w|CZ7|6 --notriggers
sTOa 不执行任何由包安装触发的脚本。
RGn!{= Z0`T\ay --oldpackage
W`"uu.~f 允许升级以用旧包替换新包。
+uBLk0/)> "wlt> SU --percent
f>s?4 当文件被解压时输出完成百分比的信息。
r}0\}~'?c ?H_LX;r --prefix path
v^ /Q 8Q 把可重定位包的安装前缀设置为path。
Fbu5PWhlc RN)dS>$ --replacefiles
`60gFVu 即使包替换了来自其他安装包的文件,也安装这些包。
4;HJ;0-ps MwfOy@|N --replacepkgs
T]j.=|,d 即使某些包已经被安装,也安装他们。
Wd0[%`dq Yp0/Ab(v --test
%0 #XPc(" 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
ATy*^sc&" <BSc* 9Q --------------------------------------------------------------------------------
P_c,BlfGMH uZZU{U9h _;4 [Q1 查询
+4\U)Z/\ \o\nr!=k query命令的语法为:
-QyhwG= sHc Td>xS rpm -q[information-options] [package-options]
]`bQW? rpm --query[information-options] [package-options]
2kv7UU#q2 `)qVF,Z} 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
PlYm& --------------------------------------------------------------------------------
oG7q_4+& wBQF~WY *xE,sj+( 以下简单示演示一下包查询:
>|6iR%"f# .))v0 简单查询:
+525{Tj @Kf_z5tm: 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
be e5 /T,Z>R 示例:
% aUsOB-RV >HPdzLY? [root@localhost ~]# rpm -q lynx
$5L0.$Tj lynx-2.8.5-18
,*]d~Y --------------------------------------------------------------------------------
66#" sz--27es ^'p|!`: 信息查询:
A~Xq,BxCV zZiJ 9 e rpm -qi packagename命令可以得到安装包的汇总信息。
15$4&=O P/JK $nb 示例:
T6pLoaKu [root@localhost ~]# rpm -qi lynx
*jMk/9oa<N Name : lynx Relocations: (not relocatable)
D0mI09=GtQ Version : 2.8.5 Vendor: Red Hat, Inc.
5/gDK+%4D( Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
M7>(hVEAW' Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
P ]i
=r] i Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
V:/7f*n7 Size : 4837340 License: GPL
#{9G sD Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
|!q$_at Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla>
@HBEt^! URL :
http://lynx.isc.org/ +3i7D Summary : 一个基于文本的网页浏览器。
'a^{=+ Description :
pG^}Xf2a Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
/H:I 68~ 图像,但是它支持框架、表格、以及多数其它 HTML
KOg?FmD 标签。Lynx 优于图形化浏览器的地方是它的速度――
[TF8'jI0 Links 能够快速启动、退出、及显示网页。
\@}#Gez 标识拥有者
ri1C-TJM) --------------------------------------------------------------------------------
q8:{Nk E42eOGp9i @<M*qK1h 找出什么包拥有文件file:
B/Gd(S`@q -[OXSaf6 示例:
Omi^>c4G aS|wpm)K>8 [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
* MM[u75 lynx-2.8.5-18
}X;U|]d --------------------------------------------------------------------------------
OzT#1T1'c Dml*T(WM> {FN;'Uc 列表包中的文件:
iqhOi|! :Vg}V"QR 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
d bS
+ l7JY]?p 示例:
5cK@WE: y[O-pD` 此为部分显示结果
+pH@oFNK [root@localhost ~]# rpm -ql lynx
$jd<v1"o /etc/lynx-site.cfg
aTGdmj! /etc/lynx.cfg
A =Dhod /etc/lynx.cfg.cs
Px M!U!t /etc/lynx.cfg.ja
kl1Y] ?z} /etc/lynx.cfg.sk
e75UMWaeC /usr/bin/lynx
<Fs-3(V+\ /usr/share/doc/lynx-2.8.5
AGYm';z3 /usr/share/doc/lynx-2.8.5/INSTALLATION
,}xbAA# /usr/share/doc/lynx-2.8.5/README
P6Bl
*@G /usr/share/doc/lynx-2.8.5/docs
9Q W&$n^ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
kC$&:\Rh /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
(#q<\` /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
4R>zPEo /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
o2-@o= F /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
}a&mY^ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
R7~Yw*#, /usr/share/doc/lynx-2.8.5/docs/CMU.announce
5&CDHc7Oj /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
rZ_>`}O2 /usr/share/doc/lynx-2.8.5/docs/FM.announce
i.iio- /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
kllQca|$4 /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
P&*sB%B /usr/share/doc/lynx-2.8.5/docs/README.TRST
+VEU:1Gt /usr/share/doc/lynx-2.8.5/docs/README.chartrans
%;z((3F IGFGa@C --------------------------------------------------------------------------------
!C:r b :f'&z47 [O-sVYB 列出包所提供的实际能力:
1u]P4Gf= WW@"Z}?k --provides选项的作用是列出这个包所提供的实际能力。
>+cVs: ~9D~7UR 示例:
^_p%Yv G>T')A [root@localhost ~]# rpm -q --provides lynx
tJ&5tNl config(lynx) = 2.8.5-18
A%Z)wz{ webclient
(}!C4S3# lynx = 2.8.5-18
(#(Or --------------------------------------------------------------------------------
%-;bu| yy2Ie S"snB/ 列出这个包所倚赖的任何包:
,D80/2U^ `PI(%N -R,--requires选项的作用是列出这个包所依赖的任何包。
i}TwOy<4s }bB`(B,m 示例:
h3u1K>R) ]_*S~'x [root@localhost ~]# rpm -qR lynx
ED![^= /bin/sh
ARh6V&Hi- config(lynx) = 2.8.5-18
OQlG+| indexhtml
KA]*ox6j; libc.so.6
Q^eJ4{Ya: libc.so.6(GLIBC_2.0)
oB c@]T5> libc.so.6(GLIBC_2.1)
e[Xq libc.so.6(GLIBC_2.2)
m.%`4L^`T libc.so.6(GLIBC_2.3)
A q#/2t libcrypto.so.4
lx,`hl% libncursesw.so.5
F=@i6ERi libssl.so.4
#Gv{UU$] libz.so.1
d<o.o?Vc rpmlib(CompressedFileNames) <= 3.0.4-1
wpPn}[a rpmlib(PayloadFilesHavePrefix) <= 4.0-1
`T!#@&+ --------------------------------------------------------------------------------
'bW5Fr>W ]]iO- } qFRdg V>8 列出包中的配置文件
96|[}:+$&: y@vj;3: -c,--configfiles选项的作用是列出包中的配置文件
2%rLoL$Y2+ j033%p+Xc 示例:
B(HT.%r^A <"&'>?8j [root@localhost ~]# rpm -qc lynx
eE:&qy^ /etc/lynx-site.cfg
LhJ a)jFQ /etc/lynx.cfg
1]4^V7y /etc/lynx.cfg.cs
u@ N~1@RT| /etc/lynx.cfg.ja
k1N$+h
;\ /etc/lynx.cfg.sk
:iY$82wQ --------------------------------------------------------------------------------
b^V'BC3 PjqeE,5 @Gjny BJ 显示有关于包的改变信息的日志:
X,fu! J?712=9 --changllog选项的作用是显示有关于包的改变信息的日志。
2P~)I)3V 9zKBO* p` 示例:
O+.*lo QocQowz 此为部分显示结果
D$Kea
[root@localhost ~]# rpm -q --changelog lynx
-6E K#!+ * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
H/cTJ9zz - Removed perl dependencies (bug #127423).
h_
!>yK * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
Q .RO - rebuilt
jMpa?Jp 1 * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
SN]LeXesS - No longer need lynx-284-ipv6-salen.patch.
#1Z7R/ - No longer need lynx2-8-2-telnet.patch.
-l*A * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
\aSz2lxEHn - rebuilt
ZCiY,;c * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
oK Kz 4 - Updated to dev16, fixing bug #110196.
a1x7~)z>zi - No longer need crlf patch.
Cv TwBJy1 - Use shipped ja translations.
`^8*<+ - Use %find_lang.
|XcH]7Ai" - Default config file now sets UTF-8 (bug #110986).
l)@:T|)c --------------------------------------------------------------------------------
lmFA&s"m d/j@_3' *6*-WV6 包选择选项
79ZxqvB\ h`?k.{})M package_name
!$kR ;Q"/ 查询已安装包的package_name。
jXcNAl B?(4f2yE -a,--all
oX|?:MS: 查询所有已安装拨。
#8?^C]*{0 @ ^.*$E5 -f file,--file file
%8D?$v"#Z 找出什么包拥有文件file。
1X@b?6 A@ VaaX -g group,--group group
@l>Xnqx) 找出什么包拥有组group。
vfbe$4mH P4%>k6X -p package_file
f-+.;`H)T 查询未安装包package_file
1X:&*a"5 h3 @s2 fK --querybynumber num
p {C9`wi) 查询第num个数据库条目。主要用于调试。
zD_HyGf fOBN=y6x -qf,--queryformat num
T|+$@o 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
5faj;I{%JY ZLJNw0!=|t --specfile specfile
qY}Cg0[@g 查询specfile,就好象它是个包
JK^[{1
JI Kq7C0)23 --triggeredby pkg
$^$ECDOTB 列出触发安装pkg包的包。
HDj$"pS U"x~Jb3]O --whatrequires capability
$c9=mjwH 列出要求特定能力来行使职责的包。
)>$^wT ,>S+-L8 --whatprovides capability
b;{h?xc6 列出提供特定能力的包。
RZ6~c{ --------------------------------------------------------------------------------
@XBH.A^7r !aeNq82 PW^ 8;[\QP 信息选择选项:
Z3`2-r_= }xJR.]).KW -c,--configfiles
C1ZyB"{
列出包中的配置文件。
xMsGs )Pa*+ew7 --changelog
+2yF|/WW# 显示有关于包的改变信息的日志。
u:5IjOb2^ $3:X+X -d,--docfiles
\_>?V5( 列出包中的文档文件。
@LC~*_y UT;4U;a,m --dump
}} # be 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
dJE`9$jN 以下列顺序输出信息:
%yhI;M^ path size mtime md5sum mode owner group isconfig isdoc rdev symlink
@ RX`> r{_ |D(&w+( --filebypkg
*[
#*n n 列出每个包中的所有文件。
^Y<M~K972 ?%;B`2 nDR -i
cuMc*i$w! 显示包的信息,包括名字,版本和描述。
&CO|Y(+ }{=8&gA0 -l,--list
` U#Po_hq 列出包中所有文件
WVkG2 oek #^:pF --last
"uS7PplyO 根据安装时间列出包,最新的包排第一位。
,4yG(O$) -$m@*L --provides
Zly-\z_ 列出这个包所提供的实际能力。
3FY_A(+ #nbn K -R,--requires
,5kvn 列出这个包所依赖的任何包。
xv&S[=Dt oB}K[3uB:t -s,--state
LV\ieM 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
We\Y \*!v A?'
H[2]w" --scripts
/pU|ZA.z'2 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
i\vpGlx Z?C4a} --------------------------------------------------------------------------------
DA=qeVBg &58 { V0S6M^\DK 卸载
#AvEH=: %A=|'6)k2 uninstall命令的语法为:
QSv^l-< lT3|D?sF rpm -e package_name
*LEu=3lp%> rpm --erase package_name
bkkSIl+Q *bU% @O 示例:
?4MSgu K7S754m [root@localhost ~]# rpm -e lynx
ysl8LK
[root@localhost ~]# rpm -q lynx
i.F8 package lynx is not installed
i<Q&
D\Pv --------------------------------------------------------------------------------
OMi02tSm J$#D:KaU:N /t$*W\PL@ 卸载选项为:
IQ=CNby: v10mDr --allmatches
~@ ?"'!U 删除包的所有版本。应该只指定一个包,否则会导致错误。
,,Jjr[A_j ~R'BU=!;F --nodeps
[~!.a\[RW 在卸载包之前不检查依赖性。
,5=kDw2 e7lo!(># --noscripts
.@Hmg 不执行任何预卸载和后卸载脚本。
a" ^#!G<+ i<J^:7 --notriggers
i'Wcf1I-= 不执行任何由这个包的删除而出发的脚本。
89db5Dx LH,]vuXh --test
8V,"Id][ 不真正卸载任何包,仅仅查看活动过程。