Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
{WN??eys, ~k/GmH 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
_rfGn,@BH 2qDVAq^@ 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
( 2i{8 Y1L7s H 9 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
0 A6%!h --------------------------------------------------------------------------------
7A4_b8 K5:> .u&GbM%Ga 以下简要介绍RPM包的安装,删除和查询
fz`\-"f] LABLT;c RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
yn KgNi (-esUOB. rpm命令的格式为:
]B9Ut&mF; [:bYd}J rpm [options] [packages]
K)
{\wV=" F@jyTIS^ 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
p|VgtQ/)% 4'U #<8 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
Wf5ohXm> --------------------------------------------------------------------------------
S '%!KGVe R^tDL VT5o#NR{R RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
TW~9<c D|X@aUp8} 以下为rpm --showrc命令显示的节选:
(xlAS %$}*y
示例:
ljw>[wNv KPB^>,T2{ 此为部分显示结果
k)B]|,g7G0 [root@localhost ~]# rpm --showrc
yZqX[U ARCHITECTURE AND OS:
_J-3{a build arch : i386
`T~~yM)q compatible build archs: athlon i686 i586 i486 i386 noarch
,-_\Y hY> build os : Linux
/\|Behif compatible build os's : linux
l|'{Cb
install arch : athlon
1g bqHxWI install os : Linux
0v'FE35~s compatible archs : athlon i686 i586 i486 i386 noarch
|(O _K( compatible os's : linux
ul[+vpH9 RPMRC VALUES:
GJbU1k] 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
0ZjinWkR[ optflags : %{__global_cflags} -m32 -march=athlon
SKrkB~%z Features supported by rpmlib:
pTIE.:g( rpmlib(VersionedDependencies) = 3.0.3-1
,5/zTLd PreReq:, Provides:, and Obsoletes: dependencies support versions.
mybvD rpmlib(CompressedFileNames) = 3.0.4-1
j;_
>,\ file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
A"R5Fd%6pc rpmlib(PayloadIsBzip2) = 3.0.5-1
[+z*&~' package payload can be compressed using bzip2.
6qkMB|@Ix --------------------------------------------------------------------------------
$(ei<cAV DXc3u^
L dMjAG7U rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
qo62!q :/941?%M 示例:
E6mwvrm8 18kzR6(W [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
R[_UbN 28 Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
G$!JJ.
)d Preparing... ########################################### [100%]
zd^QG 1:lynx ########################################### [100%]
,pMH` --------------------------------------------------------------------------------
dsD!)$ ;&MI
M`&$ ^E`SR6_cmj 以下列出一些通用选项(可以用于所有模式):
|XoW
Z,K fC^POLn[f --dbpath path
P*zOt]T 用path作为RPM数据库的路径。
X!ad~bt $l<(*,,l --ftpport prot
kqyPb$Wy 用port作为FTP端口。
tv8}O([ Mo_(WSs --ftpproxy host
"0#d F:qt 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
H:>i:\J/M9 1.y|bB+kB --help
K`#bLCXEV0 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
:{ Q[kYj ";$rcg"%X --justdb
qZ|>{^a* 只更新数据库;不改变任何文件。
MW$
X4<*KD UgjY --pipe command
d1=fA%pJ 用管道把rpm输出到commond。
WwBs_OMc z~y=(T --quiet
:q,tmk h 仅显示错误信息。
o9#8q_D9 R@Kzdeo --rcfile filename
2%*mL98WK 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
YqSkz|o}m -k I;yL --root dir
U" ;8zplU 在dir目录内执行所有操作。
,ThN/GkSC ;u
"BCW --version
T0=%RID%= 输出rpm版本号。
\>@QJ c1L0#L/F6" -vv
jX8,y 输出调试信息。
`bx}!;{lx z),@YJU"z --------------------------------------------------------------------------------
8C(@a[V !H[K"7w `$N()P 安装升级和刷新
&q0s8'qA a-<&(jV 安装或升级一个RPM包,install命令的语法为:
/6PL :]g>8sWL rpm -i [install-options] package_file
0k\BE\PQk rpm --install [install-options] package_file
1L\\](^
3 #2\
0#HN 示例:
xpjv@P Q5~Y;0' [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
D?:AHj%gW package lynx-2.8.5-18 is already installed
? <"H Io [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
s2rwFj8 | --------------------------------------------------------------------------------
qkk!1W ?z$^4u3 IGC:zZ~z 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
O${B)C, N,M[Opm rpm -U [install-options] package_file
~M!s0jT rpm --upgrade [install-options] package_file
]= nM|e TCI%Ox|a 示例:
1P[[PvkD6 "cVJqW 先安装旧版
K~DQUmU@ [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
]
3UlF'{ AYnk.H-v 再安装新版
-cqR]'u [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
9p{7x[ C r{pbUk 显示出新版本信息
dnW #" [root@localhost ~]# rpm -q lynx
g4-UBDtYt lynx-2.8.5-18
K[~fpQGbV1 mv;;0xH 说明:
-{ M(1vV(= -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
N& 683z 5U!yc7eBI/ 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
n?=d)[] --------------------------------------------------------------------------------
B{ptP4As-
VwKo)zH rMy(NAo_ 刷新的语法是:
N&]GPl0 V0ig#?] rpm -F [install-options] package_file
oFC]L1HN& :,'yHVG\ rpm --freshen [install-options] package_file
H;.${u^lhd n
9X:s?B/ 示例:
HJ]9e U6/$CH<pe 从未安装过lynx包,使用-F选项,将无法升级。
#o/ EO:
VH [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
n |e=7?H8 [root@localhost ~]# rpm -q lynx
+8#hi5e package lynx is not installed
Q6lC :cB< --------------------------------------------------------------------------------
H0P:t(<Gt 7)Y0D@wg T}55ZpSC& 安装和更新选项为:
kl0|22"Gz
e#/SFI0m --allfiles
(n+FEE< 安装或更新所有文件。
@3_[NI% jMV9r-{*+ --badreloc
-Y=o 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
Qf:#{~/ 9iy3 dy^ --excludedocs
Y:-O/X 不安装任何文档文件。
Q%Fa1h:2& bnYd19> --excludepath path
LZ 3PQL 不安装文件名以path开始的任何文件。
a58]#L~ 5H!6#pqM --force
LeTOVgjA| 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
)U5Ba^"fI }JlrWJRi -h,--hash
L $ki>._i\ 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
d09qZj> 2k]Jkd,E --ignorearch
L55VS:' 即使二进制包用于不同的体系结果也进行安装。
pX LXkF? @}+F4Xh,L --ignoreos
Ak'=/`+ p 即使操作系统不匹配也安装二进制包。
-D&d1`N4 76BA1x+G --ignoresize
c*c 8S~6 安装前不检查磁盘的可用空间。
C>gC99 x3L0;:Fx8P --includedocs
^|j
@' @L 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
*<"#1H/q GJo`9 --nodeps
oT}-i [=} 不检查这个包是否依赖于其他包的存在。
wk[4Qsk< hqwDlapTt --noorder
?Fp2W+M
j 安装之前,不为了满足依赖关系而对包进行重新排序。
?Zv>4+Y' ["7]EW\!: --noscripts
>)6d~ 不执行任何预安装或后安装脚本。
id:6O+\ iR39lOr --notriggers
\>N"{T 不执行任何由包安装触发的脚本。
yZyB.wT oH>G3n|U^ --oldpackage
X*QQVj 允许升级以用旧包替换新包。
2Cgq&\wS NS3qNj
--percent
1k dQh&~G 当文件被解压时输出完成百分比的信息。
1h,m t*dd/a --prefix path
d:{#Dk# 把可重定位包的安装前缀设置为path。
[+.P'6/[$R }h=}!R'm --replacefiles
>Nr~7s 即使包替换了来自其他安装包的文件,也安装这些包。
1P6!E*z\ vL
]z3 --replacepkgs
-?Kd[Ma 即使某些包已经被安装,也安装他们。
K^f&+`v6_ ]rMHO --test
S>nf]J` 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
B +<i=w gWLhO|y --------------------------------------------------------------------------------
Dxp.b$0t *h)|Ks m&{%6 查询
A=bBI>GEYP {O"N2W query命令的语法为:
oF {u -(1GmU5v( rpm -q[information-options] [package-options]
D9/PVd rpm --query[information-options] [package-options]
OkfnxknZ| qku}cWD9/_ 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
-kkpEw\ --------------------------------------------------------------------------------
L/*K4xQ ^6i,PRScS d6vls7J/4 以下简单示演示一下包查询:
H*R4A E0 XZH\HK)K-] 简单查询:
k?VH4yA .z}*!
最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
Uxb>)36I dQ`=CIr 示例:
O;H|nW} i/{`rv*K[ [root@localhost ~]# rpm -q lynx
w6<zPrA lynx-2.8.5-18
F$nc9x[S --------------------------------------------------------------------------------
@0&KM|+ Ro:)N:C vH)V\V 信息查询:
`Ti?hQm/
y@2$sK3K rpm -qi packagename命令可以得到安装包的汇总信息。
J[{?Y'RUM c#<p44>U 示例:
<&MY/vV [root@localhost ~]# rpm -qi lynx
F*J@OY8i Name : lynx Relocations: (not relocatable)
,]H2F']4Z Version : 2.8.5 Vendor: Red Hat, Inc.
:V
ZXI#([ Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
Z,JoxK2"
Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
E9~}%& Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
PCs`aVZ Size : 4837340 License: GPL
l,@rB+u Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
#Zj3SfU~` Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> .ovG_O URL :
http://lynx.isc.org/ "?r_A*U Summary : 一个基于文本的网页浏览器。
\?~cJMN Description :
n1PV/ Z Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
AEE&{_[S 图像,但是它支持框架、表格、以及多数其它 HTML
}zyh! 标签。Lynx 优于图形化浏览器的地方是它的速度――
L yNLz
m5 Links 能够快速启动、退出、及显示网页。
7x//4G 标识拥有者
k r ga!,I --------------------------------------------------------------------------------
bD4aSubN .)[0yW& .
l-eJ 找出什么包拥有文件file:
b<\aJb{2 +(/' b'* 示例:
N"-U)d-. @s7wKk [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
!.@F,wZvY lynx-2.8.5-18
x03@} M1 --------------------------------------------------------------------------------
=BroH\ 2 i97 <}('w/ 列表包中的文件:
b/6!>qMMk% #iVr @|, 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
ePscSMx& L.Tu7+M4 示例:
c$b~?Mx {N'<_%cu 此为部分显示结果
~fY\; [root@localhost ~]# rpm -ql lynx
'j'G4P_G /etc/lynx-site.cfg
-n~%v0D8c /etc/lynx.cfg
<gu>06 /etc/lynx.cfg.cs
mJ JF /etc/lynx.cfg.ja
Vl`!6.F3 /etc/lynx.cfg.sk
\kEC|O)8 /usr/bin/lynx
LtVIvZie /usr/share/doc/lynx-2.8.5
)JXy>q# /usr/share/doc/lynx-2.8.5/INSTALLATION
YES-,;ZQ' /usr/share/doc/lynx-2.8.5/README
h42dk(B /usr/share/doc/lynx-2.8.5/docs
8Bwm+LYr- /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
NT;cTa=; /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
,?(U4pzX /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
V|j{#; /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
.M( [n- /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
*_H^]wNJG /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
aK?PK }@ /usr/share/doc/lynx-2.8.5/docs/CMU.announce
$*c!9Etl4 /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
@BoZZ /usr/share/doc/lynx-2.8.5/docs/FM.announce
$VnPs!a /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
qc"PTv0q /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
>?|c>HGX /usr/share/doc/lynx-2.8.5/docs/README.TRST
{VT**o /usr/share/doc/lynx-2.8.5/docs/README.chartrans
"] [u pz ~REsx --------------------------------------------------------------------------------
Hd89./v`: Mt\.?V: qx";G 列出包所提供的实际能力:
L17{W4 w On*QO[ --provides选项的作用是列出这个包所提供的实际能力。
}dpE> 0s.X 示例:
1BOv|xPjZ EFzPt?l [root@localhost ~]# rpm -q --provides lynx
8)XAdAr config(lynx) = 2.8.5-18
, )PpE& webclient
;uN&yj<}a lynx = 2.8.5-18
Zy=DY --------------------------------------------------------------------------------
]/{iIS_ V@pUU~6R nQ08(8 列出这个包所倚赖的任何包:
N4$ K{ Ls/*&u -R,--requires选项的作用是列出这个包所依赖的任何包。
0`$fs.4c Z=9gok\ 示例:
jQ3&4>g j BDT"wy8 [root@localhost ~]# rpm -qR lynx
9=.7[-6i9 /bin/sh
*QA{xvT config(lynx) = 2.8.5-18
9{CajtN indexhtml
Y
lhKP; libc.so.6
bA\(oD+: libc.so.6(GLIBC_2.0)
xwa@h}\# libc.so.6(GLIBC_2.1)
46gDoSS libc.so.6(GLIBC_2.2)
u-@;Q<v$ libc.so.6(GLIBC_2.3)
NS){D7T libcrypto.so.4
79Ur1-]/ libncursesw.so.5
vf?Xt libssl.so.4
GsU.Lkf libz.so.1
NfND@m{/ rpmlib(CompressedFileNames) <= 3.0.4-1
', P_a,\ rpmlib(PayloadFilesHavePrefix) <= 4.0-1
x\aCZ --------------------------------------------------------------------------------
=+w/t9I[ &/8B(0< qflOi8 列出包中的配置文件
<{IeCir TFDzTD -c,--configfiles选项的作用是列出包中的配置文件
jKb4d9aX N14Q4v-*x 示例:
FB2{qG3 hq?F81 [root@localhost ~]# rpm -qc lynx
ZwMd 22 /etc/lynx-site.cfg
3u/ GrsF /etc/lynx.cfg
2?kVbF /etc/lynx.cfg.cs
-FQc_k?VF /etc/lynx.cfg.ja
iHeu<3O /etc/lynx.cfg.sk
:;K Q]< --------------------------------------------------------------------------------
wQ?Z y;/S 2Ws'3Jz IAMtMO^L 显示有关于包的改变信息的日志:
H^<?h6T
Y}e3:\ --changllog选项的作用是显示有关于包的改变信息的日志。
dpcU`$kt \d-9Ndp
nf 示例:
*Rgl(Ba /Nns3oE 此为部分显示结果
%e+{wU}w?2 [root@localhost ~]# rpm -q --changelog lynx
&(h@]F! * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
L~*nI d - Removed perl dependencies (bug #127423).
T@mYHKu * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
Mo]aB:a - rebuilt
>%A~ : * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
y(X^wC - No longer need lynx-284-ipv6-salen.patch.
?d_vD@+\ - No longer need lynx2-8-2-telnet.patch.
q@i.4>x * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
6W9lKD_i - rebuilt
YM#J_sy@J. * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
]l^"A~va - Updated to dev16, fixing bug #110196.
+>Pq]{Uf1j - No longer need crlf patch.
*1h@Jb34 - Use shipped ja translations.
0u
bf]Z - Use %find_lang.
\_ MWZRMc5 - Default config file now sets UTF-8 (bug #110986).
y\R-=Am". --------------------------------------------------------------------------------
:PNhX2F vHN/~k# \m(>Q 包选择选项
MbeK{8~E%l Z/LYTo$Bz package_name
9Us'Q{CD 查询已安装包的package_name。
JPpNCC.b \`W8#fob -a,--all
j43i:c;F 查询所有已安装拨。
rh T!8dTk 74a k|(! -f file,--file file
83F]d+n 找出什么包拥有文件file。
u.2^t:A h<i.Z7F;tj -g group,--group group
2=$ F*B>9 找出什么包拥有组group。
)h1 `?q:5 .}Hs'co -p package_file
\zzPsnFIg 查询未安装包package_file
c
6/lfgN cd] X5)$h --querybynumber num
uFL!*#A 查询第num个数据库条目。主要用于调试。
@%!Gj{ Y#FSU#a$< -qf,--queryformat num
z8
K#G%,: 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
gB0Q0d3\G, M7ug<
8i --specfile specfile
[ZD`t,x( 查询specfile,就好象它是个包
X/H2c"!t $'KhA6u --triggeredby pkg
GK&R.R] 列出触发安装pkg包的包。
CJ [e^K{ Ni#y=cb --whatrequires capability
v1$}JX 列出要求特定能力来行使职责的包。
:<uCi\9( LG'1^W{a --whatprovides capability
:|Bzbn=N2 列出提供特定能力的包。
t![972.& --------------------------------------------------------------------------------
1pT/`x N@8tf@BT ^9XAWj" 信息选择选项:
2ZKy7p0/ :-~x~ah- -c,--configfiles
KJ_L>$
]* 列出包中的配置文件。
|UN#utw{^Y A/.z. K --changelog
>Sm#-4B- 显示有关于包的改变信息的日志。
Ca0t}`<S i8.OM*[f -d,--docfiles
RY*yj&?w[ 列出包中的文档文件。
x5,|kJ9S cBU@853 --dump
d4o_/[ 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
fa,;Sw 以下列顺序输出信息:
~TjTd path size mtime md5sum mode owner group isconfig isdoc rdev symlink
`!.c_%m2 d{DBG}/Yg --filebypkg
x)T07,3: 列出每个包中的所有文件。
4}Hf"L[ l Co`:D -i
X
iM{YZ`B 显示包的信息,包括名字,版本和描述。
ar@ysBy M+lI,j+ -l,--list
SpZmwa #\ 列出包中所有文件
g$mqAz< Zk0? =f?j --last
a2H_8iQ! 根据安装时间列出包,最新的包排第一位。
!&o>zU. =A;79@bY --provides
K555z+,'e 列出这个包所提供的实际能力。
;
. hTfxE0 ]v.Yt/&C{ -R,--requires
/!-ypIY
列出这个包所依赖的任何包。
#e6x_o| nG"Ae8r -s,--state
}:+P{ 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
a!:R_P}7 Ls NJ3oy --scripts
/7C%m: 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
cQ/T:E7$` s=n_(}{ q --------------------------------------------------------------------------------
<@=w4\5j9 x2+M0 }g +ID%( : 卸载
~T&X#i [?#-JIZ3T uninstall命令的语法为:
p fg>H IeBb#Qedz rpm -e package_name
.T}S[`Yx5 rpm --erase package_name
dNz!2mbO ]j<&
:_ 示例:
:N>s#{+"3 7,3v,N| [root@localhost ~]# rpm -e lynx
IF|%.%I$!U [root@localhost ~]# rpm -q lynx
x[2eA!NC package lynx is not installed
.?.Q[ic --------------------------------------------------------------------------------
@fSqGsSk ,YmTx )X-TJ+d 卸载选项为:
mOx>p"n ~
*P9_< --allmatches
U6oab9C?k 删除包的所有版本。应该只指定一个包,否则会导致错误。
E)F"!56lV If(IG]>`D --nodeps
+IfU
5&5< 在卸载包之前不检查依赖性。
;,:w%. LzkwgcR --noscripts
[T#9#3 不执行任何预卸载和后卸载脚本。
NGb\e5? _xU2C<)1& --notriggers
WG3 .qLH% 不执行任何由这个包的删除而出发的脚本。
g
[+_T{ xr-v"- --test
q=cH ^`<. 不真正卸载任何包,仅仅查看活动过程。