Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
s9fEx-!y pK/RkA1 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
'[HU!8F GW%!?mJ 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
kb~ 9/)~g OGq=OW 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
!9j6l0 --------------------------------------------------------------------------------
4=& d{.E 4]Gm4zO F>%,}Y~B: 以下简要介绍RPM包的安装,删除和查询
aFh'KPhe <N=ow"rD RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
``kesz `H^
H#W rpm命令的格式为:
B>cx[.#! (@O,U rpm [options] [packages]
=Fq{#sC> gs~u8"B 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
u(ETc*D] zXwdU58 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
NxFCVqGb --------------------------------------------------------------------------------
]a:T]x6' QP@@h4J^ a"k,x-EL( RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
:U @L$ u =(.} 以下为rpm --showrc命令显示的节选:
Vu<mOuh *2YWvGc 示例:
cn9=wm\\ CKU)wJ5t 此为部分显示结果
GB6(WAmr [root@localhost ~]# rpm --showrc
.Lm`v0'w ARCHITECTURE AND OS:
;b_<5S build arch : i386
V9`jq$ compatible build archs: athlon i686 i586 i486 i386 noarch
5?E;YyA build os : Linux
Bf W@f compatible build os's : linux
KkR.p,/ install arch : athlon
qJXfc||Zg install os : Linux
+]Z*_?j9{ compatible archs : athlon i686 i586 i486 i386 noarch
hm1.UE compatible os's : linux
owO&[D/ RPMRC VALUES:
T7M];@q 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
SNH AL F optflags : %{__global_cflags} -m32 -march=athlon
X:
Be' Features supported by rpmlib:
8,B#W#*{ rpmlib(VersionedDependencies) = 3.0.3-1
M%Q_;\?] PreReq:, Provides:, and Obsoletes: dependencies support versions.
2nSz0 . rpmlib(CompressedFileNames) = 3.0.4-1
:1#$p file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
Jb8%A@Z+ rpmlib(PayloadIsBzip2) = 3.0.5-1
>R\!Qk package payload can be compressed using bzip2.
op_
1J;RF --------------------------------------------------------------------------------
z7Z!wIzJ sWP_fb1 U(<~("ocN rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
h>/L4j*Z id/y_ekfP 示例:
w4UJXc 01+TVWKX [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
m2F+6G Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
W{kTM4 Preparing... ########################################### [100%]
9['>$ON 1:lynx ########################################### [100%]
y*I,i*iv --------------------------------------------------------------------------------
2(Nf$?U@0 F Zk[w>{ m khp@^5 以下列出一些通用选项(可以用于所有模式):
}y%mG&KSz $oi8<8Y --dbpath path
@8SA^u0 用path作为RPM数据库的路径。
YUlH5rO3 Lo +H&- --ftpport prot
W!a'KI' 用port作为FTP端口。
Pm|S>r 0-Wv$o[ --ftpproxy host
!LpFK0rw 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
U+@rLQ.- %D+NrL( --help
FF30VlJ 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
^=w){]G } DkdF --justdb
^
}|$_ 只更新数据库;不改变任何文件。
twql)lbx EB5^eNdL --pipe command
s&-dLkis{u 用管道把rpm输出到commond。
G}'\ )AAPT7!U --quiet
5Yx
7Q:D 仅显示错误信息。
{Ytqs(`
oD%B'{Zs4 --rcfile filename
kBrU%[0O 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
/6#i$\ j b!z=: --root dir
u%nhQ% 在dir目录内执行所有操作。
C.hRL4+;Zm qmbhx9V --version
}9Awv#+ 输出rpm版本号。
_z&H O e|.a%,Dcy -vv
PKt;]T0 输出调试信息。
Yr 1k\q 8Y~\:3&1< --------------------------------------------------------------------------------
V(6Ql
j7 #80r?,q Qy|6A@ 安装升级和刷新
?xzDz p~Mw^SN' 安装或升级一个RPM包,install命令的语法为:
5m
rkw \Oa11c`6 rpm -i [install-options] package_file
8,?*eYNjb rpm --install [install-options] package_file
6G?7>M w(R+p/RF 示例:
L7$1 rO< O|0} m [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
X5o{d4R L package lynx-2.8.5-18 is already installed
1IZTo!xi [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
@s~*>k#"# --------------------------------------------------------------------------------
OG2&=~hOz- _t\)W(E& @i@f@.t 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
_l&.<nz Ct9*T`Gl rpm -U [install-options] package_file
D?
FWSv rpm --upgrade [install-options] package_file
t3;QF lxOUV? m^N 示例:
-^= JKd&p z irnur1 先安装旧版
')~[J$qz [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
]Kp -2KW D>"!7+t|@a 再安装新版
'Rw*WK [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
M0"}>`1lJ Y .\<P*iO 显示出新版本信息
>&uR=Yd [root@localhost ~]# rpm -q lynx
1_G5uHO lynx-2.8.5-18
<5sP%Fs ) >Mk#19j[/ 说明:
ny[\yj4F -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
5:X^Q.f; g9:V00^< 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
}n$I #G}\/ --------------------------------------------------------------------------------
bDM;7fFp$ F48W8'un #F6!x3Z 刷新的语法是:
XFWo"%}w hwd{^ rpm -F [install-options] package_file
</)QCl' d h&:6S rpm --freshen [install-options] package_file
3d*wZ9qz gatxvR7H 示例:
wTPHc:2 ;$rh&ET 从未安装过lynx包,使用-F选项,将无法升级。
H0Ck%5
tz`T#9 [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
ETtoY<`# [root@localhost ~]# rpm -q lynx
G;v3kGn package lynx is not installed
L s(l --------------------------------------------------------------------------------
v!%VH?cA8 vy1N,8a @1iH4RE* 安装和更新选项为:
P_%kYcX' 9:]|TIPi --allfiles
%Y<3v\`_ 安装或更新所有文件。
*K2fp=Ns ^?o> (K --badreloc
yc3i> w` 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
PBp+(o- 3[}w#n1 --excludedocs
:ej`]yK | 不安装任何文档文件。
,ku3;58O< /faP@Q3kR --excludepath path
WTQd}f 不安装文件名以path开始的任何文件。
5qQ\ H} A6%~+9 --force
l\1_v7s 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
!DNk!]| Q'K[?W|C -h,--hash
]8ob`F`m, 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
b<"LUM*; `Uy'YfYF --ignorearch
(G`O[JF 即使二进制包用于不同的体系结果也进行安装。
_/)HAw?k OysO55 i --ignoreos
cux<7#6af 即使操作系统不匹配也安装二进制包。
1n|K %8~g#Z --ignoresize
+a!uS0fIJi 安装前不检查磁盘的可用空间。
|FH|l#bu> mUjM5ceAXO --includedocs
d2[R{eNX= 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
Tl`HFZQ1 h\PybSW4s --nodeps
Q<d|OX 不检查这个包是否依赖于其他包的存在。
lko
k2 #>\%7b59> --noorder
1QJB4|5R# 安装之前,不为了满足依赖关系而对包进行重新排序。
tA]Y=U+Q d0 qc%.s --noscripts
UJhUb)}^ 不执行任何预安装或后安装脚本。
<A@qN95m Spt;m0W90 --notriggers
19 <Lgr 不执行任何由包安装触发的脚本。
[3fmhc LQ3J$N --oldpackage
<^Sp4J 允许升级以用旧包替换新包。
dPCn6
_)=eE --percent
gzeTBlXg 当文件被解压时输出完成百分比的信息。
ua]?D2 ' --prefix path
~#y( ]Xec2 把可重定位包的安装前缀设置为path。
$61j_;WF` e<1)KqG --replacefiles
%Tm8sQ)1 即使包替换了来自其他安装包的文件,也安装这些包。
#AUV&pI[ kH }HFl --replacepkgs
U t'r^ 即使某些包已经被安装,也安装他们。
&NB"[Mm:@ d<+@cf_9 --test
68,(+vkB 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
]0@
06G(y Xw |6
#^ --------------------------------------------------------------------------------
%% A==_b UTph(U# 9 Z79 查询
odNHyJS0 *Ph@XkhU query命令的语法为:
<`WtP+` O)?
rpm -q[information-options] [package-options]
MMS#Ci=Lj rpm --query[information-options] [package-options]
F vae lB g&`[r6B 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
bc(b1u? --------------------------------------------------------------------------------
I4%25=0? nMU[S+ `;H3['~$ 以下简单示演示一下包查询:
<9yB& ^ hsZ}FLStJ 简单查询:
jO6yZt -VP da @@w 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
vQhi2J' ^dCSk== 示例:
;/|3U7{c 3E]IEf [root@localhost ~]# rpm -q lynx
):pFI/iC lynx-2.8.5-18
R'1L%srTM+ --------------------------------------------------------------------------------
|?Bb{Es #uillSV to"[r 信息查询:
$mZpX:7/u8 vB;$AFh{ rpm -qi packagename命令可以得到安装包的汇总信息。
hD!9[Gb T^XU5qgN 示例:
BLQD=?Q [root@localhost ~]# rpm -qi lynx
^":Dk5gl Name : lynx Relocations: (not relocatable)
2i_X{!0} Version : 2.8.5 Vendor: Red Hat, Inc.
Sw^-@w=!U5 Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
;1[Lwnm
Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
Oxq} dX7S Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
8w]>SEGFs Size : 4837340 License: GPL
sksop4gu5 Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
r]'Q5l4j6" Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> 2B=''W URL :
http://lynx.isc.org/ iz pFl@WS Summary : 一个基于文本的网页浏览器。
PZsq9;P$ Description :
RFzMah?Q=j Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
UZ}>@0 图像,但是它支持框架、表格、以及多数其它 HTML
x.-d>8-!]c 标签。Lynx 优于图形化浏览器的地方是它的速度――
)}i;OLw- Links 能够快速启动、退出、及显示网页。
n`af2I2 标识拥有者
5xF R7%_& --------------------------------------------------------------------------------
cgvD>VUw k9iXVYQ.;r $bi@,&t; 找出什么包拥有文件file:
{po f=G 6ISDY>p 示例:
</B5^} YMEI
J} [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
jQ[M4)>_k` lynx-2.8.5-18
oy!Dm4F --------------------------------------------------------------------------------
RIQw+RG> |~I- =-GHs$u%f 列表包中的文件:
Ap[}[:U ;\gsd'i 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
7/$s!pV 61^5QHur 示例:
d3| oKP6 >HH49cCo 此为部分显示结果
Q4JvFy0' [root@localhost ~]# rpm -ql lynx
rtM!|apr /etc/lynx-site.cfg
{Z=m5Dy} /etc/lynx.cfg
Qy+&N*k> /etc/lynx.cfg.cs
6W abw: /etc/lynx.cfg.ja
Sn lKPd /etc/lynx.cfg.sk
@^';[P! /usr/bin/lynx
F]SA1ry /usr/share/doc/lynx-2.8.5
`/z6Q" /usr/share/doc/lynx-2.8.5/INSTALLATION
7>`VZ? /usr/share/doc/lynx-2.8.5/README
dq{wFI) /usr/share/doc/lynx-2.8.5/docs
<Y9xHn& /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
!7O!)WJ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
]O\Oj6C /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
2"~QI xY= /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
-^sbf. /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
u{o!#_o64 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
dw
v(8 /usr/share/doc/lynx-2.8.5/docs/CMU.announce
!L#>wlX) /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
x1}7c9nK /usr/share/doc/lynx-2.8.5/docs/FM.announce
-K_p?
l /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
.kO;9z\B /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
E .kjYIH8 /usr/share/doc/lynx-2.8.5/docs/README.TRST
=nYd|Ok /usr/share/doc/lynx-2.8.5/docs/README.chartrans
?1?zmaS K;u<-?En --------------------------------------------------------------------------------
Y70[Nz Qw ukhD7 ZgcJxWC< 列出包所提供的实际能力:
Qv%"iSe~J ]S6`",+)<f --provides选项的作用是列出这个包所提供的实际能力。
AAr[xoiYp 5;5DEMe 示例:
>h0iq cVt
MCgx [root@localhost ~]# rpm -q --provides lynx
3K/32Wi config(lynx) = 2.8.5-18
o
26R] webclient
nl)!)t=n lynx = 2.8.5-18
cViEvS r --------------------------------------------------------------------------------
9U_uw
Rv2 S0\;FmLIc w(QU '4~ 列出这个包所倚赖的任何包:
fAu^eS%>7 TX96
^EoH -R,--requires选项的作用是列出这个包所依赖的任何包。
G k9Y{ 3iHUG^sLW 示例:
Tl^9!>\Q ymdZ#I- [root@localhost ~]# rpm -qR lynx
SO#NWa<0| /bin/sh
i(^&ZmG config(lynx) = 2.8.5-18
ad "yo=%1 indexhtml
4L RrrW libc.so.6
&@O]' libc.so.6(GLIBC_2.0)
QkXnXu libc.so.6(GLIBC_2.1)
H uPw?8w= libc.so.6(GLIBC_2.2)
j~(s3pSCo libc.so.6(GLIBC_2.3)
.5ap9li] libcrypto.so.4
*{qW7x.6h libncursesw.so.5
o5 UM)g libssl.so.4
0j^QY6 libz.so.1
]d$:R`; rpmlib(CompressedFileNames) <= 3.0.4-1
?MT
V!i0 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
>+iJ(jqq --------------------------------------------------------------------------------
>hkmL](^ $4^cbk '?Mt*%J@=$ 列出包中的配置文件
V
_(L/6 3;@/`Z_\lt -c,--configfiles选项的作用是列出包中的配置文件
UEZnd8 cFcn61x- 示例:
{sn RS)- R?)M#^"W [root@localhost ~]# rpm -qc lynx
EZy:_xjZ /etc/lynx-site.cfg
l<5@a
( /etc/lynx.cfg
Arg604V3 /etc/lynx.cfg.cs
,(H`E?m1w4 /etc/lynx.cfg.ja
;JM%O8 /etc/lynx.cfg.sk
/5qeNjI+2 --------------------------------------------------------------------------------
E+LAE/v@ ^I =W< )-D{]>8 显示有关于包的改变信息的日志:
r5U[jwP E8_j?X1 --changllog选项的作用是显示有关于包的改变信息的日志。
P9Yee!*H !S0$W?* 示例:
HeV6= bXSsN\:Y@[ 此为部分显示结果
97/"5i9 [root@localhost ~]# rpm -q --changelog lynx
c/:d$o- * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
'Z(KE2&? - Removed perl dependencies (bug #127423).
8|Wu8z-- * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
cK()_RB# - rebuilt
:{:R5d(_I * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
m<7Ax> - No longer need lynx-284-ipv6-salen.patch.
ZDMv8BP7 - No longer need lynx2-8-2-telnet.patch.
e70#"~gt[ * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
9|kc$+(+6 - rebuilt
o!nw/7| * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
5k%GjT - Updated to dev16, fixing bug #110196.
~.FeLWP - No longer need crlf patch.
YkOl@l$D - Use shipped ja translations.
K]~! =j)v - Use %find_lang.
vBFMne1h - Default config file now sets UTF-8 (bug #110986).
<1t.f}}uX --------------------------------------------------------------------------------
vy:-a G }XOTK^YA $&fP%p 包选择选项
|hx"yy'ux Alo;kt@x package_name
cSbyVC[r 查询已安装包的package_name。
@u@N&{b5" c(@(j8@S -a,--all
@fI1|v=eF 查询所有已安装拨。
prIPPeMdz I_?+;<n -f file,--file file
U?@ s`. 找出什么包拥有文件file。
$-J0ou8~ 71S~*"O0f -g group,--group group
^bD)Tg5K 找出什么包拥有组group。
UyFvj4SU hSl6X3W -p package_file
2F}D?]A 查询未安装包package_file
VVd9VGvh ?*{Vn5aX{ --querybynumber num
"YC5viX 查询第num个数据库条目。主要用于调试。
r$8(Q' g!QX#_~Il -qf,--queryformat num
g-C)y
06 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
",v!geMvu #<$pl]>}t --specfile specfile
**,(>4j 查询specfile,就好象它是个包
GbXa=*
<-< %@,%A_So k --triggeredby pkg
u5'jIqlU 列出触发安装pkg包的包。
[=EmDP:@ qS9z0HLE --whatrequires capability
G5oBe6\C 列出要求特定能力来行使职责的包。
F
`4a0~? r(ZMZ^ --whatprovides capability
\kR:GZ`{UV 列出提供特定能力的包。
j7XUFA --------------------------------------------------------------------------------
FQlYCb J4) ?hS )yTBtYw3 信息选择选项:
*3!#W|#=]N 2Wx~+@1y -c,--configfiles
x/d(" Bb 列出包中的配置文件。
-d*zgP 7l+:gD --changelog
WV8vDv1jt 显示有关于包的改变信息的日志。
DtFzT>$^F b(HbwOt~3 -d,--docfiles
g7l?/p[n 列出包中的文档文件。
"y7IH
GJ\3 Zk+c9, q --dump
}m -A #4. 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
q; ?Kmk 以下列顺序输出信息:
olxnQYFo path size mtime md5sum mode owner group isconfig isdoc rdev symlink
7Eo;TNbb <*3#nA-O>i --filebypkg
mHB0eB'l 列出每个包中的所有文件。
=M],5<2; jU}iQM -i
Gl6M(<f\5 显示包的信息,包括名字,版本和描述。
haSC[[o= dcH@$D@~S -l,--list
#zed8I:w 列出包中所有文件
-}CMNh C@P*:L_ --last
ukDaX 根据安装时间列出包,最新的包排第一位。
\Gm\sy DyCnL@ --provides
:>*0./hG 列出这个包所提供的实际能力。
2DXV~> F T$x#> -R,--requires
.FeVbZW 列出这个包所依赖的任何包。
"KKw\i j2`%sBo -s,--state
V'8Rz#Gc5 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
r!&}4lHYi % pQi}x --scripts
c2Yrg@) [ 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
9CFh'>}$ .YlhK=d4 --------------------------------------------------------------------------------
nU,~*Us 0]Qk *u< h1+y.4
卸载
:I(d-,C #:xv]qb`k uninstall命令的语法为:
b#W(&b^q Y<;KKD5P'j rpm -e package_name
=3EE-%eF! rpm --erase package_name
B&"c:)1
C2 *:Uq
;)* 示例:
j_0xE;g"] Wg=q lux- [root@localhost ~]# rpm -e lynx
YM&i [root@localhost ~]# rpm -q lynx
u+m9DNPF package lynx is not installed
@;7Ht Z` --------------------------------------------------------------------------------
8<=]4- X@ fbW<c`L H |F49<7XB[~ 卸载选项为:
jP\5bg-} U"535<mR --allmatches
`RyH~4\; 删除包的所有版本。应该只指定一个包,否则会导致错误。
*YP:- I_is3y0 --nodeps
Bej k^V~ 在卸载包之前不检查依赖性。
c!a1@G nq:'jdY5| --noscripts
"h:#'y$V 不执行任何预卸载和后卸载脚本。
g(l:>=g]? `k-|G2 --notriggers
5s:g(gy3BR 不执行任何由这个包的删除而出发的脚本。
vlo!D9zsV3 qT^0
%O: --test
J@qwz[d i 不真正卸载任何包,仅仅查看活动过程。