Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
",#rI+ el v$+G_ @ 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
uQ5NN*C= FT[wa-b 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
6X7r=w {|%5}\% 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
No=f&GVg --------------------------------------------------------------------------------
C/<fR:`c feQ_dA q 87YT;Z;U& 以下简要介绍RPM包的安装,删除和查询
9} eIidw K 5NJ@mm{0 RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
$ daI++v`
hy
W4= rpm命令的格式为:
h&h]z[r R MCz+l0 rpm [options] [packages]
V=3NIw18 nFw&vR/q 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
Wj8\~B=(' ?9mWMf%t 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
qW;nWfkYC --------------------------------------------------------------------------------
14s+& qe`W~a9x hCQ{D|/ RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
T/-PSfbkj l*B;/
>nR 以下为rpm --showrc命令显示的节选:
Da?0B9' Nf<([8v;t 示例:
+ #S]uC 2>ce(4Gky 此为部分显示结果
&|/C*2A [root@localhost ~]# rpm --showrc
d<`Z{"g NS ARCHITECTURE AND OS:
b:Rl }"a build arch : i386
J@!Sf7k42 compatible build archs: athlon i686 i586 i486 i386 noarch
B7?784{x, build os : Linux
k}F ;e_ compatible build os's : linux
B:^5W{ install arch : athlon
Z|' tw^0e5 install os : Linux
B<8Z?:3YS compatible archs : athlon i686 i586 i486 i386 noarch
bL
swq compatible os's : linux
MbYa6jrF RPMRC VALUES:
WdunI~&. 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
M={k4r_t optflags : %{__global_cflags} -m32 -march=athlon
pOnZ7( Features supported by rpmlib:
m"H9C-Y
rpmlib(VersionedDependencies) = 3.0.3-1
~|l>bf PreReq:, Provides:, and Obsoletes: dependencies support versions.
`4\ H'p rpmlib(CompressedFileNames) = 3.0.4-1
"9>#Q3<N file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
l~ F,i n. rpmlib(PayloadIsBzip2) = 3.0.5-1
-qid. package payload can be compressed using bzip2.
R^%7| --------------------------------------------------------------------------------
Rjm5{aa- M#F;eK2pf iCc@N|~ rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
+c\fDVv ro^Y$;G 示例:
?w3f;v `P :-a7_ [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
]9;WM. Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
cJi5\<b Preparing... ########################################### [100%]
'=%vf 1:lynx ########################################### [100%]
}v=q6C#Q> --------------------------------------------------------------------------------
BR"*-$u0; 9-}&znLZe {,P&05iSi 以下列出一些通用选项(可以用于所有模式):
l ^\5Jr03 Oyj!N`&z@ --dbpath path
Jw;J$
u!d 用path作为RPM数据库的路径。
~w4aA<2Uq VPtA
%1 --ftpport prot
lyv9eM 用port作为FTP端口。
mP3:Fc_G X Uh)z --ftpproxy host
Ao?H.=#y 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
WmOd1 d~GT w: --help
8c]\4iau 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
}b6ja y -pa.-@ --justdb
C.pNDpx- 只更新数据库;不改变任何文件。
'<4OA!,^) j0:F E --pipe command
j G{xFz>x 用管道把rpm输出到commond。
36&7J{MU >/$Q:92T --quiet
kpK:@ 仅显示错误信息。
v2rX uo &k : | --rcfile filename
p5G O@^i 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
<[l2 ]"Q B)ynF?" --root dir
shnfH 在dir目录内执行所有操作。
NoZz3*j= Dzc 4J66 --version
!>9*$E
| 输出rpm版本号。
HHa7Kh|-H $0iz;!w -vv
w?<:` 输出调试信息。
B]Yj"LM) $T]1<3\G --------------------------------------------------------------------------------
-"!V&M >2>xr" EzzzH(!j 安装升级和刷新
YN"102CK +`.%aJIi9 安装或升级一个RPM包,install命令的语法为:
}u:^ Mz uTB;Bva rpm -i [install-options] package_file
J6NQ5S\ rpm --install [install-options] package_file
BQ_\8Qt| POUB{ba 示例:
CcAsJX~_ 2MB\!fh [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
C'7W50b package lynx-2.8.5-18 is already installed
k_O"bsI) [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
8*6J\FE<p --------------------------------------------------------------------------------
_[XEL+. (IJf2 %z8@; 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
jCKRoao &\Cvrxa rpm -U [install-options] package_file
B;W=61d rpm --upgrade [install-options] package_file
]~kqPw<R
LFGu|]( 示例:
6@bGh|
ZpI _/ 先安装旧版
*;"^b\f5_ [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
-uO< ] tGM)"u- 再安装新版
3%|<U51 [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
7^|3TTK Im6ymaf9 显示出新版本信息
aoF>{Z4&B [root@localhost ~]# rpm -q lynx
:*c@6;2@ lynx-2.8.5-18
n!HFHy2 b2p<!? 说明:
]e?*7T] -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
;;l( Z.<1,EKi= 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
/0SPRf}p --------------------------------------------------------------------------------
5bZ`YO ^T^U:Zdq %$sWNn 刷新的语法是:
o/=K:5 5l(;+#3y/ rpm -F [install-options] package_file
@ Cqg2 [ ddEt rpm --freshen [install-options] package_file
7zQD.+&L 6{+~B2Ef 示例:
`5GJ,*{z LGod"8~U 从未安装过lynx包,使用-F选项,将无法升级。
A9lqVMp64 vO4
&ZQ>6 [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
6;(Slkv [root@localhost ~]# rpm -q lynx
Y6{p|F?&" package lynx is not installed
#axRg=d?K --------------------------------------------------------------------------------
@uH7GW}$g N?87Bd eh)J'G]G 安装和更新选项为:
>O\-\L bk^ :6>{K --allfiles
1N#TL"lMS 安装或更新所有文件。
#+_OyZ* -F5U.6~`! --badreloc
<T0-m?D_$ 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
oM MU5sm F7"Ihb^l --excludedocs
*=;=VUu5 不安装任何文档文件。
OWq~BZ{ E,C<ox4e --excludepath path
Q g"{F},4 不安装文件名以path开始的任何文件。
K5w22L^=+ r0S7e3xb --force
y8<,> 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
xX"?3%y> possM'vC -h,--hash
pr;L~$JW 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
*><]
[|Y@H +Z{4OJK --ignorearch
4AF"+L 即使二进制包用于不同的体系结果也进行安装。
J v)]7u CZ&TUE|:DA --ignoreos
'0o`<xW 即使操作系统不匹配也安装二进制包。
q_oYI3 <&+l;z --ignoresize
w=^*)jZ8 安装前不检查磁盘的可用空间。
xaeY^"L k)4|% --includedocs
FG8bP 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
YJ75dXc&& }]n&" =Zk- --nodeps
=6+BBD 不检查这个包是否依赖于其他包的存在。
a)Wf* <B 2r*
o --noorder
Pq_Il9 安装之前,不为了满足依赖关系而对包进行重新排序。
r!x^P=f,MJ PN.=])7T --noscripts
A: @=?(lI3 不执行任何预安装或后安装脚本。
@Sv
?Ar PD/~@OsxU --notriggers
]gmf%g'C 不执行任何由包安装触发的脚本。
e=F'
O]
5 i_=P!%, --oldpackage
s]2k@3|e 允许升级以用旧包替换新包。
gK%&VzG4 -)$)<k --percent
-}N{'S,Bp 当文件被解压时输出完成百分比的信息。
_5X}&>>lhF e3Lf'+G\ --prefix path
<T7y85 把可重定位包的安装前缀设置为path。
/Fv1Z=:r +"p",Z --replacefiles
~w$8*2D 即使包替换了来自其他安装包的文件,也安装这些包。
;N/c 5+ -m+2l`DLy --replacepkgs
B\("08x 即使某些包已经被安装,也安装他们。
Az.Y-O<$\ kv'n W --test
M!I:$DZt 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
wLgRI$_Dm :#gz)r --------------------------------------------------------------------------------
7'&Xg_ De^is^{ G;^iwxzhO 查询
v
h%\ " h p(U'Ydl~ query命令的语法为:
@RnG K 5 A2+t`[w rpm -q[information-options] [package-options]
'l;?P rpm --query[information-options] [package-options]
f?{Y<M~] >"Hj=? 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
,)Q mQ^/ --------------------------------------------------------------------------------
2R5]UR S k5ZwGJ#r !~mN"+u& 以下简单示演示一下包查询:
f9&D1Gh+w >Ek`PVPD 简单查询:
fx}R7GN2 -jyD!( 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
leD?yyjw7 \J13rL{< 示例:
F_-yT[i A l` ;SWN [root@localhost ~]# rpm -q lynx
G!Uq#l> lynx-2.8.5-18
LEhi/>T --------------------------------------------------------------------------------
jAJkCCG 5q)Eed U}5uy9A 信息查询:
\{&55>
V~+Unn
rpm -qi packagename命令可以得到安装包的汇总信息。
HK-?<$Yc JZ<O-G+ 示例:
.:;i* [root@localhost ~]# rpm -qi lynx
.CYq+^ Name : lynx Relocations: (not relocatable)
G?"1
z; Version : 2.8.5 Vendor: Red Hat, Inc.
3!}#@<j
Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
g=%W"v Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
*i\7dJ Dj Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
3oIoQj+D Size : 4837340 License: GPL
%|u"0/ Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
\Js9U|lY Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> HKh)T$IZM URL :
http://lynx.isc.org/ /|\`NARI Summary : 一个基于文本的网页浏览器。
\l[5U3{ Description :
;WzT"yW)T Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
HN3
yA1<[V 图像,但是它支持框架、表格、以及多数其它 HTML
D,)~j6OG8 标签。Lynx 优于图形化浏览器的地方是它的速度――
*(HH71Y Links 能够快速启动、退出、及显示网页。
())|x[>JS+ 标识拥有者
\
0CGS --------------------------------------------------------------------------------
J7$=f~$ r|P4|_No l >O]Cpt 找出什么包拥有文件file:
F{}z[0 ` n_ Z 示例:
+FJ
o!~1 6^wiEnA [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
9~4Kbmr>q lynx-2.8.5-18
=DqGm]tA --------------------------------------------------------------------------------
{6KU.'#iF \q,w)BE |{_%YM($ 列表包中的文件:
P@Qo2zTh% YZnrGkQ 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
M35}5+ 2f-Z\3)9 J 示例:
L@+j8[3BX "zv+|_ZAfd 此为部分显示结果
iCc\p2p [root@localhost ~]# rpm -ql lynx
* T~sR'K+| /etc/lynx-site.cfg
CsE|pXVG /etc/lynx.cfg
AUN Tc3 /etc/lynx.cfg.cs
) ejvT- /etc/lynx.cfg.ja
u!X2ju< /etc/lynx.cfg.sk
Mr&]RTEE /usr/bin/lynx
co*5NM^ /usr/share/doc/lynx-2.8.5
co12\,aD /usr/share/doc/lynx-2.8.5/INSTALLATION
]f-e/8$`@ /usr/share/doc/lynx-2.8.5/README
iffU}ce /usr/share/doc/lynx-2.8.5/docs
{=(4 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
*yJb4uALB /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
@hv9=v+ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
>U}~Hv] /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
O_:Q# /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
x^;nfqn| /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
Kp99y /usr/share/doc/lynx-2.8.5/docs/CMU.announce
kC#;j=K? /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
7eq;dNB@gq /usr/share/doc/lynx-2.8.5/docs/FM.announce
)dvOg'it /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
B
51LZP /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
weDv[b5i /usr/share/doc/lynx-2.8.5/docs/README.TRST
;Joo!CXHO /usr/share/doc/lynx-2.8.5/docs/README.chartrans
)/=J=xw2 .)o5o7H --------------------------------------------------------------------------------
1DBzD%@Oz 9V;m;sz ~7=,)Q 列出包所提供的实际能力:
%Wc-.ER 7X.1QSuE --provides选项的作用是列出这个包所提供的实际能力。
O8lOr(|l D~{)\;w^! 示例:
Oe=,-\&_ 44]ae~@a [root@localhost ~]# rpm -q --provides lynx
cbIW>IbM config(lynx) = 2.8.5-18
4gZN~_AI< webclient
q8p 'bibY lynx = 2.8.5-18
~ 7k
b4[ --------------------------------------------------------------------------------
v:+se6HY?p NfSe(rd gf!j|O ; 列出这个包所倚赖的任何包:
n2QD*3i '.bMkty# -R,--requires选项的作用是列出这个包所依赖的任何包。
c=K M[s. 7j]@3D9[:p 示例:
;Rt,"W) K>q,?x b [root@localhost ~]# rpm -qR lynx
kn<[v;+ /bin/sh
&Y,Rm78 config(lynx) = 2.8.5-18
1-,l|K indexhtml
$;">/"7m libc.so.6
)oNomsn libc.so.6(GLIBC_2.0)
}{ P}P} libc.so.6(GLIBC_2.1)
4]g^aaQFd> libc.so.6(GLIBC_2.2)
2{qoWys8[ libc.so.6(GLIBC_2.3)
RS93_F8 libcrypto.so.4
LPXwfEHOm libncursesw.so.5
3Y8%5/D5 libssl.so.4
`Ffn:=Do libz.so.1
H<q:+ rpmlib(CompressedFileNames) <= 3.0.4-1
"kL5HD]TC rpmlib(PayloadFilesHavePrefix) <= 4.0-1
aR3W9 --------------------------------------------------------------------------------
0 8U:{LL <vAg\Tv:S TcqqAc 列出包中的配置文件
|5W u0T 'tdjPdw -c,--configfiles选项的作用是列出包中的配置文件
6dNo!$C^ *AJW8tIP 示例:
>y az 2#rF/!`^ [root@localhost ~]# rpm -qc lynx
S2Wxf>bt2 /etc/lynx-site.cfg
a([cuh. /etc/lynx.cfg
=A,i9Z& /etc/lynx.cfg.cs
[3\}Ca1 /etc/lynx.cfg.ja
BeVQ[ /etc/lynx.cfg.sk
9\dC8 --------------------------------------------------------------------------------
8
/\rmf\ f6z[k_lLN tn}9(Oa) 显示有关于包的改变信息的日志:
~< k'{ _kar5B$ --changllog选项的作用是显示有关于包的改变信息的日志。
t<Og?m}(
a|OX4 示例:
No h*1u* Wx^L~[l 此为部分显示结果
Y(-+>>j_ [root@localhost ~]# rpm -q --changelog lynx
WyO10yvR * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
:V >Z|?[*H - Removed perl dependencies (bug #127423).
Xp%JPI { * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
`i<U;?=0' - rebuilt
_RAPXU~ 6- * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
k/*r2 C - No longer need lynx-284-ipv6-salen.patch.
&6!x;RB - No longer need lynx2-8-2-telnet.patch.
pvcD
61, * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
LB-4/G$ - rebuilt
?*Jv&f# * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
7=}`"7i~ - Updated to dev16, fixing bug #110196.
+$P0&YaQ - No longer need crlf patch.
A5z5e#
,u - Use shipped ja translations.
j]YS(Y@AY
- Use %find_lang.
q.~_vS% - Default config file now sets UTF-8 (bug #110986).
=%p0rz|b --------------------------------------------------------------------------------
p'!cGJL $(G.P!/ ]^E<e!z={$ 包选择选项
\&"gCv# }c$Zlb package_name
N<9CV!_ 查询已安装包的package_name。
vDqmD{%4N +%oXPG? -a,--all
gm(`SC?a 查询所有已安装拨。
>]s|'HTxF [a`89'"z -f file,--file file
j0>Q:hn 找出什么包拥有文件file。
DFcgUEq (~#{{Ja
-g group,--group group
$@s&qi_&R 找出什么包拥有组group。
"sdzm%
^cn%]X#. -p package_file
-X3yCK?re 查询未安装包package_file
JUHmIFjZ iP)`yB5 ` --querybynumber num
XShi[7 查询第num个数据库条目。主要用于调试。
I r]#u]Ap \oA>%+]5 -qf,--queryformat num
49W@?:b 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
'1'De^%6W 6j/g/!9c! --specfile specfile
0}$Zr*|;Y 查询specfile,就好象它是个包
W US[hx, 8iA[w-Pv --triggeredby pkg
oR}cE
Sr 列出触发安装pkg包的包。
P;4Y%Dq~Qo *t=8^q(K[ --whatrequires capability
_3~/Z{z8 列出要求特定能力来行使职责的包。
Ve)P/Zz}^ T+1:[bqK --whatprovides capability
'guXdX]Gu 列出提供特定能力的包。
41Ga- 0p --------------------------------------------------------------------------------
Pu>jECcz ua%@Ay1| wIQ~a 信息选择选项:
vxE#6 Jui:Ms -c,--configfiles
WVZ](D8Gc] 列出包中的配置文件。
&tVIl$e
B!+rO~ --changelog
L)(JaZyV5 显示有关于包的改变信息的日志。
zbY2gq@? f.)z_RyGd -d,--docfiles
HKp|I%b]J 列出包中的文档文件。
3-~* ^#( B4l! --dump
Z=ZTSl 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
"%peYNZ&% 以下列顺序输出信息:
I-Q@v` path size mtime md5sum mode owner group isconfig isdoc rdev symlink
[J!jp&o 0Wkk$0h9 --filebypkg
tq$L* ++O 列出每个包中的所有文件。
qPQ6`rD\ #B2a? -i
6;:z?Q 显示包的信息,包括名字,版本和描述。
\+M6R<Qw M}fk[Yr> -l,--list
&zR\Rmpt 列出包中所有文件
#Mw 6>5}< !MXn&&e1 --last
&x9>8~
根据安装时间列出包,最新的包排第一位。
HVd y!J ='vD4}"j --provides
J8'1 ~$6 列出这个包所提供的实际能力。
`- HI)-A97 x{O) n -R,--requires
9r.h^ 列出这个包所依赖的任何包。
_`I}"`2H %}IrZrh -s,--state
u{- @,-{ 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
Iq?n*P$ bN\;m^xfu --scripts
Z=9<esx 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
q4ttmL8 w/z o --------------------------------------------------------------------------------
`# U<'$ =X1oB,W{ 7qSnP30} 卸载
BOOb{kcg 0GlQWRa uninstall命令的语法为:
O3V.4tp q`'m:{8 rpm -e package_name
bf=!\L$ rpm --erase package_name
p/yz`m T'w CNe(]HIOH 示例:
0&u=(;Dr\ M"Af_Pbx [root@localhost ~]# rpm -e lynx
?W_8X2(` [root@localhost ~]# rpm -q lynx
1N_T/I8_F package lynx is not installed
H:EK&$sU --------------------------------------------------------------------------------
Im?/#t X GEvx<: [+d~He 卸载选项为:
x<`^4|< 2 OV$M~ --allmatches
:t9sAD 删除包的所有版本。应该只指定一个包,否则会导致错误。
>k
==7#P ce;$)Ff\ --nodeps
@~Ys*]4UE 在卸载包之前不检查依赖性。
YZ]}l%e x+DETRLP --noscripts
NT2XG&$W> 不执行任何预卸载和后卸载脚本。
k.7!)jL7 H |
C3{9 --notriggers
q %j8Js 不执行任何由这个包的删除而出发的脚本。
pP#D*hiP-g M,W-,l
] --test
BL~#-Mm<|l 不真正卸载任何包,仅仅查看活动过程。