Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
1"tyxAo\ KSkT6_< 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
ieuq9ah# Z$
q{!aY 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
Em8q1P$tm> BUB$k7{z 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
& -L$B
--------------------------------------------------------------------------------
k|V%*BvY> Nki08qZ[ ZLm?8g6- 以下简要介绍RPM包的安装,删除和查询
nk=+6r6 2$ m#)*\ RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
%f3qCN \Gm$hTvB& rpm命令的格式为:
Ok63 w7 'w//d
$+G_ rpm [options] [packages]
ou8V7 xVYy`_| 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
F[am2[/<A NMJX ` 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
-;]m4R)z --------------------------------------------------------------------------------
KA~eOEjM LF6PKS [0vgA#6I RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
*Rm"3S ws}cMX]* 以下为rpm --showrc命令显示的节选:
; '6`hZ WEy$SN+P 示例:
9O(vh(C 0Va+l)F 此为部分显示结果
6!F@?3qCyg [root@localhost ~]# rpm --showrc
iM
\3~3' ARCHITECTURE AND OS:
!@>_5p>q* build arch : i386
0PdeK'7 compatible build archs: athlon i686 i586 i486 i386 noarch
U-^qVlw build os : Linux
M9[52D!{ compatible build os's : linux
P;~`%,+S install arch : athlon
?X
$#J'U; install os : Linux
Qc4r?7S< compatible archs : athlon i686 i586 i486 i386 noarch
@QOlo-u compatible os's : linux
Oly"ll*K RPMRC VALUES:
Y7*8 A, 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
6gfn5G optflags : %{__global_cflags} -m32 -march=athlon
A]<+Aq@{ Features supported by rpmlib:
)ZZjuFQJ) rpmlib(VersionedDependencies) = 3.0.3-1
wPr9N}rf PreReq:, Provides:, and Obsoletes: dependencies support versions.
Ygeg[S!7 rpmlib(CompressedFileNames) = 3.0.4-1
Q)]C~Q file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
8Dy5g rpmlib(PayloadIsBzip2) = 3.0.5-1
B'NtG84 package payload can be compressed using bzip2.
VrQgn9L --------------------------------------------------------------------------------
xE>jlr? 6=pE5UfT OdKfU^ rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
S7!+8$2mc_ :zA/~/Wo 示例:
F#b^l} $G\WW@*GE [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
ujin+;1 Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
/$[9-G? Preparing... ########################################### [100%]
[|qV*3|? 1:lynx ########################################### [100%]
;-0
d 2Z --------------------------------------------------------------------------------
p]jkfsCjN Ow"e3]}Mt }>93X0%r 以下列出一些通用选项(可以用于所有模式):
4 H<. R!)3{cjU@ --dbpath path
T 6ihEb$C 用path作为RPM数据库的路径。
^Uq%-a fk*I}pDx --ftpport prot
we("#s1= 用port作为FTP端口。
{{:QtkN 9-/u _$ --ftpproxy host
eW<|I 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
SAVA6
64 k3PFCl~e --help
+x!Hc 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
%[cZ,F= kJ'rtz4QO --justdb
H^3f!\MC;o 只更新数据库;不改变任何文件。
AT6o~u!WU \k4em{K --pipe command
.#q]{j@Ot 用管道把rpm输出到commond。
~:JoKm`vU ?<;9=l\Q --quiet
QjlQsN! 仅显示错误信息。
8l.bT|#O ApD`i+Y@ --rcfile filename
!jQj1QZR` 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
G'U ! # V?L8BRnV --root dir
\V(w= 在dir目录内执行所有操作。
""f'L,`{. m{gw:69h --version
8P?p 输出rpm版本号。
BQ:hUF3 !qu/m B -vv
u<['9U 输出调试信息。
""@kBY1C \<aR^Sj. --------------------------------------------------------------------------------
<rihi:4K {Mpx33 ~dBx< 安装升级和刷新
%f?Z/Wn 3<x1s2U 安装或升级一个RPM包,install命令的语法为:
$2E&~W % 41v#|%\w rpm -i [install-options] package_file
1j*E/L rpm --install [install-options] package_file
y3 "+4e 5La' I7q 示例:
`nCVO;B O#@G
.~n? [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
:Ahw{z`H# package lynx-2.8.5-18 is already installed
9u;/l#?@T [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
fi~jT"_CI --------------------------------------------------------------------------------
,W| cyQ $L4h'(s rT|wZz9$@ 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
?CD[jX}! e?7Oom rpm -U [install-options] package_file
cC*H.N rpm --upgrade [install-options] package_file
7>V*gV?v /UqIkc 示例:
p:;`X! %Ze]6TP/>< 先安装旧版
w{WEYS [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
,hOi5,|?L b%QcB[k[WB 再安装新版
TCR|wi]
kW [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
l3xI\{jn _:\zbn0\ 显示出新版本信息
*{("T [root@localhost ~]# rpm -q lynx
Js<DVe, lynx-2.8.5-18
/,,IM/(6^ C"QB`f: 说明:
onU\[VvM -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
l4>c 6)veuA3] 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
/E-sg,
k --------------------------------------------------------------------------------
&0`i(l4]l #O lPnP 2 "s.hO0Z 刷新的语法是:
[Y4Wm? E*x ct-m# rpm -F [install-options] package_file
74=zLDDS !C@+CZXLx rpm --freshen [install-options] package_file
050V-S>s 9S|a!9J 示例:
[]$L"?]0uk
u]OYu 从未安装过lynx包,使用-F选项,将无法升级。
+~V)&6Vn IuY4R0Go [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
BS=~G+/:| [root@localhost ~]# rpm -q lynx
lhPxMMS`j package lynx is not installed
+!K*FU=). --------------------------------------------------------------------------------
u}.mJDL >QdT7gB xErAs}| 安装和更新选项为:
YrsE
88QqI q?qH7={,eu --allfiles
Qb5@e#
安装或更新所有文件。
"vX\Q rL ^ X-6j[". --badreloc
P Ij 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
?vfZ>7Q Am|)\/K+Z --excludedocs
<1#hX(Q 不安装任何文档文件。
81H9d6hqcD S%jW}v'; --excludepath path
X"sJiF S 不安装文件名以path开始的任何文件。
H*P[tyz$ {DapXx --force
q8!]x-5$6j 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
YkbuyUui *c>B-Fo/D -h,--hash
0YC|;`J 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
6 rWb2b '6cXCO-_P --ignorearch
&xpvHKJl 即使二进制包用于不同的体系结果也进行安装。
,n2"N5{jw "A> _U<Y --ignoreos
\
B'AXv6 即使操作系统不匹配也安装二进制包。
G+&pq e$Mvl=NYp\ --ignoresize
\EXa 9X2 安装前不检查磁盘的可用空间。
~)VI`36X u@;e`-@ --includedocs
-Iis/Xw: 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
y\})C-& gT(8.<h8 --nodeps
8Wo!NG:V5 不检查这个包是否依赖于其他包的存在。
cbYQ';{ <kk!ns I --noorder
,pY:kQ 安装之前,不为了满足依赖关系而对包进行重新排序。
G^';9 UK EywBT --noscripts
G)q;)n;*= 不执行任何预安装或后安装脚本。
ia (&$a8X ROXa/ --notriggers
~uV(/?o% 不执行任何由包安装触发的脚本。
1IlOU|4 PuhvJHT --oldpackage
Z6-ZAS(>m 允许升级以用旧包替换新包。
I9dX\w} =ym<yI< --percent
w:/3%- 当文件被解压时输出完成百分比的信息。
NTEN rHi4Pw{L --prefix path
d tE"1nR 把可重定位包的安装前缀设置为path。
NwxDxIIH/) '\GU(j --replacefiles
2liJ^ ` 即使包替换了来自其他安装包的文件,也安装这些包。
-L<FVB LJom+PxF$x --replacepkgs
*<[zG7+&[ 即使某些包已经被安装,也安装他们。
t 4VeXp6 1=,y+Xpw --test
7#c4.9b? 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
N}1yDN .
:>e"D --------------------------------------------------------------------------------
#WJ*)$A@& 1{wbC) ef)zf+o 查询
LlS~J K 2[;~@n1P
query命令的语法为:
,p#r; O<O o@7U4#E rpm -q[information-options] [package-options]
c%bzrYQvA; rpm --query[information-options] [package-options]
!{ {gL=_@ |fIyq}{7 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
f$ tm<:)Y --------------------------------------------------------------------------------
T:Ovh.$ 7>f"4r_r6< u:f.;? 以下简单示演示一下包查询:
i]s%tEZ1 Y%?*Lj| 简单查询:
8O$LY\G 3m9b 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
(,tu7u{ m=+x9gL2 示例:
3<xDxj0< >x3lA0m [root@localhost ~]# rpm -q lynx
B^]PKjLNZ lynx-2.8.5-18
;TS%e[lFhQ --------------------------------------------------------------------------------
#vhN$H :&q N|Ag8/2A q3#+G:nh 信息查询:
(Q @'fb9z x$bUd 9 rpm -qi packagename命令可以得到安装包的汇总信息。
aL`wz ! "<{|ni} 示例:
,p OGT71 [root@localhost ~]# rpm -qi lynx
3Pllxq<n Name : lynx Relocations: (not relocatable)
hF$qH^-c*A Version : 2.8.5 Vendor: Red Hat, Inc.
<hj2'dU Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
G maNi Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
l GBg8/[ Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
#9Jr?K43
Size : 4837340 License: GPL
n>R(e> Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
,lStT+A Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> ,i??}Wm5G URL :
http://lynx.isc.org/ .}v" `>x Summary : 一个基于文本的网页浏览器。
T1*.3_wtP Description :
k].swvIi Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
D7T|K :F) 图像,但是它支持框架、表格、以及多数其它 HTML
E>f{j:M 标签。Lynx 优于图形化浏览器的地方是它的速度――
l)dE7$H Links 能够快速启动、退出、及显示网页。
$B_%MfI 标识拥有者
gua7<z6=eh --------------------------------------------------------------------------------
(ie%zrhS -*MY7t3 jU7[z$GX 找出什么包拥有文件file:
* Ogf6 *U]&a^N 示例:
xY#J((-iH (3lA0e`Y [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
y(MB_B7j lynx-2.8.5-18
N%xCyZ --------------------------------------------------------------------------------
,ofE*Wt 'vZIAnB8 DyCzRkH 列表包中的文件:
R y#C#0 Hz."4nhv 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
~59lkr8 ooUVVp 示例:
JO0o@M5H E:ci/09wD 此为部分显示结果
Ul9^"o [root@localhost ~]# rpm -ql lynx
L!zdrCM /etc/lynx-site.cfg
Q}OloA(+ /etc/lynx.cfg
op5`#{ /etc/lynx.cfg.cs
>e
R^G5rn; /etc/lynx.cfg.ja
W.kcN, /etc/lynx.cfg.sk
!5C"`@}q> /usr/bin/lynx
2dkWzx /usr/share/doc/lynx-2.8.5
3
dJ362 /usr/share/doc/lynx-2.8.5/INSTALLATION
!cYID \}S, /usr/share/doc/lynx-2.8.5/README
X,_K
)f /usr/share/doc/lynx-2.8.5/docs
0bM_EC /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
c6#E gN,X /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
p\&/m /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
#`
gu<xlW /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
Xi) ;dcNJ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
rMi\#[oB /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
GRbbU#/=G /usr/share/doc/lynx-2.8.5/docs/CMU.announce
qar{*>LCG /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
c8"Qmy /usr/share/doc/lynx-2.8.5/docs/FM.announce
GT6i9*tb# /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
-5+Yz9pv[ /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
1' U /usr/share/doc/lynx-2.8.5/docs/README.TRST
*2->>"kh /usr/share/doc/lynx-2.8.5/docs/README.chartrans
?L7DVwVa,I 2=n`z)R --------------------------------------------------------------------------------
3PZ(Kn< Z>bNU 1x;@BV
列出包所提供的实际能力:
Ca5#'3Eh >Ti%Th, --provides选项的作用是列出这个包所提供的实际能力。
J(d[05x0 Ih|4ISI 示例:
[)s4:V ~Yi4?B< [root@localhost ~]# rpm -q --provides lynx
g^(gT config(lynx) = 2.8.5-18
c{I]!y^! webclient
#eOHe4Vt lynx = 2.8.5-18
bUm%#a --------------------------------------------------------------------------------
jaodcT0 IRx%L? "WQ6[;&V 列出这个包所倚赖的任何包:
]zaTX?F: IiqqdU] -R,--requires选项的作用是列出这个包所依赖的任何包。
,o%by5j"^N V~j^ 示例:
OxGfLeP.R! >fI\f <ez [root@localhost ~]# rpm -qR lynx
UWC4PWL,>C /bin/sh
YR-G:-(#b config(lynx) = 2.8.5-18
h`\$8oV indexhtml
UHvA43 libc.so.6
lWj*tnnn[ libc.so.6(GLIBC_2.0)
7)jN:+4N libc.so.6(GLIBC_2.1)
uK$ Xqo%L libc.so.6(GLIBC_2.2)
~SBb2*ID libc.so.6(GLIBC_2.3)
u1 M8nb libcrypto.so.4
9 ;p5z[jI libncursesw.so.5
mI,lW|/l, libssl.so.4
/\- }-"dm libz.so.1
y!P!Fif' rpmlib(CompressedFileNames) <= 3.0.4-1
SR?mSpq5 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
2e%\aP`D2 --------------------------------------------------------------------------------
*cXq=/s o/o6|[=3 :G@z?ZJ[ 列出包中的配置文件
:cWU,V 5["3[h -c,--configfiles选项的作用是列出包中的配置文件
5uQ+'*xN% c.Hw
K\IU 示例:
?#
FYF\P `i
cs2po [root@localhost ~]# rpm -qc lynx
GJcxqgk$ /etc/lynx-site.cfg
XH~(=^/_ /etc/lynx.cfg
4bA^Gq /etc/lynx.cfg.cs
7:?\1a /etc/lynx.cfg.ja
FqA4 OU /etc/lynx.cfg.sk
%AA&n*m --------------------------------------------------------------------------------
uc@4fn EG t
50 er7(Wph 显示有关于包的改变信息的日志:
sk3 9[9 A/2$~4, --changllog选项的作用是显示有关于包的改变信息的日志。
jOzXy Dq x;yvv3-$ 示例:
&Jj|+P-lY Jk>vn+q8P^ 此为部分显示结果
T.;{f{ [root@localhost ~]# rpm -q --changelog lynx
ao9#E"BfM * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
Eej
Lso#\ - Removed perl dependencies (bug #127423).
]#f%Dku.m * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
Q&r.wV| - rebuilt
-fFtHw:kHh * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
=hvPq@C% - No longer need lynx-284-ipv6-salen.patch.
9n\>Yieu - No longer need lynx2-8-2-telnet.patch.
2sIt~ Gn * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
6WZffB{-TK - rebuilt
-V6caVlg * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
[%bGs1U - Updated to dev16, fixing bug #110196.
AH&RabH2 - No longer need crlf patch.
V9$T=[ - Use shipped ja translations.
|;~=^a3?q - Use %find_lang.
qA!p7"m| - Default config file now sets UTF-8 (bug #110986).
7ihcjyXB --------------------------------------------------------------------------------
rHw#<oV 8+|W%} s,#We} bv 包选择选项
9zqo!& v[ML=pL package_name
v%cCJ SO# 查询已安装包的package_name。
B_ict)}ld !xck
~EAS -a,--all
Z[*unIk 查询所有已安装拨。
lH=|Qu p2 1| -f file,--file file
<{k{Coy 找出什么包拥有文件file。
<<?32r~ o=7,U/{D! -g group,--group group
6ScB:8M 找出什么包拥有组group。
GB Yy^wjU ph5{i2U0 -p package_file
N`efLOMl]
查询未安装包package_file
@!dIa1Q" *
rlVE --querybynumber num
=9ff983 查询第num个数据库条目。主要用于调试。
4xg)e`
*U e7"T37 -qf,--queryformat num
EB!ne)X 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
nX3?7"v ?lD)J?j --specfile specfile
;&CLb`<y 查询specfile,就好象它是个包
g?"QahHG Z
C01MDIY --triggeredby pkg
_*e_?]G- 列出触发安装pkg包的包。
r c[~S 9qCE{[( --whatrequires capability
m_0y ]RfG 列出要求特定能力来行使职责的包。
1i$VX|r 7\%JJw6h --whatprovides capability
1Mp-)-e 列出提供特定能力的包。
qA)YYg/G --------------------------------------------------------------------------------
+U<YM94? B@M9oNWHu g=nb-A{# 信息选择选项:
_:Xmq&<W Nf!N;Cy? -c,--configfiles
_-({MX[3k< 列出包中的配置文件。
kQbZ!yl>[ }ZVond$y4 --changelog
b)'CP Cu* 显示有关于包的改变信息的日志。
eg/itty ].xSX0YQ% -d,--docfiles
%:`v.AG 列出包中的文档文件。
C5V}L Z qn$ >mG- --dump
7P3pjgh 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
d*s*AV 以下列顺序输出信息:
EP@u4F path size mtime md5sum mode owner group isconfig isdoc rdev symlink
![K\)7 iKo JS ^Cc --filebypkg
n-8/CBEH( 列出每个包中的所有文件。
Vxap+<m P
_fCb -i
w~v6=^ 显示包的信息,包括名字,版本和描述。
qzNb\y9G Jyg1z,B < -l,--list
?SgFD4<~P 列出包中所有文件
aXj
UDu7 fB9,#
F --last
J'
uaZI>' 根据安装时间列出包,最新的包排第一位。
{Ia1H <$-^^b(y --provides
hT-^1:N 列出这个包所提供的实际能力。
_Sd^/jGpU ben-<3r -R,--requires
BkB_?^Nv8 列出这个包所依赖的任何包。
M}[Q2v\ _f@,)n -s,--state
sc+%v1Y#} 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
J@/4CSCR] xwZ1Q,'C --scripts
~*1>)P8]# 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
iT==aJ=~/& V WZpEi --------------------------------------------------------------------------------
%OgK{h i
kfJ! f K_L7a>Fr 卸载
$7AsMlq[( ,V
52Fj uninstall命令的语法为:
THQ #zQ- DDR4h"Y rpm -e package_name
3@x[M?$ rpm --erase package_name
El9T>!Z HcIJ&".~ 示例:
A)9]^@, ]pe7I
P [root@localhost ~]# rpm -e lynx
wnd
#J ` [root@localhost ~]# rpm -q lynx
@>46.V{P}B package lynx is not installed
6w &<j&V --------------------------------------------------------------------------------
Hb*Z_s +3.9)w `&c[s%0 卸载选项为:
XlF ,_ H.l0kBeG --allmatches
Q +l{> sL 删除包的所有版本。应该只指定一个包,否则会导致错误。
(v?@evQ E va&/o?P| --nodeps
wry`2_c 在卸载包之前不检查依赖性。
."dT6u E OAq-(_H --noscripts
5(CInl 不执行任何预卸载和后卸载脚本。
YG0/e#5 F>{bVPh
VA --notriggers
#g$I>\O< 不执行任何由这个包的删除而出发的脚本。
)wjpxr ru`7iqcz --test
DDmC3
不真正卸载任何包,仅仅查看活动过程。