Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
Hm>M}MF3 t%
-"h| 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
.?L&k|wX- .eg?FB'7 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
d|^cKLu uSeRn@ 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
h]wahExYP --------------------------------------------------------------------------------
]SqLF!S(= {XT3M{`rWL &n_aMZ; 以下简要介绍RPM包的安装,删除和查询
-^C't_Q o 6TN!63{Cz RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
^BDM' a
J%&Y5L rpm命令的格式为:
%?GLMf7) RoV^sbWFt rpm [options] [packages]
-dCM
eC k<aKT?Ek> 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
y\=(;]S' V'kCd4 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
^hG
Y,\K9 --------------------------------------------------------------------------------
_0~WT ]}KoW?M aR3R,6ec RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
av-l_iE {s=n "*Qp) 以下为rpm --showrc命令显示的节选:
s:_M+_7_ 6`/nA4S4. 示例:
E5-f{Qc 4NY00d/R 此为部分显示结果
vx:MLmZ. [root@localhost ~]# rpm --showrc
'z'q)vcr ARCHITECTURE AND OS:
$$UMc-Pq build arch : i386
Who7{|M\' compatible build archs: athlon i686 i586 i486 i386 noarch
jwm2ZJW build os : Linux
28 h3Ayw4 compatible build os's : linux
XS$5TNI install arch : athlon
U>0' K3_ install os : Linux
80PlbUBb! compatible archs : athlon i686 i586 i486 i386 noarch
tVSURYA8 compatible os's : linux
:)!X%2_ RPMRC VALUES:
yZ
{H 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
Ee& A5~ optflags : %{__global_cflags} -m32 -march=athlon
/ v";u) Features supported by rpmlib:
ls5s}X rpmlib(VersionedDependencies) = 3.0.3-1
L0v& m PreReq:, Provides:, and Obsoletes: dependencies support versions.
\,:3bY_d rpmlib(CompressedFileNames) = 3.0.4-1
^%)H; file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
r?{$k3Vl rpmlib(PayloadIsBzip2) = 3.0.5-1
tc go
'V package payload can be compressed using bzip2.
$U,`M" --------------------------------------------------------------------------------
8vzjPWu eY3l^Su1 3|$>2IRq rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
%9|}H [x ',?9\xEB 示例:
Q
o}&2m e-$U .cx [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
%+PWcCmn Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
J.
]~J|K Preparing... ########################################### [100%]
:K%{?y 1:lynx ########################################### [100%]
9fk@C /$ --------------------------------------------------------------------------------
#[.vfG 'qGKS:8 Y2&>;ym! 以下列出一些通用选项(可以用于所有模式):
czMu<@c [ bFivHms --dbpath path
8.Q;o+NU 用path作为RPM数据库的路径。
R5`"~qP- "qEi$a&] --ftpport prot
zdDn.
vG 用port作为FTP端口。
aq~g54 ]= 2wQ8 --ftpproxy host
;]ojfR=?% 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
"=cWcztiP SU0K#: --help
LnQm2uF 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
B{fPj9Y0 l djypEa} --justdb
T [mo
PD5 只更新数据库;不改变任何文件。
!PN;XZ~{ *? /9lAm --pipe command
^i3~i?\,P 用管道把rpm输出到commond。
K".\QF,: GF6c6TXF@ --quiet
2?3D`
` 仅显示错误信息。
;^5d^-T .&:GOD --rcfile filename
GA19=gow 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
bM]\mo>z< @(XX68 --root dir
&Gp~)% 在dir目录内执行所有操作。
x+j5vzhG) W"9?D --version
!V~`e9[rl 输出rpm版本号。
al/3$0#U Vp = -vv
1}#(4tw) 输出调试信息。
>>lT-w hg}Rh --------------------------------------------------------------------------------
:e-&,K EleK*l jM%qv 安装升级和刷新
"j+zd&*={ K`!q1g` 安装或升级一个RPM包,install命令的语法为:
!^Mk5E ( I!(.tu6u6c rpm -i [install-options] package_file
#q{i<E 07 rpm --install [install-options] package_file
Dp:u!tdbeg =}S*]Me5 示例:
O.7Q*^_ neQ2k=ao [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
rbP"
n)0= package lynx-2.8.5-18 is already installed
IY@) [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
j%%l$i~ --------------------------------------------------------------------------------
3L24|-GxH &5&C
)^+v*=Dc-i 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
'}a[9v76 ebk{p< rpm -U [install-options] package_file
ny:c&XS rpm --upgrade [install-options] package_file
Lp\89tB> &]VCZQL 示例:
fMjn8. 3z Jbb3e 先安装旧版
ZN)a}\] [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
%G9:M;|' =>ooB/ 再安装新版
F(E3U'G [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
r!eCfV7 D:Zpls. 显示出新版本信息
TGxspmY6 [root@localhost ~]# rpm -q lynx
^H'zS3S lynx-2.8.5-18
Ro+/=*ql~ |]7z 说明:
sY?pp
'}a -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
`r"euO
r\ 846j<fE 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
c nAwoTt4 --------------------------------------------------------------------------------
'U<-w$!f+^ {;4AdZk ^FSUK 刷新的语法是:
]JQk,<l5E Zf<M14iM rpm -F [install-options] package_file
wAE,mw m
ys5B} rpm --freshen [install-options] package_file
=re1xR!E5 Y$3H$F.+ 示例:
mq$mB1$3u CFJ F}aW 从未安装过lynx包,使用-F选项,将无法升级。
zn5 x1)G!i [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
4kO[|~# [root@localhost ~]# rpm -q lynx
oD,f5Ci- package lynx is not installed
A3%s5`vNvH --------------------------------------------------------------------------------
>'#G$f $rf4h]&< aK'`yuN 安装和更新选项为:
]E90q/s@c 84[T!cDk --allfiles
T2#
W=P 安装或更新所有文件。
%-@`| Wt+aW --badreloc
Yck(Fl 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
YIA}F1: wC@5[e$ --excludedocs
bu"R2~sb 不安装任何文档文件。
+r)'?zU W(9fCDO; --excludepath path
ToIvyeFr 不安装文件名以path开始的任何文件。
a
pqzf $3](6 --force
?4=8z8((! 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
D%cWw0Oq ouKID_' -h,--hash
HxJKS*H; 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
qPdNI1 | -X(%K6{ --ignorearch
c_xtwdkL9 即使二进制包用于不同的体系结果也进行安装。
=?UCtYN,P ~~]/<d --ignoreos
GDC`\cy 即使操作系统不匹配也安装二进制包。
WAiEINQ^) 42LlR
0 --ignoresize
VAf~,T]Ww 安装前不检查磁盘的可用空间。
l)E
\mo
8 bL5z%bV --includedocs
Sv.z9@S 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
:bMCmY "iE9X.6NMu --nodeps
-bSe=09;S| 不检查这个包是否依赖于其他包的存在。
tYyva 2X2,(D! --noorder
GP ;c$pC 安装之前,不为了满足依赖关系而对包进行重新排序。
\sFdp!M}2 QLo^6S5! --noscripts
W5*%n]s~ 不执行任何预安装或后安装脚本。
kNfqdCF{P k{n*[)m --notriggers
pRmnS;*z& 不执行任何由包安装触发的脚本。
j[YzBXd
V Kg&{
?& --oldpackage
y|b|_eE?{ 允许升级以用旧包替换新包。
B+|E|8" p8y_uNQE --percent
/zn|?Y[ 当文件被解压时输出完成百分比的信息。
J=>?D@K eSXt"t --prefix path
I,Q"<?& 把可重定位包的安装前缀设置为path。
>L/Rf8j & !o &+ --replacefiles
9"R]"v3BA 即使包替换了来自其他安装包的文件,也安装这些包。
O!='U!X@P xbrxh-gV --replacepkgs
Ay<'Z6` 即使某些包已经被安装,也安装他们。
m`
cw: dC@aQi6{6 --test
9Qp39(l: 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
O
z%K* .z+?b8Q\ --------------------------------------------------------------------------------
?_ [xpK() zLXmjrC %JDG aG' 查询
CFqoD l =nOV!!
query命令的语法为:
:7p0JGd TCp!4-~, rpm -q[information-options] [package-options]
49}yw3- rpm --query[information-options] [package-options]
"s2?cQv{# i^sK+v 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
zvL&V
.> --------------------------------------------------------------------------------
~\/>b}^uf' 0CI?[R\ }gyJaMA 以下简单示演示一下包查询:
VB*N;bM^ z
h0 m3|9O 简单查询:
?GU/Rf!H# 4NbX!"0 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
t$r^'ZN XETY)<g 示例:
)H$Ik)/N sj2v*tFb [root@localhost ~]# rpm -q lynx
l.1)%q&@^ lynx-2.8.5-18
@``kt*+K+ --------------------------------------------------------------------------------
+Uq9C-Iu g~.,-V} Y5=~>*e 信息查询:
MQE=8\
,T"pUe VJ rpm -qi packagename命令可以得到安装包的汇总信息。
]P$8# HiX 'Z'X`_ 示例:
oT&JQ,i[2Q [root@localhost ~]# rpm -qi lynx
#})Oz| c Name : lynx Relocations: (not relocatable)
$-"AMZ899 Version : 2.8.5 Vendor: Red Hat, Inc.
I*@\pc} Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
HKq 2X4J$ Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
@8Drhx Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
(p`'Okw Size : 4837340 License: GPL
C=@BkneQ Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
zy4AFW Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> E!Hq%L!/ URL :
http://lynx.isc.org/ xq=+M!V Summary : 一个基于文本的网页浏览器。
F/ 2@%,2n Description :
Km]N scq1 Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
JWy$` "{ 图像,但是它支持框架、表格、以及多数其它 HTML
1O45M/5\o 标签。Lynx 优于图形化浏览器的地方是它的速度――
I!jSAc{ Links 能够快速启动、退出、及显示网页。
M! gX4 标识拥有者
mc|T}B --------------------------------------------------------------------------------
x+|Fw d PqPLy Q l%7wrK 找出什么包拥有文件file:
F^_d8=67h /V~L:0% 示例:
P~_CDh.N H#k"[eZ [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
9 f-T>} lynx-2.8.5-18
swG^L$r` --------------------------------------------------------------------------------
xj{X#[q): J[YA1 v6oPAqj,r 列表包中的文件:
riZFcVsB G6JyAC9j 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
VbM5]UT/ /}2
bsiJT 示例:
0NfO|l7P )]J I Q"rR 此为部分显示结果
5h1!E [root@localhost ~]# rpm -ql lynx
Y:^ =jV7 /etc/lynx-site.cfg
!W^2?pqN /etc/lynx.cfg
_4o2AS : j /etc/lynx.cfg.cs
2F!K
}aw /etc/lynx.cfg.ja
cAyR)Y!I /etc/lynx.cfg.sk
uByF*}d1 /usr/bin/lynx
vIU+ZdBw /usr/share/doc/lynx-2.8.5
tA#X@HIE /usr/share/doc/lynx-2.8.5/INSTALLATION
p$f#W /usr/share/doc/lynx-2.8.5/README
(J.(Fl>^ /usr/share/doc/lynx-2.8.5/docs
#lltXqvD? /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
;VK;_d /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
vc6UA%/f /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
tt[P{mMQ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
98Srn63O /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
h |=^@F_\` /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
HCHP15otfe /usr/share/doc/lynx-2.8.5/docs/CMU.announce
E}k#-+u<S4 /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
eN/sW!:P| /usr/share/doc/lynx-2.8.5/docs/FM.announce
sl6p/\_w /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
{,IWjt &> /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
<ofXNv;` /usr/share/doc/lynx-2.8.5/docs/README.TRST
X$/3 /usr/share/doc/lynx-2.8.5/docs/README.chartrans
\q3H#1A
tyP-J4J --------------------------------------------------------------------------------
f*XF"@ZQV z$7YC49^ edGV[=]F 列出包所提供的实际能力:
TzPx4L6? j`,;J[Zd`h --provides选项的作用是列出这个包所提供的实际能力。
Hxb{bF ;T#t)oV 示例:
k%hD<_:p E|97zc [root@localhost ~]# rpm -q --provides lynx
P|h<|Gcp config(lynx) = 2.8.5-18
OOl{ webclient
Da-F(^E lynx = 2.8.5-18
kUP[&/Lc --------------------------------------------------------------------------------
m6 hA,li >-X&/i ?jqZeO#W7 列出这个包所倚赖的任何包:
ivoPl~)J ~e{2Y% -R,--requires选项的作用是列出这个包所依赖的任何包。
*!Am6\+ <$?:| 示例:
-mY90]g {!N4| [root@localhost ~]# rpm -qR lynx
&=H M}h /bin/sh
#cdLg-v config(lynx) = 2.8.5-18
d.2b7q09 indexhtml
)V@qH] libc.so.6
'0t j2 libc.so.6(GLIBC_2.0)
ATnD~iACY libc.so.6(GLIBC_2.1)
Jk{>*jYk` libc.so.6(GLIBC_2.2)
3BY/&'oX libc.so.6(GLIBC_2.3)
q/;mxq$ libcrypto.so.4
v[Q)cqj/ libncursesw.so.5
/2FX"I[0V% libssl.so.4
*D AgcB libz.so.1
]VwAHT&je rpmlib(CompressedFileNames) <= 3.0.4-1
`b\4h/~ rpmlib(PayloadFilesHavePrefix) <= 4.0-1
^iV@NVP --------------------------------------------------------------------------------
z7<^aS N->;q^ 'Fonn 列出包中的配置文件
%i.|bIhmm WZm^:, -c,--configfiles选项的作用是列出包中的配置文件
#jZ:Ex ~B=\![ 示例:
2~ 'Q#( #m$H'O[WG\ [root@localhost ~]# rpm -qc lynx
xje{kx# /etc/lynx-site.cfg
yLDHJ}R /etc/lynx.cfg
,7j`5iq[m /etc/lynx.cfg.cs
cU{LyZp /etc/lynx.cfg.ja
3M@>kIT8 /etc/lynx.cfg.sk
+uT=Wb \ --------------------------------------------------------------------------------
@W.`'b- :+R5"my dt5gQ9(B 显示有关于包的改变信息的日志:
wSAm[.1i Xrz0ch --changllog选项的作用是显示有关于包的改变信息的日志。
R=e`QMq Q'8v!/"}p{ 示例:
?-i|f_` c<H4rB 此为部分显示结果
&1Y+q] [root@localhost ~]# rpm -q --changelog lynx
\]9;c6( * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
#5H@/o8!s= - Removed perl dependencies (bug #127423).
EXBfzK)a * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
~(Tz < - rebuilt
S;t~"87v* * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
+?.,pq n<= - No longer need lynx-284-ipv6-salen.patch.
3R{-\ZMd - No longer need lynx2-8-2-telnet.patch.
;zCHEz * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
TuF:m"4 - rebuilt
B"qG-ci * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
`2@-'/$\I| - Updated to dev16, fixing bug #110196.
mD=?C - No longer need crlf patch.
t&&OhHK - Use shipped ja translations.
B}M J?uvA - Use %find_lang.
sRMzU - Default config file now sets UTF-8 (bug #110986).
TgUQD(d^ --------------------------------------------------------------------------------
FdSa Ood8 lp9<j1Wl 5G!X4%a 包选择选项
\O0fo^+U,, r[,KE.^6~# package_name
@"~\[z5 查询已安装包的package_name。
G`
8j ^H, r]E$uq
bR -a,--all
c3}}cFe 查询所有已安装拨。
w1}[lq@ )F~_KD)7jJ -f file,--file file
|.S;z"v![ 找出什么包拥有文件file。
[%@zH cr/|dc' -g group,--group group
H 0h 找出什么包拥有组group。
6
%=BYDF JxvwquI -p package_file
=3T?U_u@ 查询未安装包package_file
}+lxja]C Q0--.Q=:Y --querybynumber num
~FsUK;? 查询第num个数据库条目。主要用于调试。
k N^)6 B.WJ6.DkS -qf,--queryformat num
y H'\<bT 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
;CvGIp&y Wp]EaYt2D --specfile specfile
g|zK%tR_P 查询specfile,就好象它是个包
c[YjGx zm"\D
vN) --triggeredby pkg
J{Ay( 列出触发安装pkg包的包。
Cn55%: [x)e6p) --whatrequires capability
OMZT\$9yT 列出要求特定能力来行使职责的包。
3K{8sFDO P$QjDu- --whatprovides capability
x3P@AC$\ 列出提供特定能力的包。
_kd |:, --------------------------------------------------------------------------------
HUghl2L.< l<HRD C:K\-P9 信息选择选项:
N:<O Y]lqtre*Y -c,--configfiles
D=\|teA& 列出包中的配置文件。
(LfVa`<1 ep?0@5D}] --changelog
j{^(TE 显示有关于包的改变信息的日志。
s/^k;qw kmoJ`W} N -d,--docfiles
Z])_E6. 列出包中的文档文件。
n,F00YR Chua>p!$g --dump
O)Qz$ 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
@(
t:E`8 以下列顺序输出信息:
z(WpOD path size mtime md5sum mode owner group isconfig isdoc rdev symlink
yRYWx` G s]N-n?'G" --filebypkg
j[fQs,efK 列出每个包中的所有文件。
LnDj QdTe!f| -i
AH`15k_i 显示包的信息,包括名字,版本和描述。
</X"*G't .#@D n( -l,--list
m\f_u* 列出包中所有文件
(*ng$zZ$ V\ "5<>+O --last
[!le 9aNg 根据安装时间列出包,最新的包排第一位。
jE#8&P~ CwvNxH#LVu --provides
/RM-+D:Y 列出这个包所提供的实际能力。
W,~1KUTc DS C4 -R,--requires
]Yg EnZ 列出这个包所依赖的任何包。
5avO48;Vc
u\xm8}A -s,--state
`$H 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
M@ kZ(Rkv qJA.+q.e$e --scripts
CiuN26> 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
vR$5ItnT &w0=/G/T=~ --------------------------------------------------------------------------------
ak>NKK8P 1 =<|h ,*[LnR 卸载
0f^.zt{T }L!`K"^O& uninstall命令的语法为:
^rwSbM$ lc-|Q#$3$ rpm -e package_name
X t =bc rpm --erase package_name
E<uOk 5@$4.BGcF 示例:
kDq%Y[6Z 3(+#^aw [root@localhost ~]# rpm -e lynx
\NU[DHrMP [root@localhost ~]# rpm -q lynx
7Ca\ (82 package lynx is not installed
cEdJn@ , --------------------------------------------------------------------------------
'cN#rHPB6 }yw;L(3 9/Dt:R3QU 卸载选项为:
N| Pm|w*? Ra5'x)m36) --allmatches
~ fEs!hl 删除包的所有版本。应该只指定一个包,否则会导致错误。
%wW5)Y I ok[=1gA#h --nodeps
/zf>>O` 在卸载包之前不检查依赖性。
v4_OUA>z, h)8+4?-4I --noscripts
AJfi,rFPg 不执行任何预卸载和后卸载脚本。
`uVW<z{l NCnId}BT --notriggers
hxVM]e[ 不执行任何由这个包的删除而出发的脚本。
WN+Jf _|3TC1N$n --test
ACO4u<M) 不真正卸载任何包,仅仅查看活动过程。