Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
3K||( (-J'x%2) 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
C`ZU.|R GsO(\hR6^ 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
S5gBVGh tW!*W? 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
Pc?"H!Hkn --------------------------------------------------------------------------------
P@bPdw!JA ]D~Ibv{Y b*tb$F 以下简要介绍RPM包的安装,删除和查询
\(`2 @ |oOAy RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
$[Ut])4
~ 7m%12=Im5 rpm命令的格式为:
:^paI iW2\;}y rpm [options] [packages]
$KT)Kz8tF
|Ch,C 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
q77qdmq7 }l} _'FmQ
对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
BK)<~I --------------------------------------------------------------------------------
W!"QtEJ, [jCYj0Qf8 "*`!.9pt RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
g[O qnQ". 以下为rpm --showrc命令显示的节选:
__+8wC :+w6i_\d5 示例:
KSS]% 66Y [+l6x1Am 此为部分显示结果
raSga'uT; [root@localhost ~]# rpm --showrc
SmvMjZ+7Y ARCHITECTURE AND OS:
9Nna-}e?W build arch : i386
_OJfd compatible build archs: athlon i686 i586 i486 i386 noarch
3P>1-= build os : Linux
bJ9*z~z)e compatible build os's : linux
T*8S7l install arch : athlon
hbr3.<o1lY install os : Linux
!%t2ZQJq compatible archs : athlon i686 i586 i486 i386 noarch
N5`z S79W compatible os's : linux
{98e_z w RPMRC VALUES:
}CZw'fhVWO 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
/:{4,aX2 optflags : %{__global_cflags} -m32 -march=athlon
lIx./Nf Features supported by rpmlib:
K0B<9Wi| rpmlib(VersionedDependencies) = 3.0.3-1
Ahba1\,N$ PreReq:, Provides:, and Obsoletes: dependencies support versions.
~:0w% rpmlib(CompressedFileNames) = 3.0.4-1
.#iot(g file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
|*b-m k rpmlib(PayloadIsBzip2) = 3.0.5-1
^A=tk!C package payload can be compressed using bzip2.
z$d<ep{6 --------------------------------------------------------------------------------
]auqf z$~F9Es9 W#^.)V rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
#639N9a~ xs Pt 示例:
9iM%kY#)W Fsx<Sa [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
IoK/ 2Gp Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
S-Bx`e9 ' Preparing... ########################################### [100%]
|Ox='.oIb 1:lynx ########################################### [100%]
L@zhbWY --------------------------------------------------------------------------------
ITn PF{N L1DH9wiQi h9}*_qc&kV 以下列出一些通用选项(可以用于所有模式):
79d(UG'O nu~]9~)I --dbpath path
%.$7-+:7A 用path作为RPM数据库的路径。
I_->vC|> ]b sabS? --ftpport prot
rcMf1\ 用port作为FTP端口。
Sl ^PELU 0%}*Zo(e+ --ftpproxy host
XGC\6?L~ 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
)78T+7Kq GQCdB> --help
6'@ {
*
u 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
m~Q24Z]!'& {]dtA&8( --justdb
>{:hadUH 只更新数据库;不改变任何文件。
S1mMz
i &{+ 0a[rN --pipe command
|rZMcl/ 用管道把rpm输出到commond。
S
>CKm:7 2ag8?# --quiet
Q%d1n*;+ 仅显示错误信息。
*x;4::'Jn
HDZl;= --rcfile filename
Ur>1eN%9' 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
{)!>e p@4GI[ 4 --root dir
GbL1<P$V 在dir目录内执行所有操作。
3+h3? N1Ag. --version
MsP6C)dz 输出rpm版本号。
<EN9s 1hGj?L0m. -vv
)hj:Xpj9# 输出调试信息。
)rG4Nga5} flFdoEV.U) --------------------------------------------------------------------------------
mJ k\$/Kh q=BljSX K SOD( 安装升级和刷新
/kkUEo+ 9N}\>L)_ 安装或升级一个RPM包,install命令的语法为:
X
V;j6g kv3Dn&<rJ rpm -i [install-options] package_file
%60 OS3 rpm --install [install-options] package_file
%|D)%|Z H%>4z3n
示例:
Wx{E\ l AO|9H`6U6F [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
&gY) x{ package lynx-2.8.5-18 is already installed
CYW@Km{e [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
F1L[3D^- --------------------------------------------------------------------------------
"yaxHd #[lhem] IC GN(<$,~g 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
71c[`h*0{ ~&73f7 rpm -U [install-options] package_file
Ytlzn% rpm --upgrade [install-options] package_file
r8Pd}ptPU !EB<N<P"t 示例:
w#9KtW,tt +hmFFQQ} 先安装旧版
S v>6:y9?G [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
|0y#} |/ 8I#ir4z#< 再安装新版
A>yU0\A [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
'{,xQf*x k k3^m1 显示出新版本信息
p%"dYH%]&0 [root@localhost ~]# rpm -q lynx
G-Tmk7m lynx-2.8.5-18
|/*Pimk A]/o-S_ 说明:
ijF_
KP' -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
Bvn3:+(47 Nujnm$!,Q 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
B ;1qy[ --------------------------------------------------------------------------------
c[dzO.~ pSw/QO9 :jLL IqhB 刷新的语法是:
=^nb+}Nz( dw
bR,K rpm -F [install-options] package_file
`Z?wj@H1` )\fY1WD rpm --freshen [install-options] package_file
9B: 3Ha= h4?x_"V" 示例:
qos7u91z p~qe/ 从未安装过lynx包,使用-F选项,将无法升级。
L[G O6l $<^t][{ [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
V8?}I)#(7 [root@localhost ~]# rpm -q lynx
SiratkP9n7 package lynx is not installed
iq(PC3e`V --------------------------------------------------------------------------------
S(Yd.Sp 11[lc2 V2YK T,5 安装和更新选项为:
ETe4I`d{ &XP(D5lf`B --allfiles
c3A\~tHW 安装或更新所有文件。
}SN( ^3N #o.e
(C --badreloc
ggr 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
1o_kY"D< {meX2Z4 --excludedocs
La26"C"X 不安装任何文档文件。
':'g!b`/ EdJL&* --excludepath path
/Rp]"S
vt 不安装文件名以path开始的任何文件。
kI\m0];KnQ }'X=&3m --force
U@lc1# 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
+]db- (C2 XFg_ -h,--hash
g*|j+<:7 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
`zwz lo1Ui`V --ignorearch
E h%61/ 即使二进制包用于不同的体系结果也进行安装。
${+u-Wfau JE?p'77C --ignoreos
FqKJids- 即使操作系统不匹配也安装二进制包。
THA9OXP v\0 G`&^1 --ignoresize
!*IMWm> 安装前不检查磁盘的可用空间。
#Ondhy%h[ h`fVQN.3 --includedocs
KaGUpHw 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
"cH RGJG# Gn]36~)*H --nodeps
h$>F}n
j 不检查这个包是否依赖于其他包的存在。
R;& >PFmq GN.Oa$ --noorder
T X`X5j 安装之前,不为了满足依赖关系而对包进行重新排序。
5/48w-fnZ <t%gl5}| --noscripts
e5h*GKF 不执行任何预安装或后安装脚本。
Z5{a7U4z_ jXcJ/g(X3 --notriggers
4 23zX6 不执行任何由包安装触发的脚本。
A=CeeC]} ] m]`J|%i --oldpackage
ZTC>Ufu2! 允许升级以用旧包替换新包。
h\m35'v! Zw]`z*,yRA --percent
vG&>-Z 当文件被解压时输出完成百分比的信息。
,N/@=As9$ @WJ;T= L --prefix path
BT_]=\zi 把可重定位包的安装前缀设置为path。
e4X
df>B yr]ja-Y --replacefiles
.@dC]$2= 即使包替换了来自其他安装包的文件,也安装这些包。
x_PO; (Guzj*1 2 --replacepkgs
aCQtE,. 即使某些包已经被安装,也安装他们。
B`tq*T% >nSsbhAe --test
tobE3Od4 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
91
jRIB pMF
vL --------------------------------------------------------------------------------
^5 >e 5s7BUT FU|brSt 查询
]A4=/6`g?b Tw~R-SiS`s query命令的语法为:
3CUQQ_ wcHk]mLM rpm -q[information-options] [package-options]
:XKYfc_y rpm --query[information-options] [package-options]
9O[IR)O~ \u=d`}E 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
sYTz6- --------------------------------------------------------------------------------
>Wg=
Tuef D(cD8fn,J 37bMe@W 以下简单示演示一下包查询:
F?L]Dff c
'|*{%<e2 简单查询:
U }2@ '.}}k!# 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
.j6udiv5 UhB+c 示例:
w0QtGQ| aRd~T6I [root@localhost ~]# rpm -q lynx
b3NIFKw lynx-2.8.5-18
ZlV --------------------------------------------------------------------------------
#%,X),%- $e^"Inhtqp K5>3 信息查询:
*i#2>=) f5}afPk rpm -qi packagename命令可以得到安装包的汇总信息。
Za.}bR6?Y x;ik
示例:
&9jJ\+:7 [root@localhost ~]# rpm -qi lynx
~tUZQ5" Name : lynx Relocations: (not relocatable)
N$=YL
@m8 Version : 2.8.5 Vendor: Red Hat, Inc.
4+olyBht Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
8 Ku9;VEk Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
2[
sY?C Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
v[CR$@Y Size : 4837340 License: GPL
+U
fw Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
a )O"PA}2 Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> &BVUK"}P URL :
http://lynx.isc.org/ `&;#A*C0 Summary : 一个基于文本的网页浏览器。
1q}32^>+o Description :
1N/4W6 Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
z$<=8ox8e 图像,但是它支持框架、表格、以及多数其它 HTML
E2hsSqsu=
标签。Lynx 优于图形化浏览器的地方是它的速度――
>^8O :. Links 能够快速启动、退出、及显示网页。
#v
c+;`X 标识拥有者
zJ`u>:*$ --------------------------------------------------------------------------------
o!xCM:+J \Y xG 5{H)r 找出什么包拥有文件file:
}3
/io0"D piIZ*@' 示例:
osc8;B/ /X8a3Eqp9 [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
}#zL)+XI lynx-2.8.5-18
w+m7jn!$ --------------------------------------------------------------------------------
?MDo. z3 q\tr&@4iC ;&lXgC^* 列表包中的文件:
>A )Sl' ;v8TT}R 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
|E13W ]W3u~T* 示例:
CI+)0=`<1B U" @5R[=F- 此为部分显示结果
FC 8<D [root@localhost ~]# rpm -ql lynx
W *0!Z:? /etc/lynx-site.cfg
erI&XI /etc/lynx.cfg
<v ub
Q4 /etc/lynx.cfg.cs
Ioe.[&o6B /etc/lynx.cfg.ja
_9oKW;7f7 /etc/lynx.cfg.sk
Rd(8j+Q?ps /usr/bin/lynx
Eq@sU?j /usr/share/doc/lynx-2.8.5
,WdSJ BK'a /usr/share/doc/lynx-2.8.5/INSTALLATION
%g*nd#wG /usr/share/doc/lynx-2.8.5/README
d{TcjZ /usr/share/doc/lynx-2.8.5/docs
HubG>] /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
8y<mHJ[B /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
Q3=X#FQ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
6cg,L:j# /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
6l|L/Z_6 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
,T;sWl /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
yO-2.2h /usr/share/doc/lynx-2.8.5/docs/CMU.announce
!yg &zzP* /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
=$}`B{(H /usr/share/doc/lynx-2.8.5/docs/FM.announce
Sw$&E /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
)fXxkOd /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
!:d\A /usr/share/doc/lynx-2.8.5/docs/README.TRST
Eoz/]b /usr/share/doc/lynx-2.8.5/docs/README.chartrans
<S_0=U oe6Ex5h --------------------------------------------------------------------------------
!'\(OFv9Im [3irr0D7l &2@"zD 列出包所提供的实际能力:
K[SzE{5=P M|y!,/' --provides选项的作用是列出这个包所提供的实际能力。
:wzbD,/M `zs@W
示例:
E.'6p \ [)IaXa [root@localhost ~]# rpm -q --provides lynx
wQ-BY"cK\ config(lynx) = 2.8.5-18
q89yW)XG webclient
+=`w lynx = 2.8.5-18
uA?a
DjA --------------------------------------------------------------------------------
>iJxq6! 9(&$Gwi ),<h6$ 列出这个包所倚赖的任何包:
?`*`A9@ Nf~B 1vkp -R,--requires选项的作用是列出这个包所依赖的任何包。
{YzpYc1
v&^N +>p 示例:
wMH13i3 .GnoK? [root@localhost ~]# rpm -qR lynx
xoSBMf /bin/sh
aBF<it> config(lynx) = 2.8.5-18
KE)^S
[Da indexhtml
fQU_A libc.so.6
I#yd/d5^ libc.so.6(GLIBC_2.0)
H]lD*3b libc.so.6(GLIBC_2.1)
@[(%b{TE; libc.so.6(GLIBC_2.2)
^w
RD| libc.so.6(GLIBC_2.3)
D@mqfi(x libcrypto.so.4
6Hpj&Qm libncursesw.so.5
)o_$AbPt libssl.so.4
RML'C:1 libz.so.1
avv/mEf-f rpmlib(CompressedFileNames) <= 3.0.4-1
J0Y-e39 ` rpmlib(PayloadFilesHavePrefix) <= 4.0-1
qr/N ?, --------------------------------------------------------------------------------
=1kjKE ! '$OLU[(Y HLt;1:b 列出包中的配置文件
9;c]_zt VM
ny>g&3 -c,--configfiles选项的作用是列出包中的配置文件
Boa?Ghg i
`8Y/$aT 示例:
@l2AL9z$m> v3jx2Z [root@localhost ~]# rpm -qc lynx
LYiz:cQh /etc/lynx-site.cfg
@*LESN>T@t /etc/lynx.cfg
2|^bDg;W+u /etc/lynx.cfg.cs
&-Zg0T&tZ /etc/lynx.cfg.ja
;c>Rjg&[ /etc/lynx.cfg.sk
8>jd2'v{ --------------------------------------------------------------------------------
>G+?X+9 kjW`k?'s CD0SXNi"zH 显示有关于包的改变信息的日志:
<<![3&p# 8:A6Ew&\]O --changllog选项的作用是显示有关于包的改变信息的日志。
<BN)>NqM PFIL)D
|G 示例:
c~Hq.K$d f&>Q6 {*] 此为部分显示结果
o' DXd[y [root@localhost ~]# rpm -q --changelog lynx
#/1,Cv yj * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
Z5{M_^ - Removed perl dependencies (bug #127423).
R\=y/tw0H * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
7QRtNYo#\ - rebuilt
^Q_0Zq^H * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
ji2if.t@ - No longer need lynx-284-ipv6-salen.patch.
#H1yjJQ /x - No longer need lynx2-8-2-telnet.patch.
A!
1> * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
GRj{*zs - rebuilt
an<tupi[E * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
P>kS$U) - Updated to dev16, fixing bug #110196.
HWGlC < - No longer need crlf patch.
]?Ru~N} - Use shipped ja translations.
Fk
1M5Dm - Use %find_lang.
rq6(^I - Default config file now sets UTF-8 (bug #110986).
58MBG&a% --------------------------------------------------------------------------------
(85F1"Jp
Px K 5R,/X 包选择选项
Oy[t}*Ik <
v_ ?} package_name
diqG8KaK 查询已安装包的package_name。
t L;;Yt
c:~o e -a,--all
H,=??wN 查询所有已安装拨。
W?R$+~G Ar=pzQ<Z{ -f file,--file file
'J<KL#og 找出什么包拥有文件file。
OH*[ P67r+P, -g group,--group group
ZwF_hm=/[ 找出什么包拥有组group。
2@ACmh i' |S
g -p package_file
it>FG9hVo 查询未安装包package_file
;][1_ R`>E_SY --querybynumber num
]b<k% 查询第num个数据库条目。主要用于调试。
\&AmX8" [ tp*AA@~ -qf,--queryformat num
yNY1g?E 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
w>VM-- jPA?0h --specfile specfile
a50{ gb# 查询specfile,就好象它是个包
Z^`>;n2 D
7H$!(F> --triggeredby pkg
]rHdG^0uss 列出触发安装pkg包的包。
RpS'Tz} T92k"fBY --whatrequires capability
UTmX"Li 列出要求特定能力来行使职责的包。
7=mU["raz` P7"g/j" " --whatprovides capability
LfrS:g 列出提供特定能力的包。
P",~8Aci( --------------------------------------------------------------------------------
K}! VY` @;d(>_n B7T(9Tj+Fh 信息选择选项:
^^)D!I"cA, g;eMsoJG -c,--configfiles
1|n,s- 列出包中的配置文件。
n>Q/XQXB 3MiNJi#=2 --changelog
F
~
/{1Q* 显示有关于包的改变信息的日志。
nP4jOq*H RP z0WP -d,--docfiles
4 K{4=uU 列出包中的文档文件。
~0t]`<y= _~=X/I R --dump
ezCsbV;. [ 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
nXk<DlTws 以下列顺序输出信息:
L&Bc-kMH path size mtime md5sum mode owner group isconfig isdoc rdev symlink
a` 95eL} lySeq^y?Q --filebypkg
\qi=Us|= 列出每个包中的所有文件。
hf8=r5j= BRFA%FZ, -i
^'*9,.ltd 显示包的信息,包括名字,版本和描述。
C8DZ:3E$c S;MS,R -l,--list
)#9/vIQ 列出包中所有文件
,cYU ke2'?,f --last
kf~ D m}bV 根据安装时间列出包,最新的包排第一位。
yx4B!U z#SBt`c --provides
%=S~[&8C 列出这个包所提供的实际能力。
}rxFX }>6=(! -R,--requires
Se%FqI 列出这个包所依赖的任何包。
r,A750P^ `)* -s,--state
Gyw@+(l 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
%XMrSlSOp kZBIXW,G --scripts
s3W35S0Q 3 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
h3h2 KqM' #^"\WG7{ --------------------------------------------------------------------------------
;m,lS_[c PnJr cH.T6u_% 卸载
vS6}R5 !t3)j>h: uninstall命令的语法为:
R)?K+cJ% vHZw{'5y rpm -e package_name
f"~+mO rpm --erase package_name
8 *;G\$+ U\&kT/6vh 示例:
J/pW*G-U| ?g&6l0n` [root@localhost ~]# rpm -e lynx
IpXg2QbN [root@localhost ~]# rpm -q lynx
{6!Mf+Xq package lynx is not installed
YQG[8I --------------------------------------------------------------------------------
C0[Rf.* l!ltgj $NJ]2P9L 卸载选项为:
X's-i! pM9Hav@iWU --allmatches
)#l &F$ 删除包的所有版本。应该只指定一个包,否则会导致错误。
c>{6NSS - @I2m4Q{O --nodeps
/7De.O~H 在卸载包之前不检查依赖性。
Z'6
o$Xv v)N8vFdd --noscripts
*YZ'Uy? 不执行任何预卸载和后卸载脚本。
lY[>}L*H8 (k"|k --notriggers
>P/kb fPA 不执行任何由这个包的删除而出发的脚本。
|tP1,[w"> %?J\P@ --test
F'lG=c3N 不真正卸载任何包,仅仅查看活动过程。