Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
-bT)]gA2 lyy W 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
%.^_Ps0 1m:XR0 P 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
19Mu61 <SgM@0m 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
k@f g(}6 --------------------------------------------------------------------------------
T|7}EAR=b c#Sa]n j3{I /m 以下简要介绍RPM包的安装,删除和查询
+;N2p1ZBf j/r]wd"aUS RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
A+"ia1p,}
UEM(@zD] rpm命令的格式为:
7hlO#PYZ
|)b6>.^ rpm [options] [packages]
0?\Zm)Q~( njScz"L~ 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
aT)BR?OYSJ \N!AXD 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
[E!oQVY --------------------------------------------------------------------------------
aE&,]'6 m#PY,y Tx|Ir+f6L RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
E.7 e;Ti&o} 以下为rpm --showrc命令显示的节选:
!`g~F\l hyCh9YOu) 示例:
Pe3@d|-,MU XC0bI,Fu, 此为部分显示结果
'IZI:V" [root@localhost ~]# rpm --showrc
B$ajK`x&I ARCHITECTURE AND OS:
.aAL]-Rj
build arch : i386
u frW\X compatible build archs: athlon i686 i586 i486 i386 noarch
i'H/ZwU build os : Linux
n>+mL"hs compatible build os's : linux
)uj Ex7&c install arch : athlon
OGde00 install os : Linux
\r /ya<5 compatible archs : athlon i686 i586 i486 i386 noarch
b J=Jg~& compatible os's : linux
TUV&vz{ RPMRC VALUES:
,SynnE68 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
iYORu3 optflags : %{__global_cflags} -m32 -march=athlon
Tl$[4heE Features supported by rpmlib:
NdtB1b rpmlib(VersionedDependencies) = 3.0.3-1
Bg5Wba%NK PreReq:, Provides:, and Obsoletes: dependencies support versions.
xO^:_8=&: rpmlib(CompressedFileNames) = 3.0.4-1
=vQcYa file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
HJXT9;w rpmlib(PayloadIsBzip2) = 3.0.5-1
!UG
7Uer package payload can be compressed using bzip2.
zVXC1u9B --------------------------------------------------------------------------------
Ir`eL /<@SFF. *c~T@m~DR rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
!46RGU:I k9 "[H' 示例:
uD1e!oU D7lK30 [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
4]G?G]lS> Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
@wpN6 / Preparing... ########################################### [100%]
'(f&P=[b 1:lynx ########################################### [100%]
<3xyjX'NE --------------------------------------------------------------------------------
x_|UPF 4}_j`d/8| uw[<5 以下列出一些通用选项(可以用于所有模式):
%_+2@\ ,uo'c_f(e --dbpath path
?EJD?,} 用path作为RPM数据库的路径。
??PC
k1X dx;Ysn0- --ftpport prot
o.w\l\ 用port作为FTP端口。
A?CcHw
rT <j&DK2u=i --ftpproxy host
p2n0Z\2 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
@hJ%@( ';TT4$(m --help
b8V~S'6VqO 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
tZ}
v%3 o7J --justdb
PZE0}>z 只更新数据库;不改变任何文件。
0Fk5kGD,&K 1Ty<\bZ= --pipe command
56+s~hG 用管道把rpm输出到commond。
Y?
x, xIxn"^' --quiet
sm0x LZ 仅显示错误信息。
5b!vgm#]) -~v|Rt --rcfile filename
uJFdbBDSh 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
fBRo_CU8! 4]h
=yc R --root dir
$
et0s;GBv 在dir目录内执行所有操作。
J)`-+}7$v zo +nq%= --version
~%^
tB 输出rpm版本号。
bu:S:` ln?v
j)j -vv
;'5>q&[qbP 输出调试信息。
8Eakif0CO ;pqg/>W' --------------------------------------------------------------------------------
PJ]];MQ ZAv,*5&< 3&u&x( 安装升级和刷新
o_@4Sl8 n#q<`}u, 安装或升级一个RPM包,install命令的语法为:
*pAV2V(!23 u+'tfFds& rpm -i [install-options] package_file
IPgt|if^ rpm --install [install-options] package_file
.QA }u ,EN \hBG<nH{0 示例:
NdL,F;^ 62 O.?Ij [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
7B!xT2{T package lynx-2.8.5-18 is already installed
k"NVV$; [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
DE%KW:Hug --------------------------------------------------------------------------------
3gv|9T ]z l[H7 9cf:pXMi 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
@!`Xl*l &d"G/6 rpm -U [install-options] package_file
.WPV dwV4U rpm --upgrade [install-options] package_file
=R #Qx, M[6:p2u 示例:
{$R' WXVs IB[)TZ2m 先安装旧版
fb{``,nO [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
RLbKD> m=}B,']O 再安装新版
p?B=1vn-2 [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
2Ou[u#H >sWp? 显示出新版本信息
'yL%3h
_@ [root@localhost ~]# rpm -q lynx
Ag&0wN+jTM lynx-2.8.5-18
t^6dzrF =&,]Z6{> 说明:
XmEq2v -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
i%/Jp[e\W> LG<J;&41~S 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
J@4 Bf
--------------------------------------------------------------------------------
xYmxc9)2 ,=Mt`aN kO|L bQ@=q 刷新的语法是:
oW<5|FaN 9\/xOwR rpm -F [install-options] package_file
f7=((5N NMa}
< rpm --freshen [install-options] package_file
^
q<v{_ :a$\/E = 示例:
~nrK>% 0URji~?|x 从未安装过lynx包,使用-F选项,将无法升级。
c&AygqN (CsD*U`h [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
}UWL-TkEjF [root@localhost ~]# rpm -q lynx
$4/yZaVb package lynx is not installed
MhR:c7, --------------------------------------------------------------------------------
Qk,I^1w?7 ?)u@Rf9> f6p-s
y> 安装和更新选项为:
G5CI<KRK# 1XD,uoxB
--allfiles
@>p<3_Y1 安装或更新所有文件。
j!]YNH@ fZ*+2T> --badreloc
vJ'2@f$ 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
s;3= {e. <Dwar>} --excludedocs
K?BOvDW"` 不安装任何文档文件。
*T5!{ LN@F+CyDc --excludepath path
i'#E) 不安装文件名以path开始的任何文件。
>[_f3;P ^-,xE>3o --force
Y*H|?uNF 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
P@9t;dZN {&\jW!&n -h,--hash
l]8D7(g 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
Of4^?`
^ "x 3lQ --ignorearch
%k'!Iq+ 即使二进制包用于不同的体系结果也进行安装。
bT^I" /XhIx\40l --ignoreos
2UFv9 即使操作系统不匹配也安装二进制包。
sIK;x]Q) K9OYri^TQ --ignoresize
xv&Q+HD 安装前不检查磁盘的可用空间。
p TeOW9 "87ghj_} --includedocs
2U; t(,dn' 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
s;64N'HH /C4^<k\ --nodeps
<K8\n^i~c 不检查这个包是否依赖于其他包的存在。
wyQzM6:,yX @O[}QB?/fi --noorder
iv>SsW'p_ 安装之前,不为了满足依赖关系而对包进行重新排序。
4*'pl.rb> T)Y=zIQ1]7 --noscripts
j&
<i& 不执行任何预安装或后安装脚本。
6Qx#%,U^ J 8'f4 Od ? --notriggers
lhw ,J]0* 不执行任何由包安装触发的脚本。
I+dbZBX ]Yvga!S"C --oldpackage
H<}^'#"p 允许升级以用旧包替换新包。
;uW}`Q< tPGJ<30 --percent
qHP78&wUx 当文件被解压时输出完成百分比的信息。
^",ACWF4Sk $`-4Ax4% --prefix path
=Q[b'*o7 把可重定位包的安装前缀设置为path。
Nqrmp" ] `/~8}Y{ --replacefiles
-tyK~aasQ 即使包替换了来自其他安装包的文件,也安装这些包。
GF5^\Rf m
q{]; --replacepkgs
ea~:}!-P 即使某些包已经被安装,也安装他们。
OBP1B@|l$+ 2c:#O%d( --test
a)#1{JaoY 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
k}0^&Quc4 m/qbRk68s --------------------------------------------------------------------------------
/Ne<V2AX W@Lu;g.Yc [fKUyIY_ 查询
!V,{_(LT {FG|\nPw query命令的语法为:
%LZ({\5K#f jMN[J|us51 rpm -q[information-options] [package-options]
aBw2f[mo rpm --query[information-options] [package-options]
%B)6$!x zBJ7(zh! 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
y(=#WlK} --------------------------------------------------------------------------------
[_.5RPJP8 ZJ 77[ _Jt 2YZdA 以下简单示演示一下包查询:
@;H,gEH^ Hw-Z 简单查询:
V]vc(rH =T7A]U] 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
N]<!j$pOz L 示例:
~2zMkVH wj1{M.EF\ [root@localhost ~]# rpm -q lynx
DVkB$2] lynx-2.8.5-18
v^_mFp-}\ --------------------------------------------------------------------------------
DmBS0NyR7Y -pE(_ pOrWg@<\L 信息查询:
Xe^Cn
R z8J."27ND rpm -qi packagename命令可以得到安装包的汇总信息。
fuB)qt!E CCX8>09 示例:
PGARXw+ [root@localhost ~]# rpm -qi lynx
His*t1o8'O Name : lynx Relocations: (not relocatable)
T1r3=Y4 Version : 2.8.5 Vendor: Red Hat, Inc.
0^8)jpL$<9 Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
6O22P?v Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
q9^ Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
7oR:1DXw| Size : 4837340 License: GPL
)
9oH,gZ Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
)#}mH @ Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> KPpHwcYxT URL :
http://lynx.isc.org/ G5,~Z&}YS Summary : 一个基于文本的网页浏览器。
)|I5j];L Description :
wfP5@ !I Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
"sKa`WN} 图像,但是它支持框架、表格、以及多数其它 HTML
q;:6_Qr 标签。Lynx 优于图形化浏览器的地方是它的速度――
3w!c`;c% Links 能够快速启动、退出、及显示网页。
}=2; 标识拥有者
7rC uu *M --------------------------------------------------------------------------------
PD LpNTBf {h KjD"? ?9X&tK)E- 找出什么包拥有文件file:
ne>g?"Pex{ LjH*rjS4 示例:
i"j(b|?e N<L`c/ [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
2PR^:h2 lynx-2.8.5-18
;=< ^0hxer --------------------------------------------------------------------------------
~Gqno 5c;h& Zv_jy@k 列表包中的文件:
C P3<1~ er.CDKD%L 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
:v L1}H< 1H,g=Y4f% 示例:
x#N-&baS `:eViVl6e 此为部分显示结果
,JEbd1Uf [root@localhost ~]# rpm -ql lynx
>z`,ch6~ /etc/lynx-site.cfg
A, PlvI /etc/lynx.cfg
1[*{(e /etc/lynx.cfg.cs
tyDY'W\] /etc/lynx.cfg.ja
yt+}K)Hz /etc/lynx.cfg.sk
Ji;mHFZ*FU /usr/bin/lynx
"W#t;;9Wz /usr/share/doc/lynx-2.8.5
pfd#N[c /usr/share/doc/lynx-2.8.5/INSTALLATION
}N*>QR5K /usr/share/doc/lynx-2.8.5/README
L@^~N$G&u /usr/share/doc/lynx-2.8.5/docs
=ORf%f5"' /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
"|m|E/Z-9 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
ZCg`z /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
oy<J6 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
3?E&}J<n /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
yxBUj*3 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
#2:a[
~Lf /usr/share/doc/lynx-2.8.5/docs/CMU.announce
jb /8?7 /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
/"ymZI!k\ /usr/share/doc/lynx-2.8.5/docs/FM.announce
F#{gfh /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
(Bo bB]~a /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
;p ]y)3 /usr/share/doc/lynx-2.8.5/docs/README.TRST
=_[Z W /usr/share/doc/lynx-2.8.5/docs/README.chartrans
ntP|\E
-~4+w --------------------------------------------------------------------------------
SjdZyJa F.)!3YE d3]hyTqbtm 列出包所提供的实际能力:
~^vC,]hU -K[782Q --provides选项的作用是列出这个包所提供的实际能力。
p[2GkP 5=KF!? 示例:
h~7,`fo 0"g@!gSrQ [root@localhost ~]# rpm -q --provides lynx
YGsS4ia*4i config(lynx) = 2.8.5-18
m/`IGT5J webclient
$A$@|]}p lynx = 2.8.5-18
1IgHc.s --------------------------------------------------------------------------------
t?^9HP1b_ M_``'gw { ?{U,& 列出这个包所倚赖的任何包:
2BzqY`O $cVi;2$p -R,--requires选项的作用是列出这个包所依赖的任何包。
@1R8-aa-r w.N,)]h 示例:
j|e[s ?d QT#6'>&7-b [root@localhost ~]# rpm -qR lynx
G*\h\@ /bin/sh
,kgF2K! config(lynx) = 2.8.5-18
)uP[!LV[e indexhtml
(P==VZQg libc.so.6
2*U.^]~"{ libc.so.6(GLIBC_2.0)
Q;nAPS libc.so.6(GLIBC_2.1)
mo1
puU libc.so.6(GLIBC_2.2)
N*DhjEU)[ libc.so.6(GLIBC_2.3)
:[M[( libcrypto.so.4
%McO6.M@ libncursesw.so.5
4(vyp.f libssl.so.4
0p fnV% libz.so.1
cbKL$| rpmlib(CompressedFileNames) <= 3.0.4-1
!ax;5 @J rpmlib(PayloadFilesHavePrefix) <= 4.0-1
^t'3rft --------------------------------------------------------------------------------
&k
T"oK F3ZxhkF |xr32gs 列出包中的配置文件
i9UI,b%X LNQSb4 -c,--configfiles选项的作用是列出包中的配置文件
wUi(3g|A sa1mC 示例:
v@G4G*x\ |
W#~F&{] [root@localhost ~]# rpm -qc lynx
OYf{?-QD /etc/lynx-site.cfg
8o)L,{yl /etc/lynx.cfg
wAbp3h X /etc/lynx.cfg.cs
{4ptu~8 /etc/lynx.cfg.ja
C4$/?,K( /etc/lynx.cfg.sk
]2+g&ox4' --------------------------------------------------------------------------------
>kdM:MK f|xLKcOP =hw^P%Zn 显示有关于包的改变信息的日志:
9u wL{P& J-J3=JG --changllog选项的作用是显示有关于包的改变信息的日志。
T{*^_ 1a9w(X 示例:
MB:n~>ga M@?"t_e1 此为部分显示结果
J"[3~&em [root@localhost ~]# rpm -q --changelog lynx
=8{*@>CX * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
8.I9}_ - Removed perl dependencies (bug #127423).
SNvb1& * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
=LZ>su - rebuilt
ID8k/t! * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
2H&{1f\Bf - No longer need lynx-284-ipv6-salen.patch.
1&|Dsrj - No longer need lynx2-8-2-telnet.patch.
2
X<nn * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
\Tq"mw9P - rebuilt
kqB\xlS7k * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
"@/ba!L+ - Updated to dev16, fixing bug #110196.
DY><qk - No longer need crlf patch.
~4s-S3YzaM - Use shipped ja translations.
v`{:~q* - Use %find_lang.
;]&-MFv# - Default config file now sets UTF-8 (bug #110986).
=|y|P80w --------------------------------------------------------------------------------
bNvAyKc- B-Y+F Mn"/#tXL- 包选择选项
A9BxwQU# @;9()ad package_name
xbC~C~# 查询已安装包的package_name。
*1;23BiH- #J+\DhDEPO -a,--all
^`&HWp 查询所有已安装拨。
|t\KsW ci7~KewJ* -f file,--file file
_hoAW8i 找出什么包拥有文件file。
0]a1 5 u~71l)LA -g group,--group group
'P/taEi=R 找出什么包拥有组group。
a!.!2a&t spiDm:Xe -p package_file
P$h;SK 查询未安装包package_file
yv${M u 0^>E`/ --querybynumber num
v:P!(`sF 查询第num个数据库条目。主要用于调试。
hCLk#_ TczXHT}G -qf,--queryformat num
GUCM4jVT^ 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
d]k=' zXgkcq) --specfile specfile
#D:RhqjK 查询specfile,就好象它是个包
(^S5Sc= `9EVB; --triggeredby pkg
2nx8iA
列出触发安装pkg包的包。
tG 7+7Z= $Z7:#cZ Y --whatrequires capability
|B1Af 列出要求特定能力来行使职责的包。
[i9[Mj w?;b7i --whatprovides capability
j@g!R!7) 列出提供特定能力的包。
+GPd --------------------------------------------------------------------------------
#f9qlM32
t|".=3%G <"ae4 信息选择选项:
14u^[M"U iJ*%dio -c,--configfiles
q+J0}y{#8) 列出包中的配置文件。
_U=S]2QW 'X ~Ab --changelog
(v|`LmV 显示有关于包的改变信息的日志。
f}-v "sIN86pCs -d,--docfiles
ypT9 8 列出包中的文档文件。
&O{t^D)F d:3= 1x --dump
h~.V[o7= 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
#[(0tc/ 以下列顺序输出信息:
#J3zTG(:@ path size mtime md5sum mode owner group isconfig isdoc rdev symlink
Ris-tdg eb7UoZw --filebypkg
DsG !S* 列出每个包中的所有文件。
/]l f>\x1 I,z"_[^G -i
a5I%RY 显示包的信息,包括名字,版本和描述。
kpY%& 'T{pdEn8u -l,--list
Q}ZBr^*]1e 列出包中所有文件
tJG (* hf[IEK --last
p|;o5j{ 根据安装时间列出包,最新的包排第一位。
SOYDp;j Vg) ^| --provides
6<Be#Y]b 列出这个包所提供的实际能力。
h?3f5G*&H zlN+edgY#, -R,--requires
T)O]:v 列出这个包所依赖的任何包。
9Iy[E,j X~#@rg!" -s,--state
;q^,[(8 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
_BCT.ual *ig5Q(b*N --scripts
ur`V{9g 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
9cbB[c_. 0YHYx n --------------------------------------------------------------------------------
&,Uc>L%m H|'$dO)W q2D`1nT 卸载
;?#i]Bh>S 6.vNe uninstall命令的语法为:
r6<ArX$Yl DvU~%%(0^ rpm -e package_name
W|)(|W rpm --erase package_name
s>V*=#L @D2`*C9 示例:
<,#rtVO$ 5@""_n&FV [root@localhost ~]# rpm -e lynx
d?E4[7<t$1 [root@localhost ~]# rpm -q lynx
mrX}\p package lynx is not installed
[29$~.m$Y --------------------------------------------------------------------------------
^S3A10f, X{4xm,B/ ta2z 卸载选项为:
78\\8* #NSaY+V --allmatches
yFa&GxSq 删除包的所有版本。应该只指定一个包,否则会导致错误。
;Ce 2d+K _6|
/P7" --nodeps
s-y'<(ll 在卸载包之前不检查依赖性。
z, :+Oc $d5&~I --noscripts
]q@rGD85K 不执行任何预卸载和后卸载脚本。
7?)m(CFy H74NU_ --notriggers
'[0
3L9 不执行任何由这个包的删除而出发的脚本。
%Tk}s fx I*%&)Hj~ --test
gDgP;id 不真正卸载任何包,仅仅查看活动过程。