Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
#mu L-V 70c]|5 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
6I@j$edZ 43AzNXWF8 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
qXW\/NT"p< B{j><uxl 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
X"r)zCP+t --------------------------------------------------------------------------------
EYq?NL=' [UzD3VPg <@-O06 以下简要介绍RPM包的安装,删除和查询
8O,\8:I# Yao}Xo9} RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
f?sm~PwC- |^1U<'oM# rpm命令的格式为:
>J:=)1` XJ4f;U rpm [options] [packages]
)FQ"l{P w_56y8Pd4 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
+;q\7* ResU5Ce~ 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
,D+ydr --------------------------------------------------------------------------------
[#Y
L_*p H>EM3cFU %MjoY_<:_ RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
{'O><4 SO0\d0?u 以下为rpm --showrc命令显示的节选:
Q[j| 2U !RmVb}m 示例:
}%jF!d R#d~a;j 此为部分显示结果
Zok{ndO@|f [root@localhost ~]# rpm --showrc
={:a
N) ARCHITECTURE AND OS:
.Ix3wR9 build arch : i386
~ 1h#
compatible build archs: athlon i686 i586 i486 i386 noarch
:*''ci build os : Linux
(G"'Fb6d compatible build os's : linux
:x\[aG9 install arch : athlon
K.)!qkW-%S install os : Linux
>S +} compatible archs : athlon i686 i586 i486 i386 noarch
^ F]hW compatible os's : linux
)r9 9zdUk RPMRC VALUES:
!uEEuD# 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
a+^`+p/5 optflags : %{__global_cflags} -m32 -march=athlon
2!/Kt
O)i^ Features supported by rpmlib:
[MTd<@ rpmlib(VersionedDependencies) = 3.0.3-1
!LN8=u. PreReq:, Provides:, and Obsoletes: dependencies support versions.
tUv>1)
[ rpmlib(CompressedFileNames) = 3.0.4-1
wX"hUu file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
i?6&4 rpmlib(PayloadIsBzip2) = 3.0.5-1
G68KoM package payload can be compressed using bzip2.
!,Uo{@E)Y --------------------------------------------------------------------------------
m+Ye`] +FTc/r q9/v\~m rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
AFz:%m s:U:Dv 示例:
03 @aG ANhtz1Fl [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
K|P0nJT Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
!/is+
xp Preparing... ########################################### [100%]
OM\J4"YV$ 1:lynx ########################################### [100%]
b{A[\ " --------------------------------------------------------------------------------
J6Z[c*W 2Xt4Rqk $ @k?vbq 以下列出一些通用选项(可以用于所有模式):
QHk\Z Dl;hOHvKk --dbpath path
?,vLRq. 用path作为RPM数据库的路径。
JmI%7bH@ O sgPNy0 --ftpport prot
!Z!)$3bB 用port作为FTP端口。
Z,).)y#B Ma^jy. --ftpproxy host
_\WR3Q!V 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
4era5= ) O0Cz n --help
U: 9&0`k( 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
oPSPb(. H%wB8Y
] --justdb
HGQ</5Z 只更新数据库;不改变任何文件。
sfM"!{7 FZe/3sY --pipe command
\QvGkcDc{ 用管道把rpm输出到commond。
boo361L > G\0Z[<v, --quiet
gQ+]N*. 仅显示错误信息。
\`n(JV 6>vR5pn --rcfile filename
FOTe,F.8 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
>G]JwO Ebnb-Lze, --root dir
wNf:_^|} 在dir目录内执行所有操作。
UUt"8]@[ \((iR>^| --version
dfDjOZSL 输出rpm版本号。
m%HT)`>bg p*g Fr hm -vv
Xoe|]@U` 输出调试信息。
S,&LH-ps VE|:k:}; --------------------------------------------------------------------------------
^h[6{F~J _{*} )&!M ZbFD |~[ V 安装升级和刷新
bfxE}> /JD}b[J$ 安装或升级一个RPM包,install命令的语法为:
ng1E'c]0@ k<9,Ypa
rpm -i [install-options] package_file
"- 4|HA rpm --install [install-options] package_file
H,7='n7" "#d$$ 8 示例:
3lUVDNbZ 'P.y? [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
S<mZs; package lynx-2.8.5-18 is already installed
,1-%C) [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
T^A(v(^D --------------------------------------------------------------------------------
*lfjsrPu S^QEc tXU (m/:B=K 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
JX59n%$@ XcJ5KTn rpm -U [install-options] package_file
pS?D~0Nb rpm --upgrade [install-options] package_file
(XZ[-M7 7e<=(\(yl 示例:
*p{p.%Qs: odP<S. 先安装旧版
o@Ye_aM~?Y [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
1[egCC\Mo_ Jf^3nBZ 再安装新版
)."ob=m [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
1$*8F uYC^&siS<s 显示出新版本信息
9ihg[k [root@localhost ~]# rpm -q lynx
gwj?.7N*k lynx-2.8.5-18
8lF9LZ8 }QE.|.fA1 说明:
;}B=g/C -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
"*lx9bvV_ ZU\$x<, 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
JsY,Q,D q --------------------------------------------------------------------------------
,:S#gN{U v^9eTeFO 7[Us.V@ 刷新的语法是:
%NLd"SV bb_elmb)n rpm -F [install-options] package_file
}?m0bM rZI63S rpm --freshen [install-options] package_file
}9OMXLbRv Xu{y5N 示例:
pSx5ume95" lxn/97rA 从未安装过lynx包,使用-F选项,将无法升级。
"im5Fnu
exWQ~& [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
eaRa+ <#u [root@localhost ~]# rpm -q lynx
HNZ$CaJh package lynx is not installed
iM .yen_vp --------------------------------------------------------------------------------
z_c-1iXCW $WYt`U;*lj qnP4wRpr 安装和更新选项为:
MWwqon| p{E(RsA --allfiles
U6JD^G=qR, 安装或更新所有文件。
U]Q5};FK 3W'fEh5 --badreloc
;MfqI/B{ 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
Y{dSQ|xz^ uQdeKp4( --excludedocs
f1NHW|_j 不安装任何文档文件。
e1[ReZW -Mo4`bN --excludepath path
c&;" Y{ 不安装文件名以path开始的任何文件。
dv.
77q l0&Fm:))k --force
{aE[h[=r 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
/KH85/s b^R:q7ea -h,--hash
fRNj *bIV 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
Y%}&eN$r t[|rp&xG --ignorearch
;adZ*'6u 即使二进制包用于不同的体系结果也进行安装。
<EnmH/C. LJrH_h8C --ignoreos
SU%O \4Ty 即使操作系统不匹配也安装二进制包。
.{gDw \O*ZW7?TJ --ignoresize
F2YBkwI
安装前不检查磁盘的可用空间。
+[}y`
-t @<K<"`~H --includedocs
yz [pF 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
aG1Fj[, -~z@W3\ --nodeps
T4x%3-4; 不检查这个包是否依赖于其他包的存在。
x& _Y( bHA wPU5L*/*i --noorder
kR+}7G+ 安装之前,不为了满足依赖关系而对包进行重新排序。
!>(uhuTBF >s%Db<(P= --noscripts
fBX@
MedC 不执行任何预安装或后安装脚本。
WD4"ft /CALXwL --notriggers
-3(*4)h7 不执行任何由包安装触发的脚本。
PE{<'K\g 1
F:bExQ --oldpackage
+1#;s!e 允许升级以用旧包替换新包。
K^x{rn.Zf Bc!<!
--percent
+At[[ 当文件被解压时输出完成百分比的信息。
*6JA&zj0B 3MX#}_7A --prefix path
Z +/3rd 把可重定位包的安装前缀设置为path。
cRI2$| jl59;.P --replacefiles
S^R dj ] 即使包替换了来自其他安装包的文件,也安装这些包。
@ws&W=NQ 3ZT3I1/D --replacepkgs
e=XP4h 即使某些包已经被安装,也安装他们。
e&ti(Q= \=({T_j4 --test
uou
"s9 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
Z7wl~Hk -sHX --------------------------------------------------------------------------------
_"*vj-{-y |i
B# ?uCL[ 查询
fFEB#l!oUb [cDkmRV query命令的语法为:
o0AT&<K +M.BMS2A<l rpm -q[information-options] [package-options]
86LE
)z rpm --query[information-options] [package-options]
e R[B0;c lOA
EM 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
~!ei]UP --------------------------------------------------------------------------------
"wH(tk4 b~ )@e9 "}
:CM_ 以下简单示演示一下包查询:
lDBAei3iB YuuTLX%3 简单查询:
\e'Vsy>q (Jb#'(~a 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
Ot.v%D`e 5 g
mWwlkf9 示例:
= y^5PjN r5[pT(XT] [root@localhost ~]# rpm -q lynx
8(ZQM01; lynx-2.8.5-18
!Th5x2 --------------------------------------------------------------------------------
XFTqt] Sa)sDf1+` aid1eF 信息查询:
AyUw NPv.7, rpm -qi packagename命令可以得到安装包的汇总信息。
w\[l4|g` ?9?A)?O<j~ 示例:
P,zQl; [root@localhost ~]# rpm -qi lynx
/7#MJH5b6 Name : lynx Relocations: (not relocatable)
:}36;n<[' Version : 2.8.5 Vendor: Red Hat, Inc.
XR VZU~ZV Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
?(zCv9Pg Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
AP z"k?D0 Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
1tO96t^d% Size : 4837340 License: GPL
v?8i;[ Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
PcbhylKd Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> +*Wlj8 URL :
http://lynx.isc.org/ jD<xpD Summary : 一个基于文本的网页浏览器。
6
o Description :
W.s8!KH: Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
erv94acq 图像,但是它支持框架、表格、以及多数其它 HTML
nN.Gn+Cl 标签。Lynx 优于图形化浏览器的地方是它的速度――
Yt =)=n Links 能够快速启动、退出、及显示网页。
Bi9Q8#lh 标识拥有者
g/l:q&Q< --------------------------------------------------------------------------------
RFsUb:%V7- x?A<X2 L!Tvz(_7f6 找出什么包拥有文件file:
byP< !p* )Vy0V= 示例:
k:7Gb7\ a:GM|X [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
ic}TiTK lynx-2.8.5-18
o6w8Y/VPu --------------------------------------------------------------------------------
zrSYLG CN` ~DD{ S;t`C~l\ 列表包中的文件:
Y>C05?> \^pc"?Rc 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
dYOY8r/ )^P54_2
示例:
k8J zey]X oM>UIDCY_v 此为部分显示结果
Y6Y"fb%K [root@localhost ~]# rpm -ql lynx
bLWY Tj /etc/lynx-site.cfg
C}uzzG6s /etc/lynx.cfg
hl0X,G+@ /etc/lynx.cfg.cs
mw^>dv? /etc/lynx.cfg.ja
R<I#.
KD /etc/lynx.cfg.sk
z.(DDj /usr/bin/lynx
lq.]@zlSO /usr/share/doc/lynx-2.8.5
G2y1S/ /usr/share/doc/lynx-2.8.5/INSTALLATION
rS!@AgPLE /usr/share/doc/lynx-2.8.5/README
*MlEfmB( /usr/share/doc/lynx-2.8.5/docs
/?
d)01 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
pdFO!A_t /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
|Wa.W0A /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
qGhg?u"n: /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
WqM| nX /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
i/C%
1< /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
n(V{ [ /usr/share/doc/lynx-2.8.5/docs/CMU.announce
)RTWt` /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
&ID! lEd /usr/share/doc/lynx-2.8.5/docs/FM.announce
_pb*kJ /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
"uL~D5!f /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
)w<Z4_!N4s /usr/share/doc/lynx-2.8.5/docs/README.TRST
9iJ$M! /usr/share/doc/lynx-2.8.5/docs/README.chartrans
Nw9:Gi # X1a v --------------------------------------------------------------------------------
7.
$wK. >}+R+''nR _UZPQ[ 列出包所提供的实际能力:
N)D+FV29y a {x3FQ --provides选项的作用是列出这个包所提供的实际能力。
?zC{T*a
SmDNN^GR 示例:
/zXOtaG nC[aEZ7 [root@localhost ~]# rpm -q --provides lynx
6`6 / 2C$% config(lynx) = 2.8.5-18
NNr6~m)3v webclient
\}4*}Lr lynx = 2.8.5-18
b{aB^a:f=L --------------------------------------------------------------------------------
04}8x[t )\D{5j f|_\GVW 列出这个包所倚赖的任何包:
<@GO]vY 2?6]Xbs{ -R,--requires选项的作用是列出这个包所依赖的任何包。
u23_*W\ x'\C'zeF 示例:
|.m)UFV S:i#|T." [root@localhost ~]# rpm -qR lynx
-
7T`/6 /bin/sh
a6;[Z config(lynx) = 2.8.5-18
-l_B;Sb:e indexhtml
PW5)") z libc.so.6
Iw.!*0$ libc.so.6(GLIBC_2.0)
|cnps$fk~ libc.so.6(GLIBC_2.1)
9.xRDk libc.so.6(GLIBC_2.2)
#C. libc.so.6(GLIBC_2.3)
s I\-0og libcrypto.so.4
<%d!Sk4 libncursesw.so.5
xk/-TXB
0 libssl.so.4
;a>u7rw libz.so.1
W,H8B%e rpmlib(CompressedFileNames) <= 3.0.4-1
KIv_
AMr rpmlib(PayloadFilesHavePrefix) <= 4.0-1
>`WfY(Lq --------------------------------------------------------------------------------
R@pY+d9qp <'UGYY\wg0 {PxFG<^U 列出包中的配置文件
J;^ PM:6 {K"hlu[ -c,--configfiles选项的作用是列出包中的配置文件
H"UJBO>$ f@hM ^% 示例:
c'3N;sZ*B 45wtl/^9 [root@localhost ~]# rpm -qc lynx
+a N8l1 /etc/lynx-site.cfg
XKws_ /etc/lynx.cfg
vOz1& |;D /etc/lynx.cfg.cs
-8FUR~WJ /etc/lynx.cfg.ja
Nb9GrYIS /etc/lynx.cfg.sk
>"=DN5w
,S --------------------------------------------------------------------------------
|LbAW/9a vC@^B)5gb *{+{h;p 显示有关于包的改变信息的日志:
#O;JV}y rq!*unJ --changllog选项的作用是显示有关于包的改变信息的日志。
(&Lt&i _ 1,;zX^ 示例:
6YNL4HE? qF`6l( 此为部分显示结果
=z"+)N [root@localhost ~]# rpm -q --changelog lynx
jZkc
yx * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
NNbdP;=:u - Removed perl dependencies (bug #127423).
4c(Em+4 * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
*@PM,tS; - rebuilt
$fg@g7_: * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
8Vj'&UY - No longer need lynx-284-ipv6-salen.patch.
7p2xst - No longer need lynx2-8-2-telnet.patch.
I_z(ft. * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
TbNH{w|p - rebuilt
MaHP):~ * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
;9h;oB@ - Updated to dev16, fixing bug #110196.
DZC@^k \E - No longer need crlf patch.
^s7!F.OC - Use shipped ja translations.
,I5SAd|dX - Use %find_lang.
EV{Ys}3M - Default config file now sets UTF-8 (bug #110986).
(oX!D(OI --------------------------------------------------------------------------------
=(7nl#o J@$~q}iG !*"fWahv 包选择选项
aif;h!
?y /A-WI x package_name
:(X3?% 查询已安装包的package_name。
u)<s*jk -c0ypz -a,--all
7>j~;p{ 查询所有已安装拨。
5a_8`csu PgK7CG7G -f file,--file file
y-bUVw!Y 找出什么包拥有文件file。
:[_msd 1
rhZlmf[r -g group,--group group
"t.`/4R2w 找出什么包拥有组group。
q{Z#}|km# m?<E >-bI -p package_file
~o%igJ
}.C 查询未安装包package_file
@lE'D":? /
}$n_N\!) --querybynumber num
|0=UZK7%O 查询第num个数据库条目。主要用于调试。
+K'Hr:( sNo8o1Hby -qf,--queryformat num
i}DS+~8v 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
[A,^F0:h ]$lt --specfile specfile
18Y#=uH} 查询specfile,就好象它是个包
'v V7@@ pCh v; --triggeredby pkg
Wvr{l 列出触发安装pkg包的包。
s b;q)Rh \$wkr --whatrequires capability
P7.bn 列出要求特定能力来行使职责的包。
&R%'s1]o W/ Q*NB --whatprovides capability
byM-$l 列出提供特定能力的包。
6qH0]7m aI --------------------------------------------------------------------------------
<R /\nY Xz >UaQ7CRo _5-h\RB) 信息选择选项:
Df^F)\7!N? '&![h7B -c,--configfiles
~pQN#C)CO> 列出包中的配置文件。
MWh Y&I+ 'V]&X.=zC --changelog
"G K9Y 显示有关于包的改变信息的日志。
?FAI@4 RTm/-6[N -d,--docfiles
Eu`|8# [ W 列出包中的文档文件。
r!2U#rz w]0@V}}u$o --dump
2aM7zP[Z 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
V9<`?[Usv 以下列顺序输出信息:
RPW46l34 path size mtime md5sum mode owner group isconfig isdoc rdev symlink
h<LFTYE@ E7MSoBX9M --filebypkg
Fye>H6MU 列出每个包中的所有文件。
;ItH2Lw<& AzOs/q8O -i
;2<5^hgk 显示包的信息,包括名字,版本和描述。
{?H5Pw>{%h ;KlYiu -l,--list
hWT
jN 列出包中所有文件
Ku75YFO,5 v4n< G- --last
(.ir"\k1( 根据安装时间列出包,最新的包排第一位。
oBkhb /kbU< --provides
S<"Fp1#"l 列出这个包所提供的实际能力。
f82%nT R c+olJ^5 -R,--requires
T-en|. 列出这个包所依赖的任何包。
Qq<@;4 _B0(1(M<2 -s,--state
\wK&wRn) 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
f"ndLX:'} q!ZM Wg --scripts
{]T?) !Vm 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
@Vre)OrN# 0<uek --------------------------------------------------------------------------------
Ek_5% n y7,I10:D }5;4'l8 卸载
>rCD5#DG {o}U"b<+Ra uninstall命令的语法为:
)L:zr# [IL*}M! rpm -e package_name
><<>4(eF p rpm --erase package_name
@NL cO} gM&IV{k3 示例:
]M7FIDg (~GQncqa [root@localhost ~]# rpm -e lynx
F8f}PV]b [root@localhost ~]# rpm -q lynx
.[Sis<A]% package lynx is not installed
1M]=Nv --------------------------------------------------------------------------------
ubcB<=xb g+ c*VmY s#9q3JV0 卸载选项为:
4S<M9A} (pxH<k=Ah --allmatches
.kT]^rv
; 删除包的所有版本。应该只指定一个包,否则会导致错误。
yLnQ9BXB& XX8HSw!w --nodeps
3uLG$`N 在卸载包之前不检查依赖性。
q+?<cjVg {R}F4k --noscripts
DB/~Z 不执行任何预卸载和后卸载脚本。
mmTpF]t
?` 7Sx|n}a-3 --notriggers
@J[@Pu O 不执行任何由这个包的删除而出发的脚本。
:@(('X(". gP2zDI --test
tT}b_r7h(1 不真正卸载任何包,仅仅查看活动过程。