Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
k
-G9'c~ P4B|l: 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
U-DQ?OtmC@ c&PsT4Wh 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
2Pb+/1*ix A\?t^T 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
e/hCYoS1n --------------------------------------------------------------------------------
UXji$|ET6 <,$*(dX)( 9Qszr=C0 以下简要介绍RPM包的安装,删除和查询
"]jN'N(. -aBhN~ RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
r)~?5d }V]*FCpQ rpm命令的格式为:
|8E~C~d ~6=6YP rpm [options] [packages]
XOX$uLm &n,v@
gt 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
(}wPu&Is,C ,R=!ts[qi 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
&'`C#-e@ --------------------------------------------------------------------------------
ac\aH#J_nC 'T^MaLK r1F5'?NZ(0 RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
^/Hf$tYI!` @5&57R3> 以下为rpm --showrc命令显示的节选:
6 wd V=fu[#<@Ig 示例:
g@x72$j +o3n%( ^~ 此为部分显示结果
a1_ N~4r` [root@localhost ~]# rpm --showrc
;Mq'+4$ ARCHITECTURE AND OS:
@[joM*U build arch : i386
7kD?xHpe compatible build archs: athlon i686 i586 i486 i386 noarch
'`k build os : Linux
27R4B
O compatible build os's : linux
ThP~k9- install arch : athlon
/V0Put install os : Linux
Q~"Lyy8 compatible archs : athlon i686 i586 i486 i386 noarch
EO(l?Fgw]$ compatible os's : linux
$'}| /D RPMRC VALUES:
wL3BgCxqDL 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
2.JrLBhN optflags : %{__global_cflags} -m32 -march=athlon
8~qpOQX^V Features supported by rpmlib:
~tTa[_ a! rpmlib(VersionedDependencies) = 3.0.3-1
A'![*O PreReq:, Provides:, and Obsoletes: dependencies support versions.
.+Q1h61$T rpmlib(CompressedFileNames) = 3.0.4-1
>=rniHs=?7 file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
E_30)"] rpmlib(PayloadIsBzip2) = 3.0.5-1
^x*J4jl package payload can be compressed using bzip2.
c>c3qjWY/ --------------------------------------------------------------------------------
U(+QrC: K~]Xx~F )s7 EhIP rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
V@LBy1z P{s1NorKDh 示例:
O>f*D+A- 3#""`]9H [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
r#j3O}(n Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
,]qc#KDq-1 Preparing... ########################################### [100%]
>yenuqIKQv 1:lynx ########################################### [100%]
;E{@)X..| --------------------------------------------------------------------------------
LkafB2y L#D)[v" uFuH/(}K[ 以下列出一些通用选项(可以用于所有模式):
i+Ne.h K\RMX?YsP --dbpath path
zB7^L^Y 用path作为RPM数据库的路径。
ho#<?rh_ @G=:@; --ftpport prot
wko9tdC=U 用port作为FTP端口。
OvC@E]/+ ]We0 RD"+ --ftpproxy host
mWoN\Rwj 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
nJgN2Z yWN'va1+$ --help
\(?d2$0m 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
BB/c5?V
3<Z@!ft8 --justdb
ndBqXS 只更新数据库;不改变任何文件。
0|hOoO]?q& otdv;xI9 --pipe command
P$O@G$n 用管道把rpm输出到commond。
I_Gm2Dd E-9>lb --quiet
{)Zz4 仅显示错误信息。
I#F,
Mb>: 2*-qEUl1 --rcfile filename
{poTA+i 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
1?TgI0HS L]X Lv9J0 --root dir
`]&'yt 在dir目录内执行所有操作。
K(NP%: tuo'Uk) --version
$0M7P5]N*G 输出rpm版本号。
#)T'a '7]9q#{su -vv
Q."rE"}< 输出调试信息。
ZE/Aj/7Qy wC<FF2T --------------------------------------------------------------------------------
~ayU\4B
poZ&S li` 安装升级和刷新
WK SWOSJ #KL W&A 安装或升级一个RPM包,install命令的语法为:
!?B2OE xLbF9ASim rpm -i [install-options] package_file
Ys5Iqj=mp rpm --install [install-options] package_file
1ww~!R {mHxlG) 示例:
kgX"I ?>d H M\}C.u [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
rsK
b9G package lynx-2.8.5-18 is already installed
w (,x{Bg\ [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
$yZP"AsAR --------------------------------------------------------------------------------
p!(]`N m`,h nDp _ =(v? 2:? 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
;Ac!"_N?7 ;sSRv9Xb rpm -U [install-options] package_file
|y]8gL^ rpm --upgrade [install-options] package_file
Ys%d Js,.$t 示例:
)5U7w ;uU 8$ 先安装旧版
)|U+<r< [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
e0o)Jo.P -fx$)d~
再安装新版
e({-.ra [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
)}\J .ffb*gZ4 显示出新版本信息
["Jt2 [root@localhost ~]# rpm -q lynx
_ Av_jw`m lynx-2.8.5-18
VSm{]Z!x yLvU@V@~ 说明:
]*AQT7PH -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
vQ
DlS1L #Ic-?2Gn4< 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
hzy#%FaB --------------------------------------------------------------------------------
,-Yl%R.W= , *Z!Bd8 4"%LgV`
刷新的语法是:
qmGLc~M0 G+Zm rpm -F [install-options] package_file
3gba~}c) 140_WV?7 rpm --freshen [install-options] package_file
,fD#)_\g2 @avG*Mr^ 示例:
`CEHl &w V0F&a~Q 从未安装过lynx包,使用-F选项,将无法升级。
/:aY)0F0<& q!8aYw+c [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
b(:U]>J [root@localhost ~]# rpm -q lynx
FO
xZkU\e= package lynx is not installed
#uH%J<U --------------------------------------------------------------------------------
V5HK6- T Jm*wlN
[> @7,k0H9Moa 安装和更新选项为:
+T]D\];D : ]~G9]R` --allfiles
&^^V*O 安装或更新所有文件。
HO9w"){d$ lH1gWe --badreloc
OOj}CZ6 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
/~;om\7r 4oRDvn7f& --excludedocs
[I5}q& 不安装任何文档文件。
aO$I|!tl Ex$i8fO( --excludepath path
c R6:AGr 不安装文件名以path开始的任何文件。
AqucP@ Q}:#Hz?U --force
v<tr1cUT 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
=^`?O* /; Y4I;-&d's -h,--hash
q!\4|KF~ 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
4S3uzy% o0:RsODl --ignorearch
{E$smX 即使二进制包用于不同的体系结果也进行安装。
Ud'/
9:P g.T:72" --ignoreos
.h[yw$z6 即使操作系统不匹配也安装二进制包。
S!+}\* X6SWcJtSw --ignoresize
%{;1i 安装前不检查磁盘的可用空间。
B
42t .I
nDyKt --includedocs
oA]rwaUX 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
`D={l29H }*s`R;B|, --nodeps
=WM^i86 不检查这个包是否依赖于其他包的存在。
K:(E"d; {Etvu --noorder
QSSA) 安装之前,不为了满足依赖关系而对包进行重新排序。
EE$\8Gx']! 2$s2u; --noscripts
Gqs)E"h 不执行任何预安装或后安装脚本。
FDCc?>,o JK'FJ}Z4 --notriggers
Yh2[
nF_ 不执行任何由包安装触发的脚本。
X)b@ia'"Wp |Q?^B a --oldpackage
7oV$TAAf 允许升级以用旧包替换新包。
&hu>yH>j Xli$4 uL
--percent
!8*lU2 当文件被解压时输出完成百分比的信息。
ble[@VW| cK.z&y0] --prefix path
o&ETs)n| 把可重定位包的安装前缀设置为path。
,9Si3vn T7~H|% --replacefiles
2mEvoWnJ 即使包替换了来自其他安装包的文件,也安装这些包。
ApNS0 "Tz'j}< 9C --replacepkgs
!
G3Gr 即使某些包已经被安装,也安装他们。
N> xdX5 03H0(ku= --test
zd|n!3; 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
Hg5:>?Lw@ D9h --------------------------------------------------------------------------------
oju,2kpH7# je85G`{DC GRh430V[ 查询
* o{7 a$V qWM+!f query命令的语法为:
% 'OY ny1;]_X_ rpm -q[information-options] [package-options]
KX
J7\} rpm --query[information-options] [package-options]
,pIh.sk7s* T>68 ,; p 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
EKus0"| --------------------------------------------------------------------------------
-}3nIk<N =;Dj[<mJ45 TJCE6QG 以下简单示演示一下包查询:
f@[qS7ok
RdBIbm 简单查询:
GZ^Qt*5 { X,{ 3_ 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
UmR4zGM} h4#'@% 示例:
"hi03k 5;+KMM:zb [root@localhost ~]# rpm -q lynx
hd6O+i
Y4 lynx-2.8.5-18
.$@+ /@4 --------------------------------------------------------------------------------
.,20_<j%= NSM7n=
*nh ^t:dcY7 信息查询:
pH3<QNq5 >n^780S| rpm -qi packagename命令可以得到安装包的汇总信息。
`Qjs{H 3)yL#hXg) 示例:
\W]gy_=D{ [root@localhost ~]# rpm -qi lynx
AmC?qoEWQ7 Name : lynx Relocations: (not relocatable)
p6Z|)1O] Version : 2.8.5 Vendor: Red Hat, Inc.
.G#li(NWH Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
f7y.##W G Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
}wkY`" Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
tv26eK
38 Size : 4837340 License: GPL
sM+~x<}0 Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
m7DKC, Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> ^GyZycch URL :
http://lynx.isc.org/ g(Q1d-L4e Summary : 一个基于文本的网页浏览器。
-]+pwZ4g Description :
K{{_qFj@<y Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
vxHFNGI 图像,但是它支持框架、表格、以及多数其它 HTML
2;u
i'B 标签。Lynx 优于图形化浏览器的地方是它的速度――
7f4O~4.[i Links 能够快速启动、退出、及显示网页。
>
K?OsvX 标识拥有者
=YTcWB --------------------------------------------------------------------------------
*= ?|n JJM<ywPGp px"H 找出什么包拥有文件file:
=MMd& bMxK @$G~ 示例:
),-gy~ !nCq8~# [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
PO?_i>mA lynx-2.8.5-18
5|nc^
12 --------------------------------------------------------------------------------
HA*L*:0 T4HJy| ,|B-Nq 列表包中的文件:
z V\+za, {eV8h}KIl 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
o$buoGSPc hd u2?v@ 示例:
0=#>w_B RGE(# 此为部分显示结果
=jJEl=*S [root@localhost ~]# rpm -ql lynx
i*Ldec^ /etc/lynx-site.cfg
AoeRoqg /etc/lynx.cfg
8v4 o+wP /etc/lynx.cfg.cs
NOuG# P /etc/lynx.cfg.ja
yjg&/6 /etc/lynx.cfg.sk
EP 4]#]5 /usr/bin/lynx
s:Ml\['x /usr/share/doc/lynx-2.8.5
<ZF|2 /usr/share/doc/lynx-2.8.5/INSTALLATION
-(8I ?{"4i /usr/share/doc/lynx-2.8.5/README
k(l2`I4V /usr/share/doc/lynx-2.8.5/docs
jb-kg</A /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
)&Oc7\J, /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
M .b8 -`V /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
q8?kBKP /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
Y~-y\l;Tr /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
6t6Z&0$h~ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
>F7w]XH /usr/share/doc/lynx-2.8.5/docs/CMU.announce
ds(?:zx# /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
)rD!4"8/A /usr/share/doc/lynx-2.8.5/docs/FM.announce
3KkfQ{ /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
K Lg1(W( /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
rP3HR5 /usr/share/doc/lynx-2.8.5/docs/README.TRST
]R#:Bq!F /usr/share/doc/lynx-2.8.5/docs/README.chartrans
d]pb1ECuu sQvRupYRO --------------------------------------------------------------------------------
//U1mDFT tcuwGs>_ w +t@G`d 列出包所提供的实际能力:
f'^uuO#x :"\,iH --provides选项的作用是列出这个包所提供的实际能力。
?pTX4a&> :$MOdL[ir 示例:
mll:rWC) <Kd(fFe [root@localhost ~]# rpm -q --provides lynx
lW&(dn)} config(lynx) = 2.8.5-18
1cLtTE webclient
pk/#RUfT+ lynx = 2.8.5-18
.$qa?$@ --------------------------------------------------------------------------------
c=oDzAzuV\ h:YD$XE F4EAC|Y 列出这个包所倚赖的任何包:
r~t`H*C)} /kW Z 8Z -R,--requires选项的作用是列出这个包所依赖的任何包。
@ _Ey"k< Fb5U@X/vE 示例:
~~tTr$ 2bp@m;g$ [root@localhost ~]# rpm -qR lynx
Dcl$? /bin/sh
0bg"Q4 config(lynx) = 2.8.5-18
e1m?g&[ indexhtml
*@2Bh4 libc.so.6
9%/hoA) libc.so.6(GLIBC_2.0)
]gk1q{Ql< libc.so.6(GLIBC_2.1)
iC
gZ3M] libc.so.6(GLIBC_2.2)
yB b%#GW libc.so.6(GLIBC_2.3)
BUO5g8m{ libcrypto.so.4
,XD"
p1(|G libncursesw.so.5
^SdF\uk{?6 libssl.so.4
'wND libz.so.1
e
w^(3& rpmlib(CompressedFileNames) <= 3.0.4-1
hi7_jl6 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
?[D3-4 --------------------------------------------------------------------------------
@I_cwUO -aoYoJ ' WE<?y_0y& 列出包中的配置文件
;[v!#+yml &`"DG$N( -c,--configfiles选项的作用是列出包中的配置文件
jEc_!Q o.+;]i}D 示例:
{f/qI` z;c>Q\Q [root@localhost ~]# rpm -qc lynx
@T'^V0!-q: /etc/lynx-site.cfg
t&r.Kf9Z\ /etc/lynx.cfg
l& :EKh /etc/lynx.cfg.cs
'solCAy /etc/lynx.cfg.ja
b+rxin". /etc/lynx.cfg.sk
i]JTKL{\q --------------------------------------------------------------------------------
XHr*Rs.[= [BWq9uE KII{GDR] 显示有关于包的改变信息的日志:
ZoW1Cc&p pGbfdX
--changllog选项的作用是显示有关于包的改变信息的日志。
#8$?#
dT h<9s&
p 示例:
P"YdB|I s\*L5{kiSl 此为部分显示结果
R+ * ; [ [root@localhost ~]# rpm -q --changelog lynx
d
t/AAk6 * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
}K {1Bm@S - Removed perl dependencies (bug #127423).
xQoZ[ * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
k(gbUlCc - rebuilt
|{(<A4W * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
mypV[ - No longer need lynx-284-ipv6-salen.patch.
@CprC]X - No longer need lynx2-8-2-telnet.patch.
_y@28t * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
Z}W{ iD{ - rebuilt
lZFu|( * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
j\2Qe%d - Updated to dev16, fixing bug #110196.
5mH[|_ - No longer need crlf patch.
b!<_ JOL2. - Use shipped ja translations.
c[dSO(= - Use %find_lang.
_&gi4)q - Default config file now sets UTF-8 (bug #110986).
_~kw^!p>Kr --------------------------------------------------------------------------------
%iyc1]w{ ["-rDyP ?&B8:<qy;L 包选择选项
B8&q$QV bI):-2&s} package_name
'aSsyD!?< 查询已安装包的package_name。
$)lkiA&; .OPknC -a,--all
c<lp<{; 查询所有已安装拨。
l.Q Cxf K(F -f file,--file file
#bOv}1,s 找出什么包拥有文件file。
fSo8O ]'.qRTz'\t -g group,--group group
|t,sK aL 找出什么包拥有组group。
9~SPoR/_0 x :SjdT -p package_file
<=(K'eqC^ 查询未安装包package_file
r!r08yf ym;]3<I?I[ --querybynumber num
JrP`u4f_ 查询第num个数据库条目。主要用于调试。
xUJ(tG3 2&6D`{"P -qf,--queryformat num
UZdnsG7 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
7@ym:6Y+] ~OD6K`s3 --specfile specfile
c`E>7Hjr- 查询specfile,就好象它是个包
mnt&!X4< .k#PrT1C --triggeredby pkg
oj 8r* 列出触发安装pkg包的包。
K1
f1T R|?n --whatrequires capability
;qmnG3;Q 列出要求特定能力来行使职责的包。
$tlBI:ay1 Et6j6gmif --whatprovides capability
~d*Q{v~3 列出提供特定能力的包。
01(U)F\ --------------------------------------------------------------------------------
b9g2mWL\T #X(2 Fe8X@63 信息选择选项:
VL#:oyWA }T_"Vg q -c,--configfiles
#}Qe{4L 列出包中的配置文件。
5BrN
uR$ \`.v8C>vG --changelog
~-"CU:$o 显示有关于包的改变信息的日志。
0fc;H}B* ,[n9DPZ -d,--docfiles
FM]clC;X? 列出包中的文档文件。
>s<Bu' r JMAdsg/ --dump
'a(y]QG 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
,Uh^e]pC 以下列顺序输出信息:
A &}]:4@{ path size mtime md5sum mode owner group isconfig isdoc rdev symlink
6AIqoX*p yp~z-aRa --filebypkg
lhM5a
\ 列出每个包中的所有文件。
rBJ`=o z fb Bu^]^S -i
%
jDH{xSMb 显示包的信息,包括名字,版本和描述。
GwO`@-}E nw+t!C -l,--list
@@ j\OR 列出包中所有文件
\7\sx:!$ h<L_ =)lH --last
B9l~Y/3| 根据安装时间列出包,最新的包排第一位。
"]3o933D Aa-5k3:x]= --provides
%C%3c4+Oh 列出这个包所提供的实际能力。
i59}6u_f Q``1^E' -R,--requires
;9~YQW@| 列出这个包所依赖的任何包。
"=2\kZ LYAGpcG -s,--state
2fdN@iruB 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
X$<pt,}% aj|3(2;Kp --scripts
P%B|HnG^ 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
1GA.c: B<~AUf*y --------------------------------------------------------------------------------
N 75U.;U0 ZXLAX9| eP (*. 卸载
L@RnLaoQ >0 7i"a uninstall命令的语法为:
JQLQS TFldYKd/l rpm -e package_name
^WU[+H ; rpm --erase package_name
ys!O"=OJ 5%wA"_ 示例:
b+Sj\3fX $[_5:@T%N [root@localhost ~]# rpm -e lynx
c}v8j2{ [root@localhost ~]# rpm -q lynx
g3s5ra[ package lynx is not installed
PL"=> --------------------------------------------------------------------------------
;=2JbA+"G ZK?V{X{"; qAp<OJ 卸载选项为:
nUs=PD3)
H.hKh --allmatches
Z9H2! Cp 删除包的所有版本。应该只指定一个包,否则会导致错误。
EqHToD I3 +dCR$<e9r --nodeps
@@a#DjE%/ 在卸载包之前不检查依赖性。
-^np"Jk V6>{k_0{V --noscripts
HI1|~hOb' 不执行任何预卸载和后卸载脚本。
fLRx{Nu zp4@T) --notriggers
|+~P; fG 不执行任何由这个包的删除而出发的脚本。
Ur[ai6LNG .R)Ho4CE --test
uR=*q a 不真正卸载任何包,仅仅查看活动过程。