Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
Tcv/EST <FR!x#!
安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
Z;NaIJiL- Eve,*ATI 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
yOD=Vc7i W)Mz1v #s 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
=,6X_m --------------------------------------------------------------------------------
},X.a@: VI|2vV6? Mq\?J{E 以下简要介绍RPM包的安装,删除和查询
z(,j)". +P+h$gQ RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
Lo}T%0"G rR^o rpm命令的格式为:
"*HEXru#B ^:$ShbX"P rpm [options] [packages]
R'1j IRR b^Q6 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
E3{kH
7_'\ Vug[q=i 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
Hi2JG{i --------------------------------------------------------------------------------
@/N]_2@8; &hZ.K"@7{ mz x$(u RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
[xb'73 t%,:L.?J# 以下为rpm --showrc命令显示的节选:
p< pGqW ~233{vh$=> 示例:
Bx)!I]gi_ uMm`j?Y23q 此为部分显示结果
(I6Q"&h] [root@localhost ~]# rpm --showrc
NZG
^B/ ARCHITECTURE AND OS:
|F\fdB}?S: build arch : i386
U:@tdH+A7 compatible build archs: athlon i686 i586 i486 i386 noarch
N2|NYDQs build os : Linux
yXIJeo" compatible build os's : linux
=oq= ``% install arch : athlon
00SS<iX install os : Linux
@K S .H compatible archs : athlon i686 i586 i486 i386 noarch
N/#x compatible os's : linux
2^=.f?_YR RPMRC VALUES:
6shN% 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
} gwfe
H optflags : %{__global_cflags} -m32 -march=athlon
JoG(Nk] Features supported by rpmlib:
yW*,Llb5 rpmlib(VersionedDependencies) = 3.0.3-1
vV=rBO0a? PreReq:, Provides:, and Obsoletes: dependencies support versions.
Piw i rpmlib(CompressedFileNames) = 3.0.4-1
GBBp1i
file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
ru/{s3 rpmlib(PayloadIsBzip2) = 3.0.5-1
#N|JC d_ package payload can be compressed using bzip2.
,y-!h@( --------------------------------------------------------------------------------
?
47"$=G o:*$G~. k V@y&n1?6 rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
(+xT5 2 jUZ$vyT 示例:
X,lhVT
| .F%jbnKd_ [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
<Mj{pN3 Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
NU'2QSU8 Preparing... ########################################### [100%]
\R-'<kN.* 1:lynx ########################################### [100%]
oO7)7$|1 --------------------------------------------------------------------------------
SY:ISzB} }Q\+w,pJgN hhWy-fP#
以下列出一些通用选项(可以用于所有模式):
\QG2V$ }G^'y8U --dbpath path
-s)h
?D 用path作为RPM数据库的路径。
wSM(!:on5 ?I+$KjE+ --ftpport prot
8$ RiFD, 用port作为FTP端口。
0"GLgj:9 $Fi1Bv) --ftpproxy host
+BhJske 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
S{)K_x |#BN!kc --help
^xScVOdP 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
L&=r-\.ev l+wfP76w --justdb
0N]\f.=` 只更新数据库;不改变任何文件。
GJU9[ q<^MC/] --pipe command
9;9ge 用管道把rpm输出到commond。
Q.3:"dT X f;R'a,$ --quiet
iv],:|Mbd 仅显示错误信息。
2 p}I /<-=1XJI
--rcfile filename
zK_P3rLsS 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
z TPNQ0=| X(.[rC> --root dir
.r-Zz3 在dir目录内执行所有操作。
JrX. f Zz QLbCV --version
Nq6;
z)$ 输出rpm版本号。
!&.-{ _$ P1^|r} -vv
3xdJ<Lrq 输出调试信息。
5eyB\>k, QUZ+#*:s --------------------------------------------------------------------------------
\hEIQjfi z
yp3+| ly_8p63- 安装升级和刷新
A>mk0P)~Q G^.tAO5:f 安装或升级一个RPM包,install命令的语法为:
>lyE@S sA -eD]gm rpm -i [install-options] package_file
8<ev5af rpm --install [install-options] package_file
SXE@\Afj (c"!&&S^ = 示例:
q
\fyp\z R>&8%%# [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
\L}7.fkb8 package lynx-2.8.5-18 is already installed
l,3,$ [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
darbL_1 --------------------------------------------------------------------------------
5}! 36SO\ r1}1lJ>7H \MdieO* 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
Eht8~"fj <9:~u]ixt rpm -U [install-options] package_file
9d( M%F rpm --upgrade [install-options] package_file
Bc-/s(/Eq $b7@S`5 示例:
})?-)fFD f#7=N{wm 先安装旧版
S,avvY.U\ [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
{gD`yoPrV q"S,<I<f 再安装新版
DWCf+4 [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
{9Ok^O jffNA^e 显示出新版本信息
""_G4{ [root@localhost ~]# rpm -q lynx
jP2#w{xq lynx-2.8.5-18
|b^UPrz)VS rce._w } 说明:
|;d#k+/; -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
tTubW=H CBpwtI>p 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
fU$_5v4 --------------------------------------------------------------------------------
%XZhSmlf 6R$Yh0% o-AF_N 刷新的语法是:
;+#Nb/M ]$sb<o
.a rpm -F [install-options] package_file
23,pVo v9KsE2Ei rpm --freshen [install-options] package_file
P&@,Z#\ 8K8jz9.s 示例:
R?tjobk! PDz:x4A 从未安装过lynx包,使用-F选项,将无法升级。
UlNV%34" PyK!Cyq [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
!#*#ji xo [root@localhost ~]# rpm -q lynx
BpX` 49 package lynx is not installed
/iAhGY --------------------------------------------------------------------------------
@0C[o9 j+q) B%kC>J 安装和更新选项为:
0*oavY* 02NVdpo[wU --allfiles
ylS6D 安装或更新所有文件。
4PkKL/E BSJS4+,E --badreloc
K)+]as 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
2+C:Em0yI ;4GGXT++L --excludedocs
0M&~;`W} 不安装任何文档文件。
'.>y'= gN73)uJ0 --excludepath path
)54a' Hp 不安装文件名以path开始的任何文件。
'=\>n(%Q utl-#Wwt/ --force
#sg
dMrVQ 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
+uTl
Lu;MT )l!`k -h,--hash
D&G?Klq 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
Uq{$j5p8 @#-\BQ; --ignorearch
~Eb:AC5 即使二进制包用于不同的体系结果也进行安装。
v<<ATs%w _g( aO70Zu --ignoreos
FZZO-,xa 即使操作系统不匹配也安装二进制包。
~3Zz.!F nD]MgT --ignoresize
y65lbl%Zn 安装前不检查磁盘的可用空间。
h+&iWb3; \7#w@3* --includedocs
^e;9_( 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
jAv3qMQA HvKdV`bz --nodeps
.n4{xQo,EJ 不检查这个包是否依赖于其他包的存在。
R?/xH=u> ?~.:C' --noorder
?,+&NX3m 安装之前,不为了满足依赖关系而对包进行重新排序。
'jO8C2Th% !>=lah$& --noscripts
U /~uu 不执行任何预安装或后安装脚本。
,oSn<$%/q JP5en --notriggers
R$A%Zh6 不执行任何由包安装触发的脚本。
W=LJhCpRHj nm]lPK U+Y --oldpackage
=1(7T.t 允许升级以用旧包替换新包。
) j&khHD )C{20_ --percent
v^F00@2I 当文件被解压时输出完成百分比的信息。
V[]Pya|s+ 8O60pB;4 --prefix path
E?bv<L," 把可重定位包的安装前缀设置为path。
oSf`F1;)HQ *PB /I4>{ --replacefiles
],~[ ^0 即使包替换了来自其他安装包的文件,也安装这些包。
-1NR]#P' $<C",& --replacepkgs
iQT0%WaHl 即使某些包已经被安装,也安装他们。
2Ub-ufkU i gjn9p&_ --test
?*r%*CL 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
ZU`~@.`i skTaIGRL --------------------------------------------------------------------------------
r$'.$k\ :A:7^jrhi ,O:p`"3`0= 查询
!b4AeiL>w @,;h!vB*= query命令的语法为:
Qp)?wny4 |`Yn'Mj8rm rpm -q[information-options] [package-options]
-"a(<JC^NI rpm --query[information-options] [package-options]
+ZiYl[_| m .(\u?J 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
u^c/1H:6 --------------------------------------------------------------------------------
2G!z/OAj 9HiyN>( `.3.n8V 以下简单示演示一下包查询:
&y|Ps eH" 8g-Z~~0W1 简单查询:
v<)&JlR "xHK* 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
U 0~BcFpD {D(l#;,iX2 示例:
Qt_KUtD ad47 42 [root@localhost ~]# rpm -q lynx
lcy+2)+ lynx-2.8.5-18
qwnVtD --------------------------------------------------------------------------------
J kAd3ls 9^N(s7s s|c}9/Xe) 信息查询:
OpU9:^r bj 8pqw|; rpm -qi packagename命令可以得到安装包的汇总信息。
z7L+wNYwg !wfUD2K1 示例:
.f;@OqU [root@localhost ~]# rpm -qi lynx
u*uHdV5 Name : lynx Relocations: (not relocatable)
dn?'06TD Version : 2.8.5 Vendor: Red Hat, Inc.
a.JjbFL Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
|22vNt_ Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
`'EG7 Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
qdKqc,R1{ Size : 4837340 License: GPL
3XQe? 2:< Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
5 $$Cav Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> X%JyC_~< URL :
http://lynx.isc.org/ ].aFdy Summary : 一个基于文本的网页浏览器。
0kls/^ 0, Description :
$)PS#ND& Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
|r?0!;bN0 图像,但是它支持框架、表格、以及多数其它 HTML
,O-_Pv 标签。Lynx 优于图形化浏览器的地方是它的速度――
.m>Qlh
Links 能够快速启动、退出、及显示网页。
6GVAR 标识拥有者
@2d9
7.X --------------------------------------------------------------------------------
rUyGTe(@h iQG]v[$ Z1+Ewq3m 找出什么包拥有文件file:
O{7#Xj
:_ 3vAP&i'I 示例:
*b0z/6 z
j#<X [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
S
Te8*=w lynx-2.8.5-18
u;1[_~ --------------------------------------------------------------------------------
_1Ne+"V f?GoBh< $v e$Sq 列表包中的文件:
i[FYR;C ~]?EV?T 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
KydAFxUb 6@FhDj2X 示例:
On!+7is' 5`Uzx u 此为部分显示结果
DKem;_6OQ [root@localhost ~]# rpm -ql lynx
kRb JK /etc/lynx-site.cfg
p}/D{|xO /etc/lynx.cfg
#*"V'dj;e /etc/lynx.cfg.cs
<&O*'
<6C /etc/lynx.cfg.ja
*3@8,~_tp /etc/lynx.cfg.sk
O\Z!7UQ$ /usr/bin/lynx
gM]E8%;{ /usr/share/doc/lynx-2.8.5
B^zg#x#8 /usr/share/doc/lynx-2.8.5/INSTALLATION
WS.g`% /usr/share/doc/lynx-2.8.5/README
P_8!Gp /usr/share/doc/lynx-2.8.5/docs
N=T} /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
)8}k.t>'s /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
WJa7
/usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
Z,O-P9jC /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
wTZ(vX*mK /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
t98S[Z(-%+ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
A:z /usr/share/doc/lynx-2.8.5/docs/CMU.announce
8*{jxN'M /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
#Hu##x| /usr/share/doc/lynx-2.8.5/docs/FM.announce
opN4@a7l /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
+|pYu<OY /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
LN<rBF[_:f /usr/share/doc/lynx-2.8.5/docs/README.TRST
n4 N6]W\5 /usr/share/doc/lynx-2.8.5/docs/README.chartrans
y\-iGKz{0 q{b-2k --------------------------------------------------------------------------------
3W#E$^G_v _:5t~29 dhJ=+Fz"w 列出包所提供的实际能力:
l. l)w Lpkx$QZ --provides选项的作用是列出这个包所提供的实际能力。
<6,,:=# 3K/tB1 示例:
JTBt=u{6^ 8==M{M/eM [root@localhost ~]# rpm -q --provides lynx
:(yut config(lynx) = 2.8.5-18
C|w<mryx webclient
vZ$E
[EG} lynx = 2.8.5-18
9h)8Mq+M --------------------------------------------------------------------------------
E?KPez `T7TWv"M W_ Hoa*~ 列出这个包所倚赖的任何包:
ME]89 T& CH|cK8q -R,--requires选项的作用是列出这个包所依赖的任何包。
-m>3@"q \awkt!Wa 示例:
!io1~GpKS 94t`&jZ&|u [root@localhost ~]# rpm -qR lynx
,2 W=/,5A /bin/sh
xWK/uE ( config(lynx) = 2.8.5-18
1ZYo-a;) indexhtml
afD {w*[8 libc.so.6
3k(tv U+eC libc.so.6(GLIBC_2.0)
(pP.*`JRv libc.so.6(GLIBC_2.1)
ONy\/lu| libc.so.6(GLIBC_2.2)
E.ji;5 libc.so.6(GLIBC_2.3)
&N6[*7 libcrypto.so.4
/]-yZ0hX0O libncursesw.so.5
:Mh\;e libssl.so.4
;PU'"MeB " libz.so.1
_FcTY5."S rpmlib(CompressedFileNames) <= 3.0.4-1
UHU ,zgM rpmlib(PayloadFilesHavePrefix) <= 4.0-1
aot2F60J, --------------------------------------------------------------------------------
xaoR\H (&r`
l&0 [UC_ 列出包中的配置文件
W(4$.uZ) g.%} +5 -c,--configfiles选项的作用是列出包中的配置文件
s3Zt)xQ3 v#<{Y'K 示例:
xVX:kDX 7I&o [root@localhost ~]# rpm -qc lynx
7l=Tl[n /etc/lynx-site.cfg
~OvbMWu /etc/lynx.cfg
H<<t^,E^.t /etc/lynx.cfg.cs
mTUoFXX[ /etc/lynx.cfg.ja
&=n/h5e0t& /etc/lynx.cfg.sk
%xQ'i4` --------------------------------------------------------------------------------
2e-bt@0t <%m1+%mA. p9u'nDi 显示有关于包的改变信息的日志:
R4JfH ElDeXLr' --changllog选项的作用是显示有关于包的改变信息的日志。
j&Xx{ 4v UpE+WzY 示例:
}' Y)"8AIA v'Ehr**]+ 此为部分显示结果
6~2upy~e [root@localhost ~]# rpm -q --changelog lynx
*mJ#|3I< * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
"$o>_+U
- Removed perl dependencies (bug #127423).
g)TZ/,NQ{ * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
6<QC|>p - rebuilt
t6mv * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
pnz: <V"Y( - No longer need lynx-284-ipv6-salen.patch.
qz3
Z'
- No longer need lynx2-8-2-telnet.patch.
chKEGosbF * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
"p|.[d - rebuilt
UA2KY}pz5 * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
5~jz| T}s - Updated to dev16, fixing bug #110196.
Jp}\@T. - No longer need crlf patch.
Rf>)#hn% - Use shipped ja translations.
^ +@OiL>&i - Use %find_lang.
kN{$-v=K - Default config file now sets UTF-8 (bug #110986).
ISK 8t --------------------------------------------------------------------------------
h!|U j r<:d+5" @H4]Gp ] 包选择选项
fsw[R0B \f(zMP package_name
E"S#d&9 查询已安装包的package_name。
|o9`h 9i u7RlxA: -a,--all
sP2Uj 查询所有已安装拨。
`sso Wn4 W}3%BWn -f file,--file file
} eHxw+. 找出什么包拥有文件file。
o 7tUv"Rs <rK[ &JlJ -g group,--group group
4'*.3f'bp 找出什么包拥有组group。
_xm<zy{`S Do\j _ -p package_file
.Tq8Qdl 查询未安装包package_file
MusUgBQy kV T |(Y --querybynumber num
Sa[lYMuB 查询第num个数据库条目。主要用于调试。
y?O-h1"3, DbFe;3 -qf,--queryformat num
6jgP/~hP>N 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
"9QZX[J|* \ ~+b& --specfile specfile
8OV=;aM?{ 查询specfile,就好象它是个包
G6W|l2P! PLz+%L;{ --triggeredby pkg
K\fD'; 列出触发安装pkg包的包。
Y%0rji ")vtS}Ekt --whatrequires capability
/!?Tv8TPp 列出要求特定能力来行使职责的包。
;|?_C8 @{_X@Wv4iV --whatprovides capability
a)=|{QR>W 列出提供特定能力的包。
(?^ F }] --------------------------------------------------------------------------------
^p9V5o g}R Cjl4 T8|?mVv s 信息选择选项:
#5{xWMp/0 KU
oAxA -c,--configfiles
>bQOpGy}l 列出包中的配置文件。
fjy\Q ]u$tKC --changelog
W'"?5} ( 显示有关于包的改变信息的日志。
)uo".n|n~B 3%GsTq2o -d,--docfiles
$|J+ 列出包中的文档文件。
7 L,`7k| 7#G!es --dump
/}6y\3h 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
wL3RcXW``e 以下列顺序输出信息:
DeNWh2 path size mtime md5sum mode owner group isconfig isdoc rdev symlink
Fv
%@k{ ?6&G:Uz/ --filebypkg
KGo^>us 列出每个包中的所有文件。
8,[ *BgeX .JB1#&B+ -i
F*Hovxez 显示包的信息,包括名字,版本和描述。
Vjt7X"_/ tx9%.)M:n -l,--list
tKLeq( 列出包中所有文件
MnF|'t 2}/r>]9^- --last
- ry 根据安装时间列出包,最新的包排第一位。
@d|Sv1d% uE (5q!/ --provides
+@f 列出这个包所提供的实际能力。
_xi&%F/ j#P4& -R,--requires
OAW_c.)5D 列出这个包所依赖的任何包。
B]<N7NYn1 =FIZh}JD -s,--state
HDzeotD 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
M!!vr8} ^q/^.Gf --scripts
,P`G IGvkA 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
^b|? ?9& +MaEet --------------------------------------------------------------------------------
GeB&S!F ?f'`b<o M.MQ?`_"b 卸载
"a'I^B/ z2,NWmP|w uninstall命令的语法为:
o~9*J)X5i i>CR{q rpm -e package_name
Ti0kfjhX7 rpm --erase package_name
!.O[@A\.- K,|3?CjS 示例:
GIpYx`mHi y&8`NS#_p? [root@localhost ~]# rpm -e lynx
-@#],s7 [root@localhost ~]# rpm -q lynx
xy!E_CuC$ package lynx is not installed
+,ar`:x&a --------------------------------------------------------------------------------
+`Nu0y!rj <[}zw!z #<m2Xo?d] 卸载选项为:
%'e$N9zd 2|RoN)% --allmatches
x$ TLj 删除包的所有版本。应该只指定一个包,否则会导致错误。
wG)[Ik6: mdrqX<x'~ --nodeps
uTrzC+\aU 在卸载包之前不检查依赖性。
}{:}K< /`aPV"$M --noscripts
t4:/qy 不执行任何预卸载和后卸载脚本。
7zE1>. m
zoH$@ --notriggers
=X[?d/[ 不执行任何由这个包的删除而出发的脚本。
tq'hiS(b s%Ph --test
jR\! 2! 不真正卸载任何包,仅仅查看活动过程。