Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
QGN+f) > TYDkEs0 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
S(.J vjX,7NY? 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
P5my]4|x "G%S
m") 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
,$`}Rf< --------------------------------------------------------------------------------
t?9J'.p ?)9L($VVD )f3A\^ 以下简要介绍RPM包的安装,删除和查询
>vD}gGBe 2S7BzZ/ RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
x<I[?GT= 3$"V,_TBZ rpm命令的格式为:
G$,s.MSf ZV{C9S& rpm [options] [packages]
C]b:#S ${ l2;$qNAo 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
b@J "b( ((gI OTV 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
T.cTL.} --------------------------------------------------------------------------------
FWu:5fBZY Sfe[z=7S $7YZ;=~B RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
gw)z*3]~s 6wpW!SWD 以下为rpm --showrc命令显示的节选:
#~p;s> cn}15JHdR 示例:
XoD:gf
^?{&v19m 此为部分显示结果
B-g-T>8 [root@localhost ~]# rpm --showrc
ObM/~{rKx ARCHITECTURE AND OS:
{aA6b build arch : i386
<,$*(dX)( compatible build archs: athlon i686 i586 i486 i386 noarch
!,ODczWvh build os : Linux
|ufT)+: compatible build os's : linux
>V8!OaY5n install arch : athlon
-aBhN~ install os : Linux
mh4 VQ9 compatible archs : athlon i686 i586 i486 i386 noarch
dF `7] compatible os's : linux
,q%X`F
rc RPMRC VALUES:
0WzoI2Q 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
8b0j rt optflags : %{__global_cflags} -m32 -march=athlon
?5't1219 Features supported by rpmlib:
50 w$PW rpmlib(VersionedDependencies) = 3.0.3-1
qt.4dTd:_ PreReq:, Provides:, and Obsoletes: dependencies support versions.
cEf"m?w rpmlib(CompressedFileNames) = 3.0.4-1
;G`]`=s#Lq file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
<k[_AlCmsg rpmlib(PayloadIsBzip2) = 3.0.5-1
u$tst_y- package payload can be compressed using bzip2.
2XL^A[? --------------------------------------------------------------------------------
z:S:[X0 6<@mBZ m>+ rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
1D[V{)# G1it
3^*$ 示例:
iJdJP)!tz6 1PxRj [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
kKRu]0J~[ Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
. AA#
G Preparing... ########################################### [100%]
<
e3] pM 1:lynx ########################################### [100%]
b)a5LFt| --------------------------------------------------------------------------------
]2L11"erP BHp>(7, q5Zu'-Cx@ 以下列出一些通用选项(可以用于所有模式):
6Z1O:Bou `yq)
y>_ --dbpath path
N@_y<7#C 用path作为RPM数据库的路径。
&LI q? n<|8Onw --ftpport prot
gna!Q 用port作为FTP端口。
d_(;sW"I <zY#qFQ2 --ftpproxy host
V|A.M-XLv4 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
8m
H6?,@6 +Y*4/w[
--help
c|:EMYS 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
aNM*=y` Q0`@=5?- --justdb
xN$V(ZX4 只更新数据库;不改变任何文件。
fFVQu\ hQ>$"0K
--pipe command
{{gd}g 用管道把rpm输出到commond。
k6DJ(.n'%a E9k%:&]vd --quiet
+z9BWo!{I 仅显示错误信息。
|Zn;O6c#L5 "1""1"; --rcfile filename
e+#Oj 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
jCj8XM{c> _[8JSw7 --root dir
>9XG+f66E 在dir目录内执行所有操作。
>r)UDa+ D]d! lMK/ --version
B^M
L}$ 输出rpm版本号。
R4)l4rnO 44n41.Q] -vv
!1S!)# 输出调试信息。
*fd:(dN| 6(\-aH'Ol --------------------------------------------------------------------------------
o4 "HE* Y:CqQ L4+R8ojG 安装升级和刷新
AvIheR Gn6\n'r0 安装或升级一个RPM包,install命令的语法为:
q~18JB4WPJ EQ"_kJ>81Y rpm -i [install-options] package_file
?N+pWdi rpm --install [install-options] package_file
N1E9w:T` X`Lv}6}xT 示例:
p? +!*BZ
j AoI`J [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
_;BNWH package lynx-2.8.5-18 is already installed
/Re67cMQ* [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
tOF8v8Hd --------------------------------------------------------------------------------
%;_EWs/z8 yq2AZ@}" Z[RifqaBby 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
$rjm MSxi !#5y%Bf rpm -U [install-options] package_file
BVv-1$ U^ rpm --upgrade [install-options] package_file
'&|%^9O/" *c.w:DkfB 示例:
0jXDjk5'< &RS)U72 先安装旧版
KLj/,ehD
! [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
t=fAG,k5 q?w%%.9]X 再安装新版
_s=<Y^l%x [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
EN>a^B+! {poTA+i 显示出新版本信息
t1#f*G5 [root@localhost ~]# rpm -q lynx
925T#%y
lynx-2.8.5-18
Nhjz~S<o tsB}'+!v# 说明:
)C$Ij9<A -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
2fm6G).m |f}`uF 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
<qoPBm]) --------------------------------------------------------------------------------
sWq}/!@& i&}LuF8 /PBK:B 刷新的语法是:
^sJp!hi4=) c)QOgXv rpm -F [install-options] package_file
v`jFWq8I, P6'0:M@5 rpm --freshen [install-options] package_file
Pj^Ccd'>= ,+5!1>\ 示例:
4
$)}d V2 }.X+u&< 从未安装过lynx包,使用-F选项,将无法升级。
XQ Si 9\r5&#<(I [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
Ban"H~ [root@localhost ~]# rpm -q lynx
U`4t4CHA package lynx is not installed
',Oc+jLR --------------------------------------------------------------------------------
UXS+GAWU cPl$N5/5 (bogAi3<F 安装和更新选项为:
B/EGaYH 0te[i*G --allfiles
|P"kJ45 安装或更新所有文件。
Ys%d y(r(q --badreloc
I \6^]pi, 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
.18MMzdN 04E#d.o' --excludedocs
IkLcL8P^ 不安装任何文档文件。
|=Pw-uk =NL(L --excludepath path
KlRIJOS 不安装文件名以path开始的任何文件。
DB+.< \z=!It]f. --force
?CuwA-j 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
u,Cf4H*xS dMH}%f5;1 -h,--hash
S?(/~Vb% 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
-sk!XWW+ Czd)AVK
--ignorearch
, *Z!Bd8 即使二进制包用于不同的体系结果也进行安装。
ca$K)=cDW bjs{_? --ignoreos
y)+lU 即使操作系统不匹配也安装二进制包。
R-Z)0S'ZR c0:`+>p2 --ignoresize
glRHn?p 安装前不检查磁盘的可用空间。
a"X9cU[ <825?W| --includedocs
'di(5 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
HY7#z2L FO
xZkU\e= --nodeps
5*Y(%I< 不检查这个包是否依赖于其他包的存在。
zM|Y
X< sb*)K,U --noorder
=E-V-?N\ 安装之前,不为了满足依赖关系而对包进行重新排序。
]9NA3U7F `KmM*_a --noscripts
~~3 BV, 不执行任何预安装或后安装脚本。
xEqr3( R"qxT.P( --notriggers
`"qSr%| 不执行任何由包安装触发的脚本。
XlU`jv+ W v!%'IB --oldpackage
]*vv=@"`e 允许升级以用旧包替换新包。
4xD`Z_U :5BVVa0oR --percent
QNgfvy 当文件被解压时输出完成百分比的信息。
4Yya+[RY 8~8VoU& --prefix path
/}$D&KwYg 把可重定位包的安装前缀设置为path。
7y'2 aqN6.t --replacefiles
c R6:AGr 即使包替换了来自其他安装包的文件,也安装这些包。
1gDsL AqucP@ --replacepkgs
[$%O-_x 即使某些包已经被安装,也安装他们。
,ftKRq #hF(`oX}4K --test
oD&axNk 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
<]h?_) &O.lIj#FR --------------------------------------------------------------------------------
pt=H?{06
jLv8K &Z6s\r% 查询
tkKiuh?m C0 %yGLh& query命令的语法为:
SK;c
D>) qv.s-@l8 rpm -q[information-options] [package-options]
3DS&-rN rpm --query[information-options] [package-options]
Iju9#b6 F!&$Z
. 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
|WDMyKf6J --------------------------------------------------------------------------------
yJ?S7+b 6$A>%Jtwe T43Jgk, 以下简单示演示一下包查询:
6_kv~`"t Z S<UWv@`U" 简单查询:
0;2"X[e Y2Y)| <FH 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
b]k9c1x M.?[Xpa 示例:
~l"]J'jF"H bn6WvC3? [root@localhost ~]# rpm -q lynx
<3C/t|s lynx-2.8.5-18
|!E: [UH --------------------------------------------------------------------------------
JBt2R= H[D<G9: F;sZc,Y,^ 信息查询:
1j?+rs+o- _|I`A6`= rpm -qi packagename命令可以得到安装包的汇总信息。
jWqjGX` \x;`8H 示例:
/Xk-xg+U [root@localhost ~]# rpm -qi lynx
25{-GaB Name : lynx Relocations: (not relocatable)
aK33bn'j Version : 2.8.5 Vendor: Red Hat, Inc.
rc`}QoB)R Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
uJ
T^=Y Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
omzG/)M:O Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
Z|$M 9E Size : 4837340 License: GPL
x
?24oO Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
1U6z2i+y Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> _kXq0~ URL :
http://lynx.isc.org/ K$/&C:,Q Summary : 一个基于文本的网页浏览器。
!\5w<*p8 Description :
liU8OXBl Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
&OsO _F 图像,但是它支持框架、表格、以及多数其它 HTML
O QGKH6q 标签。Lynx 优于图形化浏览器的地方是它的速度――
y,s`[=CT Links 能够快速启动、退出、及显示网页。
h yK&)y?~ 标识拥有者
i8->3uB --------------------------------------------------------------------------------
,9Si3vn D1R$s*{ _9:r4|S 找出什么包拥有文件file:
2mEvoWnJ mLm?yb: 示例:
|wINb~trz qV79bK [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
y~n1S~5cI lynx-2.8.5-18
g+A>Bl3# --------------------------------------------------------------------------------
O+OUcMa, J"~!jrzBh( YpI|=mv 列表包中的文件:
6|n3e,&A2 o2~P
vef 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
Dl@Jj?zc `3yK<- 示例:
Z@,[a d$hBgJe>N 此为部分显示结果
%y_{?|+ [root@localhost ~]# rpm -ql lynx
TyhO+; /etc/lynx-site.cfg
GRh430V[ /etc/lynx.cfg
50""n7I<% /etc/lynx.cfg.cs
H)+QkQb} /etc/lynx.cfg.ja
w)C5XX30; /etc/lynx.cfg.sk
/V
GI@"^v /usr/bin/lynx
uH]oHh!}j /usr/share/doc/lynx-2.8.5
c{
([U /usr/share/doc/lynx-2.8.5/INSTALLATION
v=d16 /usr/share/doc/lynx-2.8.5/README
CorV!H4
/usr/share/doc/lynx-2.8.5/docs
AVi&cvhs /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
nvQTJ4,, /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
h8dFW"cpC /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
8qL.L(=\/ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
&-Ylj /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
Z C<+BKS /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
G>Hg0u0!, /usr/share/doc/lynx-2.8.5/docs/CMU.announce
$b(CN+# /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
rCUGaf~ /usr/share/doc/lynx-2.8.5/docs/FM.announce
nF
B]#LLv /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
MXiQWg$ /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
dTjDVq&Hz /usr/share/doc/lynx-2.8.5/docs/README.TRST
9y&bKB2, /usr/share/doc/lynx-2.8.5/docs/README.chartrans
J6Vx7 XiE`_%NW --------------------------------------------------------------------------------
yZ|"qP1 `za,sRFR Sw\*$g] 列出包所提供的实际能力:
$'498%K2 t'vt'[~,U --provides选项的作用是列出这个包所提供的实际能力。
0jf6 z-4 \ ;npdFy 示例:
,vJt!}} :TH cI;PG8 [root@localhost ~]# rpm -q --provides lynx
tcuwGs>_ config(lynx) = 2.8.5-18
U]iI8c webclient
t'rN7.d lynx = 2.8.5-18
kI^*
'=: --------------------------------------------------------------------------------
<U@N^# l@4_D;b3o" u dZOg 列出这个包所倚赖的任何包:
;Y$>WKsV &12KpEyf -R,--requires选项的作用是列出这个包所依赖的任何包。
_\ToA9 m sjr,)|#[ 示例:
,50 }}JMwT
[root@localhost ~]# rpm -qR lynx
pk/#RUfT+ /bin/sh
H\67Pd(Z6 config(lynx) = 2.8.5-18
Az`Aa0h]7 indexhtml
c=oDzAzuV\ libc.so.6
fFjpQ~0 libc.so.6(GLIBC_2.0)
$;qi-K3j libc.so.6(GLIBC_2.1)
G*fo9eu5$ libc.so.6(GLIBC_2.2)
Wwq:\C libc.so.6(GLIBC_2.3)
z)qYW6o% libcrypto.so.4
tS'lJu libncursesw.so.5
/ (&E libssl.so.4
_FY&XL= libz.so.1
Fb5U@X/vE rpmlib(CompressedFileNames) <= 3.0.4-1
jT{T#_ rpmlib(PayloadFilesHavePrefix) <= 4.0-1
sgX!4wG&Z --------------------------------------------------------------------------------
2bp@m;g$ LL^KZ- K4c:k;
V 列出包中的配置文件
Jz}nV1G(jz #DTKz]i? -c,--configfiles选项的作用是列出包中的配置文件
.+9hm| *@2Bh4 示例:
VY0.]t n~N>;mP [root@localhost ~]# rpm -qc lynx
]gk1q{Ql< /etc/lynx-site.cfg
ze+YQF /etc/lynx.cfg
RP4/:sO /etc/lynx.cfg.cs
yB b%#GW /etc/lynx.cfg.ja
Rh!UbEPjC /etc/lynx.cfg.sk
06&J!,p
: --------------------------------------------------------------------------------
:C~Ar] {3~VLdy ?\}Gi(VVE 显示有关于包的改变信息的日志:
{"y/;x/ _R4}\3}! --changllog选项的作用是显示有关于包的改变信息的日志。
9%!h/m>rW [GLH8R 示例:
BG>Y[u\N h0GoF A< 此为部分显示结果
k ut=(; [root@localhost ~]# rpm -q --changelog lynx
ZZw`8 E * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
-Zt!H%U - Removed perl dependencies (bug #127423).
8+zW:0"[ * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
3db{Tcn\@] - rebuilt
w?Te%/s. * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
V]=22Cxi'~ - No longer need lynx-284-ipv6-salen.patch.
CdolZW-!" - No longer need lynx2-8-2-telnet.patch.
SepjF * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
K:PH:e - rebuilt
TlqHj * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
f-ltV<C_ - Updated to dev16, fixing bug #110196.
b$ G{^ - No longer need crlf patch.
=kjKK - Use shipped ja translations.
>rSjP1-F - Use %find_lang.
(o^tmH* - Default config file now sets UTF-8 (bug #110986).
"HMEoZ --------------------------------------------------------------------------------
{keZ_2 1|bXIY.J* +#}GmUwPG$ 包选择选项
eA/n.V$z 2;}leZ@U package_name
^|Ap_!t$; 查询已安装包的package_name。
m5\T, hnnB4]c -a,--all
0Y.z 查询所有已安装拨。
Kl1v^3\{ vCzZjGBY -f file,--file file
*FS8]!Qg 找出什么包拥有文件file。
`KJ(. m SQp|
-g group,--group group
( xs'D4 找出什么包拥有组group。
pGbfdX
i! .]U@{k -p package_file
:ym?]EL4o 查询未安装包package_file
}V?m
=y [ x.Sf B[SZ --querybynumber num
y7Po$ )8l 查询第num个数据库条目。主要用于调试。
3uL
f0D >p_W(u@ z$ -qf,--queryformat num
Wn%P.`o# 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
om3
%\ E)"19l|}B --specfile specfile
k[6J;/ 查询specfile,就好象它是个包
/]0qI <Xf6?nyZ( --triggeredby pkg
|{(<A4W 列出触发安装pkg包的包。
!8{VLg xL}i9ozZ --whatrequires capability
w^yb`\$ 列出要求特定能力来行使职责的包。
l45/$G7 LUOjaX --whatprovides capability
JGs:RD' 列出提供特定能力的包。
--yF%tRMP --------------------------------------------------------------------------------
h\s/rZg=r 2g.lb&3W EX8JlA\-W 信息选择选项:
%I1@{>OxG PmR].Ohzi -c,--configfiles
inP2y ?j 列出包中的配置文件。
c[dSO(= gf|uZ9{ --changelog
u'YXI="( 显示有关于包的改变信息的日志。
|z-f8$ Y:^hd809 -d,--docfiles
Hon2;-:]{] 列出包中的文档文件。
|'^s3i&w %iyc1]w{ --dump
1\}vU 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
FO!Td 以下列顺序输出信息:
A*JOp8\) path size mtime md5sum mode owner group isconfig isdoc rdev symlink
/{T&l*' iaGA9l<b --filebypkg
j=WxtMS 列出每个包中的所有文件。
coP->&(@U# i:lc]B -i
0PzSp ] 显示包的信息,包括名字,版本和描述。
qu=~\t1[6 Jo? LPR
\6 -l,--list
VB |?S|< 列出包中所有文件
%hB-$nE l.Q --last
3efOgP=L 根据安装时间列出包,最新的包排第一位。
Cxf K(F !)s(Lv%] --provides
L/k35 x8 列出这个包所提供的实际能力。
c%&,(NJ]K m#"_x{oa -R,--requires
v%tjZ5x 列出这个包所依赖的任何包。
<Q[%:LD 3Y#Q'r? -s,--state
Mz@{_*2 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
9~SPoR/_0 _O`prX.:B0 --scripts
~9 >H(c 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
\GFqRRn U2Ve @. --------------------------------------------------------------------------------
Vt`4u5HG ~ua(Qm -[mmT'sS 卸载
+a,SP
QiCia#_ uninstall命令的语法为:
6pt,]FlU qe]D4K8`Q3 rpm -e package_name
I?T
! rpm --erase package_name
eI8o#4nT * #yF`_p 示例:
K\xz|Gq V@'Xj .ze [root@localhost ~]# rpm -e lynx
l@`k:? [root@localhost ~]# rpm -q lynx
d i\.*7l? package lynx is not installed
}7PJr/IuF --------------------------------------------------------------------------------
;,y_^-h; ,Ag {-& hY)zKX_r 卸载选项为:
Q2CGC+ d59rq<yI --allmatches
K1
f1T 删除包的所有版本。应该只指定一个包,否则会导致错误。
R
iZ)FW GT6; I7 --nodeps
gS(3 m_ 在卸载包之前不检查依赖性。
CL<-3y* GSA+A7sZ --noscripts
-Jv,#Z3 不执行任何预卸载和后卸载脚本。
y-pdAkDh [^"}jbn/ --notriggers
<bcf"0A 不执行任何由这个包的删除而出发的脚本。
Ar-Vu{` "8QRYV~Z --test
'4,?YcZ?S 不真正卸载任何包,仅仅查看活动过程。