Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
=m=`| Bn pIk&NI 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
Ujw A06 }|
_uqvin 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
o-B9r+N IDb|J%e^P 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
,YJ\
$? --------------------------------------------------------------------------------
Q_xE:#!; EUU9JnQhBJ C+$dm)M/q 以下简要介绍RPM包的安装,删除和查询
PBb@J'b >n)N=Zyu RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
J.mEOo!> HjV3PFg
rpm命令的格式为:
K>9]I97g' 7M<Ae
D% rpm [options] [packages]
[ XjJsk, <*~vZT i( 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
Qi#%&Jz>f NA>h$N 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
R 28v5 --------------------------------------------------------------------------------
s!``OyI/Z ZJ@M}-4O1 #[C|%uq RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
8l0%:6XbI iV[g.sP- 以下为rpm --showrc命令显示的节选:
s(J,TS#I] I2(5]85&]s 示例:
T+zZOI |f&)@fUI 此为部分显示结果
.R;HH_ [root@localhost ~]# rpm --showrc
6+A<_r`#Q ARCHITECTURE AND OS:
&aldnJ build arch : i386
/pZLt)=P compatible build archs: athlon i686 i586 i486 i386 noarch
gX5I`mm build os : Linux
dU\,>3tG compatible build os's : linux
V6?ku6k install arch : athlon
$%"i|KTsv: install os : Linux
1 e1$x@\\ compatible archs : athlon i686 i586 i486 i386 noarch
IL?3>$, compatible os's : linux
gYfN?A*`_ RPMRC VALUES:
v_"p)4&' 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
8MGtJ'. optflags : %{__global_cflags} -m32 -march=athlon
~cVFCM Features supported by rpmlib:
deHhl(U; rpmlib(VersionedDependencies) = 3.0.3-1
DTk)Y-eQ PreReq:, Provides:, and Obsoletes: dependencies support versions.
\T'uFy9&a rpmlib(CompressedFileNames) = 3.0.4-1
11}X2j~Ww file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
W~k"`g7uu rpmlib(PayloadIsBzip2) = 3.0.5-1
o-Pa3L= package payload can be compressed using bzip2.
ge9j:S{ --------------------------------------------------------------------------------
K?,eIZ{.S ")"VQ|$y 2@@OjeANsX rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
LX'.up11X5 \B8tGog 示例:
nVko]y KlDW'R$ [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
r4k=i4 Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
=0TnH<` Preparing... ########################################### [100%]
mS5'q q;t 1:lynx ########################################### [100%]
'+N!3r{G --------------------------------------------------------------------------------
1w/1k6`0 }$s#H{T! \dTX%<5D 以下列出一些通用选项(可以用于所有模式):
lcHwKd rlmzbIuI9 --dbpath path
+',[q 用path作为RPM数据库的路径。
E8zga ) /UTeaM!?" --ftpport prot
;3OQgKI 用port作为FTP端口。
kB{ o8.KakrPP --ftpproxy host
0m$f9b|Q? 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
^AdHP!I O%;H#3kn&s --help
%eB 0)' 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
y{+$B
Y$_ :2iNw>z1 --justdb
h`X)sC+ 只更新数据库;不改变任何文件。
X@|'#% 2%i_SX[ --pipe command
G=/a>{ 用管道把rpm输出到commond。
a7s+l= l5QH8eNwME --quiet
x7)j?2 仅显示错误信息。
Y b\t0:_ wl1i@&9 --rcfile filename
htX;"R& 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
DW&%"$2 CRf !tsj@ --root dir
F]DRT6) 在dir目录内执行所有操作。
W~(@*H "{1`~pDj? --version
8TGO6oY+= 输出rpm版本号。
VTQ V]>| A5cx!h -vv
NFw7g&1;Kp 输出调试信息。
m/RX~,T*v& a~E@scD --------------------------------------------------------------------------------
Qn'Do4Le NC'+-P'y 'NHtCs=F 安装升级和刷新
nXPl\|pXt IV*@}~BJ 安装或升级一个RPM包,install命令的语法为:
al/Mgo 9o5W\.A7[D rpm -i [install-options] package_file
%Z9&z mO rpm --install [install-options] package_file
.'N:]G@! ([SrIG> X 示例:
\^a(B{ t&}Z~Zp [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
"}
=RPc%9 package lynx-2.8.5-18 is already installed
2u9O+]EP [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
l?Vm/YXb --------------------------------------------------------------------------------
ap;?[B~Ga n+1!/H=d HYm
| 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
[mwJ* GJ- 81Ixs
Qt rpm -U [install-options] package_file
3SI:su rpm --upgrade [install-options] package_file
4g<F." h!.#r*vV 示例:
u"eO&Vc 8w1TX [b 先安装旧版
pa4,W!t [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
[P~6O>a5p "c5C0 pK0 再安装新版
ZI.;7G@| [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
ZS&>%G ETU.v*HT] 显示出新版本信息
{p3VHd# [root@localhost ~]# rpm -q lynx
0kC}qru' lynx-2.8.5-18
`q
= e<$ {6H%4n 说明:
GP=i6I6C -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
|m{Q_zAB 8 Z|c!QIU 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
4#hDt^N~ --------------------------------------------------------------------------------
_
nFsC \i1>/`F b^
wWg 刷新的语法是:
R-odc,P= @;>i3? rpm -F [install-options] package_file
0zH^yx:ma ybnq;0}$ rpm --freshen [install-options] package_file
5A| 4 w&&uk[Gh/a 示例:
*;^!FBT QY14N{]T\p 从未安装过lynx包,使用-F选项,将无法升级。
}{FKs!(4 <3?T^/8 [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
Ce&nMgd~ [root@localhost ~]# rpm -q lynx
o=/Cje package lynx is not installed
R}~p1=D --------------------------------------------------------------------------------
9J>b6 (EZ34,k'S &qR1fbw" 安装和更新选项为:
]LGp3)T- 85;hs --allfiles
Q
I!c= :u 安装或更新所有文件。
-anLp8G* BPf;!. --badreloc
6AS'MD%& 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
?l\1n,!:8 9iMQq40 --excludedocs
?Q$LIoR 不安装任何文档文件。
[s1Hd~$ >| d^ --excludepath path
+a'QHtg 不安装文件名以path开始的任何文件。
ZHPsGHA TTNgnP --force
a2:Tu 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
RX]x3- Zmx[u_NG -h,--hash
!: e0cV 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
dU!`aPL? 'vgO` --ignorearch
NF?FEUoxz 即使二进制包用于不同的体系结果也进行安装。
,p(4OZz5, w8~J5XS --ignoreos
g 4n&k 即使操作系统不匹配也安装二进制包。
F[aow$",+} b0\'JZ --ignoresize
B@ab[dm280 安装前不检查磁盘的可用空间。
&p?Oo^ H<$.AC\zn --includedocs
d<*4)MRN 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
qF9rY)ifm 7Pt*V@DHS --nodeps
j
s(E-d/ 不检查这个包是否依赖于其他包的存在。
Bjg 21bw^ 9&'I?D&8 --noorder
, N:'Z 安装之前,不为了满足依赖关系而对包进行重新排序。
apW0(&\ [V#"7O vl --noscripts
rWN#QL()* 不执行任何预安装或后安装脚本。
3YY<2< WIwbf |\ --notriggers
kvU0$1 不执行任何由包安装触发的脚本。
?$O5w* ~;ink --oldpackage
Ru%:
z>Y 允许升级以用旧包替换新包。
)g4oUZDF IBwquw+ --percent
0m5Q;|mH 当文件被解压时输出完成百分比的信息。
Z=: oIAe JCIm*6~ --prefix path
-Q@jL{Ue 把可重定位包的安装前缀设置为path。
`I$qMw,@ ;qI5GQ { --replacefiles
rT`D@
I 即使包替换了来自其他安装包的文件,也安装这些包。
#vO3*-hs #Id.MLHxA_ --replacepkgs
1SBc:!2 即使某些包已经被安装,也安装他们。
':,6s )k&pp^q\ --test
1fbd/-h 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
fgxsC7P$ 4'BzW Z;_a --------------------------------------------------------------------------------
`R@24 ) lY}mrb 39!o!_g 查询
^H+j;K{5, 0w >DU^+ query命令的语法为:
$,k SR} Q^Ln`zMe rpm -q[information-options] [package-options]
?`F")y rpm --query[information-options] [package-options]
&%pB; dk > qA5 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
$ql-"BB --------------------------------------------------------------------------------
=erA.u f{e*R#+& 7YbI|~ 以下简单示演示一下包查询:
TGLkwXOkT oWyg/{M 简单查询:
vg5zsR0u F~d
!Ub$> 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
Zn3iLAPBX QnxkD)f*0 示例:
bcpH|}[F) Fga9 [root@localhost ~]# rpm -q lynx
4~a0
lynx-2.8.5-18
Pyi PhOJe --------------------------------------------------------------------------------
*9^CgLF f/)3b`$Wu ^JtGT 信息查询:
>Z^7=5K"O c: *wev rpm -qi packagename命令可以得到安装包的汇总信息。
ZP)=2'RY dh/:H/k kR 示例:
,Ucb)8a [root@localhost ~]# rpm -qi lynx
HZQ I | Name : lynx Relocations: (not relocatable)
}jd[>zk Version : 2.8.5 Vendor: Red Hat, Inc.
pmCBe6n\l Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
i/xPO Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
HqgTu` Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
nGW
wXySq Size : 4837340 License: GPL
p!'wOThO` Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
z@y*
jT Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> $#4z>~0 URL :
http://lynx.isc.org/ "EpE!jh Summary : 一个基于文本的网页浏览器。
17D167\X Description :
}sy3Mrb Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
sSG]I%oB3 图像,但是它支持框架、表格、以及多数其它 HTML
:yT~.AK}>1 标签。Lynx 优于图形化浏览器的地方是它的速度――
;$i9gP[|m Links 能够快速启动、退出、及显示网页。
@
x*#7Y 标识拥有者
S=aXmz< --------------------------------------------------------------------------------
~Y)Au?d(a qe(X5?#; D .Cm& 找出什么包拥有文件file:
P[P!WLr"" j<deTK;. 示例:
b&~uK"O'7d %o4d43uZ [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
C`mXEX5 lynx-2.8.5-18
Tf@t.4\ --------------------------------------------------------------------------------
Q\=u2}/z0 *MagicA SATZ! 列表包中的文件:
=|3L'cDC MPzqw)_-v 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
3UC8iq* W\f7fVU 示例:
]VJcV.7` 4d] 此为部分显示结果
;JL@V}L, [root@localhost ~]# rpm -ql lynx
aDZLabRu /etc/lynx-site.cfg
mA^>Y_: /etc/lynx.cfg
y6*i/3 /etc/lynx.cfg.cs
^J%
w[FE /etc/lynx.cfg.ja
#UND'c(5 /etc/lynx.cfg.sk
7
oZ-D~3 /usr/bin/lynx
HTqik w5X /usr/share/doc/lynx-2.8.5
z5'VsK: /usr/share/doc/lynx-2.8.5/INSTALLATION
WgPL4D9= /usr/share/doc/lynx-2.8.5/README
5RLK]= /usr/share/doc/lynx-2.8.5/docs
Wq{' ZN /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
0[3b, /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
==FzkRA) /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
X_!mZ\H7 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
30H:x@='9 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
%\b5)p /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
6AQ;P /usr/share/doc/lynx-2.8.5/docs/CMU.announce
WZO#(eO` /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
iBUf1v /usr/share/doc/lynx-2.8.5/docs/FM.announce
T[Gz /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
609=o+ /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
}= <!j5: /usr/share/doc/lynx-2.8.5/docs/README.TRST
RTl7vzG /usr/share/doc/lynx-2.8.5/docs/README.chartrans
/asyj="N7 &H4UVI --------------------------------------------------------------------------------
0>e>G (4(8 P;_dilG }p- %~Y 列出包所提供的实际能力:
5R ec}H :m$%D]WY --provides选项的作用是列出这个包所提供的实际能力。
w@:o:yLS Y#t"..mc' 示例:
h,p&/oU4U 2! 6Kzq [root@localhost ~]# rpm -q --provides lynx
y mE`V config(lynx) = 2.8.5-18
#&8Opo( webclient
41uSr 1 lynx = 2.8.5-18
HdnSs0/ --------------------------------------------------------------------------------
c//W#V2Q *(k=!`4( mMjVbeh[ 列出这个包所倚赖的任何包:
LAwS8t', 57MoO -R,--requires选项的作用是列出这个包所依赖的任何包。
\U-5&,fP &YMVoyVD
示例:
Y-{spTI WI~%n
[root@localhost ~]# rpm -qR lynx
l|up3A3) /bin/sh
L+kS8D< config(lynx) = 2.8.5-18
r=[}7N indexhtml
9=}/t9k libc.so.6
&GZR-/ libc.so.6(GLIBC_2.0)
O~Fk0}- libc.so.6(GLIBC_2.1)
-"nYCF libc.so.6(GLIBC_2.2)
G7=8*@q>: libc.so.6(GLIBC_2.3)
a #0{tZd libcrypto.so.4
7r;A
wa libncursesw.so.5
'{u#:TTj libssl.so.4
v4.V%tg! libz.so.1
Q?;ntzi rpmlib(CompressedFileNames) <= 3.0.4-1
Qp?+_<{ rpmlib(PayloadFilesHavePrefix) <= 4.0-1
uA,{C%? --------------------------------------------------------------------------------
6FmgK"t8 $ta#]>{ ,Z^GN%Q7a 列出包中的配置文件
V9bLm,DtT }wb;ulN) -c,--configfiles选项的作用是列出包中的配置文件
ropiyT9; k %rP*b* 示例:
e/3hb)#; #3$|PM7,_ [root@localhost ~]# rpm -qc lynx
0`thND)?O /etc/lynx-site.cfg
_
o(h]G1]. /etc/lynx.cfg
#P@r[VZ{6 /etc/lynx.cfg.cs
;7A,'y4f /etc/lynx.cfg.ja
"O
'I /etc/lynx.cfg.sk
;C<A} --------------------------------------------------------------------------------
n)H0;25L )K6{_~Kc\ '[E_7$d 显示有关于包的改变信息的日志:
xr2:bu M*HG4(n0 --changllog选项的作用是显示有关于包的改变信息的日志。
!Ch ya e_;6UZ+ 示例:
igL^k`&5^" /Rz,2jfRx' 此为部分显示结果
6};oLnO [root@localhost ~]# rpm -q --changelog lynx
ou-;k
} * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
/W>"G1) - Removed perl dependencies (bug #127423).
7L6M#B[)e5 * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
?n+\T'f! - rebuilt
{XC rjO| * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
~>R)H#mP7 - No longer need lynx-284-ipv6-salen.patch.
[<;2 C - No longer need lynx2-8-2-telnet.patch.
`7A@\Ha3 * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
Ne EV!V8 - rebuilt
fpi6pcof * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
Q!{Dw:7 - Updated to dev16, fixing bug #110196.
lTP02|eK - No longer need crlf patch.
'W*F[U*&HP - Use shipped ja translations.
rY= #^S - Use %find_lang.
463dLEd - Default config file now sets UTF-8 (bug #110986).
k}.nH"AQ --------------------------------------------------------------------------------
B=r/(e [ub\DLl \nWpV7TSN 包选择选项
p'4P2 J_@4J7 package_name
M2S|$6t: 查询已安装包的package_name。
yw<xv-Q=i -tdG}Gu -a,--all
wp*1HnWj8Y 查询所有已安装拨。
( -@> 6hq)yUvo4 -f file,--file file
;p ('cwU% 找出什么包拥有文件file。
S@)bl XEEbmIO*<9 -g group,--group group
uSJP"Lw 找出什么包拥有组group。
mK-:laIL" 1%`:8 -p package_file
'7R'fhiO/3 查询未安装包package_file
eV0S:mit ]IV;>94[ --querybynumber num
O :^[4$~ 查询第num个数据库条目。主要用于调试。
O2dgdtm :bDA<B6bb -qf,--queryformat num
S/;Y4o 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
4vS!99v) >6 #\1/RP --specfile specfile
]Dg0@Y 查询specfile,就好象它是个包
bn35f<+ M(uB
;Te --triggeredby pkg
9 a%@j
] 列出触发安装pkg包的包。
<UdD@(iZ# ~S!kn1&O --whatrequires capability
BkfBFUDQ 列出要求特定能力来行使职责的包。
!e `=UZe1 _'U?! --whatprovides capability
E;H(jVZ 列出提供特定能力的包。
n #I}!x>2 --------------------------------------------------------------------------------
Kj
8 W f :5/y^M& ,?6m"ov4( 信息选择选项:
F`.7_D oZ[ w -c,--configfiles
QB,ad 列出包中的配置文件。
2v1&%x:y# -Wk"o?}q --changelog
V2%wb\_z 显示有关于包的改变信息的日志。
MlE~gCD h';v'"DoW` -d,--docfiles
e&4u^'+K 列出包中的文档文件。
CD[=z)<z{
G\ZRNb --dump
:q<%wLs 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
m4>oE|\ 以下列顺序输出信息:
^)l@7XxD path size mtime md5sum mode owner group isconfig isdoc rdev symlink
@|Bp'`j%J eE%yo3 --filebypkg
_|:bac8pL 列出每个包中的所有文件。
H>iZVE nV*sdSt -i
iQC&d_# 显示包的信息,包括名字,版本和描述。
*8H;KGe= #!,`EU -l,--list
p|V1Gh< 列出包中所有文件
ZMg9Qt >8O=^7 --last
Bqlc+d: 根据安装时间列出包,最新的包排第一位。
\Pmk`^T _Pi:TxY --provides
N|2 列出这个包所提供的实际能力。
B1#>$"_0}= 5)NBM7h -R,--requires
L6=RD<~C 列出这个包所依赖的任何包。
H)aC'M^ 0]W]#X4A -s,--state
VDjIs UUX 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
+/86w59 TcmZ0L^O --scripts
XPo'iI- 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
A;a(n\Sy bvS\P!m\c --------------------------------------------------------------------------------
'N ::MN 6FIoWG"x |0R%!v(, 卸载
6 Ok=q:; Yf)|ws?! uninstall命令的语法为:
[HiTR !o* <L
( = rpm -e package_name
y"L`bl A9} rpm --erase package_name
O[p^lr(B7 0+y~RTAVB 示例:
,bp pM ^_h7!=W [root@localhost ~]# rpm -e lynx
P^m 6di [root@localhost ~]# rpm -q lynx
L{%a4Ip package lynx is not installed
C|;Mhe'r= --------------------------------------------------------------------------------
FDs^S)B jTUf4&b- $RNUr
\9A 卸载选项为:
4yZ+,hqJ<9 l%U_iqL& --allmatches
%R*vSRG/U 删除包的所有版本。应该只指定一个包,否则会导致错误。
9Y@?xn.\ lF"(|n"R --nodeps
~nc([%!= 在卸载包之前不检查依赖性。
)'dH}3Ba -Dq:Y,%q --noscripts
q;0&idYC 不执行任何预卸载和后卸载脚本。
9f%y)[ \ O0(Q0Ko --notriggers
F@'rP++4 不执行任何由这个包的删除而出发的脚本。
RHl=$Hm.% v;}`?@G --test
[x p,& 不真正卸载任何包,仅仅查看活动过程。