Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
XdEPbD- XhU@W}} 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
T".]m7! Mc sTe|X 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
-7>)i ("7M
b{ 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
*mG`_9 --------------------------------------------------------------------------------
/Poet%XvRx (3vHY`9 &7?R+ZGo 以下简要介绍RPM包的安装,删除和查询
(n(
fI f z;u>
Yz+3 RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
JeH;v0 t/i5,le rpm命令的格式为:
C2e.2)y %n0;[sD0A rpm [options] [packages]
UnWW/]E T0HuqJty 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
W\*-xf|"d }b3/b 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
1-SVCk
- --------------------------------------------------------------------------------
A!W0S "+ "{+k5t "GT4s?6O RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
@!=\R^#p gA#RM5x@ 以下为rpm --showrc命令显示的节选:
{Ng oYl )+I.|5g 示例:
@# P0M--X vP!GJX&n5 此为部分显示结果
mumXUX [root@localhost ~]# rpm --showrc
]pA(K?Lbg ARCHITECTURE AND OS:
\79X{mcd build arch : i386
*2"6fX[ compatible build archs: athlon i686 i586 i486 i386 noarch
Die-@z|Y build os : Linux
$ls[|N:y0l compatible build os's : linux
C@y8.#l install arch : athlon
M
s9E@E install os : Linux
qgt[ ~i* compatible archs : athlon i686 i586 i486 i386 noarch
x90*yaw>h compatible os's : linux
:)f7A7 :; RPMRC VALUES:
_K9VMczj 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
qL5I#?OMkU optflags : %{__global_cflags} -m32 -march=athlon
b}ODWdJ1 Features supported by rpmlib:
|8_JY2
R rpmlib(VersionedDependencies) = 3.0.3-1
UAS@R`?cI PreReq:, Provides:, and Obsoletes: dependencies support versions.
Y+%sBqo@ rpmlib(CompressedFileNames) = 3.0.4-1
]6Ug>>x5 file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
zkM"cb13q/ rpmlib(PayloadIsBzip2) = 3.0.5-1
F^aR+m package payload can be compressed using bzip2.
4] > ]-b --------------------------------------------------------------------------------
5}ie]/[| = iB,["s BI[JATZG rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
~i'Nqe_ ;Z[]{SQ 示例:
4wzlJ19E( Qq-"Cg@-/ [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
SD\=
m/W Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
[t\B6XxT Preparing... ########################################### [100%]
}n,Zl>T9 1:lynx ########################################### [100%]
Myat{OF --------------------------------------------------------------------------------
qMBR *f Is<"OQ zZ-wG 以下列出一些通用选项(可以用于所有模式):
-a Gcf]6 f},oj4P\ --dbpath path
"ceed)(: 用path作为RPM数据库的路径。
Yx'res4e _&3<6$}i" --ftpport prot
|iFVh$N 用port作为FTP端口。
~`;rNnOT3 u),Qa=Wp --ftpproxy host
TjK{9A 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
{npcPp9 _#e&t"@GS --help
iL{M+Ic 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
o;"OSp >Y 1{rSk --justdb
K[\'"HyQ,X 只更新数据库;不改变任何文件。
.ujT!{>v/ yj6@7@l>A --pipe command
X#a`K]!B 用管道把rpm输出到commond。
57{oh") b<I9 MR --quiet
D-imL;| 仅显示错误信息。
m%+IPZ2m %m5Q"4O --rcfile filename
~\nBjM2 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
h5z)Lc^ U7mozHS,:9 --root dir
PHg48Y"Nd 在dir目录内执行所有操作。
et,GrL)l jg
2qGC --version
^ OJyN,A 输出rpm版本号。
ER2GjZa\z O[17";P -vv
YO{GU7 输出调试信息。
m^%|ZTrwN7 9_ICNG% --------------------------------------------------------------------------------
M/PFPJ >` $DFv30 f WzW-pV] 安装升级和刷新
?8dVH2W. y<R= 安装或升级一个RPM包,install命令的语法为:
39U5jj7i +eQe%U rpm -i [install-options] package_file
fHrt+_Zn| rpm --install [install-options] package_file
k?BJdg)xJ %HQ.| 示例:
FFhtj(hVgc =6FUNvP#8 [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
z><5R|Gf package lynx-2.8.5-18 is already installed
o{v&.z [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
(%CZ*L[9Z --------------------------------------------------------------------------------
Ph&urxH@ F1;lQA*7K. 3T\l]? z 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
fjo{av~]y {C`GW}s{4 rpm -U [install-options] package_file
3OyS8` rpm --upgrade [install-options] package_file
LL^q1)o P=N$qz$U 示例:
5OIc(YhYf K)7zKEp`cj 先安装旧版
75!9FqMZ} [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
-${DW^txMZ 6[qA`x# 再安装新版
1L7{p>;-dO [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
x"kjs.d7[< J;t 7&Zpe 显示出新版本信息
}F6<w{| [root@localhost ~]# rpm -q lynx
)/ Ud^wi lynx-2.8.5-18
kEeo5XN e;bYaM4UX 说明:
Mpue -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
Mvj;ic6iK H?1xjY9sl 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
seFGJfN\?f --------------------------------------------------------------------------------
=-cwXo{Q.O l@j.hTO< I7+9~5p 刷新的语法是:
~8 H_u +1JH rpm -F [install-options] package_file
,ea^,H6 m .IU ;cR rpm --freshen [install-options] package_file
#$~ba%t9% _i_Q?w` 示例:
->z54 T
-Ue$T{;RoH 从未安装过lynx包,使用-F选项,将无法升级。
\mM<\-'p |rw%FM{F [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
=rA~7+} [root@localhost ~]# rpm -q lynx
/gcEw!JS package lynx is not installed
a/Q$cOs --------------------------------------------------------------------------------
qL$a
c}` KAA-G2%M n>3U_yt6b 安装和更新选项为:
}K1 0Po' "|Fy+'5} --allfiles
MiT}L 安装或更新所有文件。
nL@KX> GY3 Wj --badreloc
E9\vA*a 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
%t=kdc0=_ 2=0DCF;Bv --excludedocs
%)jxW{ 不安装任何文档文件。
]=rht9)," d4:`@* --excludepath path
Z 2}ah 不安装文件名以path开始的任何文件。
)C(>H93 I3 =#@2 --force
@}_WE,r 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
T#%/s?_>. :a8 YV!X -h,--hash
L$'[5"ma
; 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
.Ig+Dj{) 3P~o"a> --ignorearch
o56` 即使二进制包用于不同的体系结果也进行安装。
n8=5-7UT TlAR.cV --ignoreos
Xdi:1wW@p 即使操作系统不匹配也安装二进制包。
c0c|z
Ym d\MLOXnLq; --ignoresize
WH ?}~u9 安装前不检查磁盘的可用空间。
g
6]epp[8 !g~1&Uw1 --includedocs
~AYN 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
a8u9aEB :.(;<b<\ --nodeps
]A
FI\$qB\ 不检查这个包是否依赖于其他包的存在。
#ywk|k5z] "gd=J_Yw --noorder
qbrp P(. 安装之前,不为了满足依赖关系而对包进行重新排序。
')a(.f i|
\6JpNA: --noscripts
_(J&aY\ 不执行任何预安装或后安装脚本。
@3fn)YQ' ,h|q i[7 --notriggers
}(a+aHH 不执行任何由包安装触发的脚本。
MRU7W4W-~/ !-s!f&_ --oldpackage
T|&[7%F3" 允许升级以用旧包替换新包。
a`Gx=8 5tQ1fJze --percent
f>'Y(dJ'W 当文件被解压时输出完成百分比的信息。
A5,t+8`aci |+ N5z --prefix path
y"]n:M:( 把可重定位包的安装前缀设置为path。
sGvIXD Li*eGlId --replacefiles
&`b
"a! 即使包替换了来自其他安装包的文件,也安装这些包。
1+b{}d 5J8r8` t --replacepkgs
TJE\A)|>g 即使某些包已经被安装,也安装他们。
XC{eX&,2x $/Aj1j`"9+ --test
2Q;9G6p 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
kq\)MQ"/X at2FmBdu C --------------------------------------------------------------------------------
**69rN .q+0pj hdTzCfeZ5@ 查询
:Hxv6 MX@IHc query命令的语法为:
=PGs{?+&O h|X^dQb] rpm -q[information-options] [package-options]
"~TA SX_? rpm --query[information-options] [package-options]
KfF!{g f 8* Jw0mSw 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
W0I#\b18 --------------------------------------------------------------------------------
w+1Gs
; [qsEUc+Z.' m%?V7-9!k 以下简单示演示一下包查询:
">?vir^ /VG2.: 简单查询:
f6$b
s+oP E7-@&=]v 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
;c$ J=h] qZ@s#UiB 示例:
o M Zq+> "`N-* ;*W [root@localhost ~]# rpm -q lynx
4&l10fR5 lynx-2.8.5-18
B=|cS;bM$3 --------------------------------------------------------------------------------
Sna4wkbS h=-"SW 3_A
*$ 信息查询:
:6$>_m=i arf8xqR-U] rpm -qi packagename命令可以得到安装包的汇总信息。
eYx Kp!f F-6c_! 示例:
=-p$jXVW% [root@localhost ~]# rpm -qi lynx
Z0l+1iMx Name : lynx Relocations: (not relocatable)
37}D9:#5C Version : 2.8.5 Vendor: Red Hat, Inc.
[`
sL?&a Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
utr:J Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
.bio7c6 Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
Yup3^E
w& Size : 4837340 License: GPL
X.:]=,aGW Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
4*$G & TX Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> DK}"b}Fvq URL :
http://lynx.isc.org/ ;J7F J3n Summary : 一个基于文本的网页浏览器。
D= 7c( Description :
2#k5+?-c61 Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
F:a ILx 图像,但是它支持框架、表格、以及多数其它 HTML
XVU2T5s} 标签。Lynx 优于图形化浏览器的地方是它的速度――
3do)Vg4
Links 能够快速启动、退出、及显示网页。
Z(Jt~a3o 标识拥有者
}l=xiAF --------------------------------------------------------------------------------
K$d$m < 08*v~(T c*~]zR>s! 找出什么包拥有文件file:
Z@r.pRr'
63A}TBC 示例:
q:g2Zc'Y~W W6Y@U$P#G [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
/t(C>$ }p lynx-2.8.5-18
RD.V'`n" --------------------------------------------------------------------------------
U,LTVYrO ^b
%0B G$sA`<< 列表包中的文件:
}1r m +]Y,q
w 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
Od|$Y+@6 fDP$ sW 示例:
P67o{EdK CJhL)0Cs 此为部分显示结果
M>/Zbnq [root@localhost ~]# rpm -ql lynx
[pM V?a[ /etc/lynx-site.cfg
{%C7EAq* /etc/lynx.cfg
)(@Hd /etc/lynx.cfg.cs
AQ='|% /etc/lynx.cfg.ja
zL J/5& /etc/lynx.cfg.sk
wiBVuj# /usr/bin/lynx
L{c q, jk /usr/share/doc/lynx-2.8.5
3*@5S]] /usr/share/doc/lynx-2.8.5/INSTALLATION
Y3=_ec3w /usr/share/doc/lynx-2.8.5/README
}-@`9(o`) /usr/share/doc/lynx-2.8.5/docs
oqeSG.1 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
!Xph_SQ!B= /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
F,'exuZ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
wKsT7c' /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
95V@X
^Ee /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
uDZT_c'Y /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
p
l&Muv /usr/share/doc/lynx-2.8.5/docs/CMU.announce
,f&5pw
= /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
LWt&3
/usr/share/doc/lynx-2.8.5/docs/FM.announce
-(b kr+N /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
&/Q0 /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
+U3m#Y )k /usr/share/doc/lynx-2.8.5/docs/README.TRST
"V}[':fen /usr/share/doc/lynx-2.8.5/docs/README.chartrans
h3;bxq!q JGQj w(Xs --------------------------------------------------------------------------------
R`~z0d. ;"m ,:5% |u ;v27 列出包所提供的实际能力:
~appY Av ,#kIr --provides选项的作用是列出这个包所提供的实际能力。
FeTL&$O ::/j$bL 示例:
}3L@J8:D" L5\WpM= [root@localhost ~]# rpm -q --provides lynx
$-*!pRaVU config(lynx) = 2.8.5-18
icgSe:Ci webclient
0/oyf]HR lynx = 2.8.5-18
'3 ^+{=q --------------------------------------------------------------------------------
~Onoe $A[< 2Roc|)-47 _"w2U q 列出这个包所倚赖的任何包:
_zwUE 1N>|yQz -R,--requires选项的作用是列出这个包所依赖的任何包。
o+$7'+y1n- b 'pOJS 示例:
Ez-[
)44/ .uk>QMs1 [root@localhost ~]# rpm -qR lynx
v7`HQvQEz= /bin/sh
fwRZ5`v< config(lynx) = 2.8.5-18
q+vx_4 indexhtml
x3"#POp libc.so.6
Bb"Bg\le,^ libc.so.6(GLIBC_2.0)
>L
0_ dvr libc.so.6(GLIBC_2.1)
#*(td<Cp libc.so.6(GLIBC_2.2)
A`}rqhU.{- libc.so.6(GLIBC_2.3)
heK7pH7;d libcrypto.so.4
i|m3mcI%2 libncursesw.so.5
ZKckAz\# libssl.so.4
7[}xP#Z libz.so.1
Os1>kwC rpmlib(CompressedFileNames) <= 3.0.4-1
"
_ka<R.. rpmlib(PayloadFilesHavePrefix) <= 4.0-1
u9EgdpD --------------------------------------------------------------------------------
+qwjbA+ lh;:M-b9 & J2M1z% 列出包中的配置文件
E L9]QI Uh):b%bS;J -c,--configfiles选项的作用是列出包中的配置文件
Yn G_m] 9Q+'n$s0^ 示例:
fu]s/'8B XnWr5-; [root@localhost ~]# rpm -qc lynx
!GNBDRr /etc/lynx-site.cfg
9^G/8<^^> /etc/lynx.cfg
A'&K/) Z /etc/lynx.cfg.cs
~S7D>D3S /etc/lynx.cfg.ja
p$3sME$L /etc/lynx.cfg.sk
l|k`YC x --------------------------------------------------------------------------------
%Va!\# fV'ZsJ N bq:(u4 3 显示有关于包的改变信息的日志:
P IwFF}<( Tap.5jHL --changllog选项的作用是显示有关于包的改变信息的日志。
d!
LE{ (j3xAA 示例:
,^ . 88< !74S 此为部分显示结果
Y/ .Z.FD` [root@localhost ~]# rpm -q --changelog lynx
bKN@j'M * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
^8AXxE - Removed perl dependencies (bug #127423).
<,e+
kL{ * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
ub\MlSr - rebuilt
cLsV`@J(k * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
#T=LR@y - No longer need lynx-284-ipv6-salen.patch.
5MtLT#C3r - No longer need lynx2-8-2-telnet.patch.
wlqpn(XR * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
K#=*9S - rebuilt
s pp f * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
3GhRWB-U - Updated to dev16, fixing bug #110196.
)6D,d5< - No longer need crlf patch.
:6 Lx@ - Use shipped ja translations.
.xm.DRk3 - Use %find_lang.
.@@?Pj?) - Default config file now sets UTF-8 (bug #110986).
HV{wI1 --------------------------------------------------------------------------------
^5h]Y;tx uJC~LC N $4 S@ 包选择选项
<4g{ fT0 f-`)^5E package_name
uYs5f.! ` 查询已安装包的package_name。
#0P$M!% noml8o -a,--all
x"gd8j]s 查询所有已安装拨。
@W[f1 b2OQtSr a -f file,--file file
opy("qH 找出什么包拥有文件file。
AK*LyR? 8{^WY7.' -g group,--group group
I uMQ9& 找出什么包拥有组group。
e}
P I^bc ZK@N5/H( -p package_file
x:7b/j- 查询未安装包package_file
'":lB]hS (nlvl?\d --querybynumber num
jU9$Ehg
I 查询第num个数据库条目。主要用于调试。
3TY5 ;6 [BqHx5Xz( -qf,--queryformat num
r0+6evU2 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
ToXki, ^h~x)@= --specfile specfile
,+meT`'vn 查询specfile,就好象它是个包
8&?s#5zA {MCi<7j<? --triggeredby pkg
Rn9m]x 列出触发安装pkg包的包。
,!Z*5 %yW3VL --whatrequires capability
2.l Z:VLN 列出要求特定能力来行使职责的包。
jB$IyQ;@ d4>Z8FF|1B --whatprovides capability
Sjyoc<Uo 列出提供特定能力的包。
{=!b/l;@ --------------------------------------------------------------------------------
GVYBa_gx vY${;#~| $Q96,rb}k; 信息选择选项:
.<x&IJ / r&R B9S@*h -c,--configfiles
s;S?;(QI 列出包中的配置文件。
%)|9E>fP]N zQ@I}K
t --changelog
%|g>%D3Z? 显示有关于包的改变信息的日志。
(Pf+0,2 zF8dKFE~ -d,--docfiles
s:#V(<J 列出包中的文档文件。
vq^f}id >VP=MbN --dump
b[t> te 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
K9$>Yxe| 以下列顺序输出信息:
@eD):Y path size mtime md5sum mode owner group isconfig isdoc rdev symlink
9`I _Et @z4*.S&tz --filebypkg
F)&@P-9+ 列出每个包中的所有文件。
4)h]MOZ \W1,F6&j -i
p^%YBY#,H 显示包的信息,包括名字,版本和描述。
%k-3?%&8 4C<jdv_J -l,--list
Hv
sob 列出包中所有文件
kP#B5K_U| q>$ev)W --last
Ox&P}P0f 根据安装时间列出包,最新的包排第一位。
8+a4>8[M Ghx3EVqnx" --provides
E^ P,*s 列出这个包所提供的实际能力。
q|o}+Vr DoJ\ q+ -R,--requires
J&[@}$N 列出这个包所依赖的任何包。
HJXT9;w !UG
7Uer -s,--state
T (OW 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
v,
n$^R 'Jt]7;04p --scripts
^?cz,N~ 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
lE;Ewg k9 "[H' --------------------------------------------------------------------------------
uD1e!oU D7lK30 4]G?G]lS> 卸载
x(hE3S#+ YQ+tDZY8` uninstall命令的语法为:
#E?(vA1 4}_j`d/8| rpm -e package_name
@.b+av4J rpm --erase package_name
M=1n QF2J M9V
q
-U18 示例:
rR9|6l
3 2^mJ+v< [root@localhost ~]# rpm -e lynx
Izhee%c [root@localhost ~]# rpm -q lynx
_,xc[ 07 package lynx is not installed
g!$!F>[ --------------------------------------------------------------------------------
YP.5fq: r"``QmM %X4xv_o`f 卸载选项为:
tk!t
Y8j TD'L'm|2 --allmatches
aGJC1x 删除包的所有版本。应该只指定一个包,否则会导致错误。
lG4H:[5V 'MEz|Z --nodeps
U}6.h&$ 在卸载包之前不检查依赖性。
OTGofd2zf 4{hps.$?~ --noscripts
X%Z{K- 不执行任何预卸载和后卸载脚本。
@y='^DQ* `tHvD=`m. --notriggers
i`QKH 不执行任何由这个包的删除而出发的脚本。
|zQ4u {Or; --test
%MrWeYd1 不真正卸载任何包,仅仅查看活动过程。