Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
j5m]zh5\J= ,p6o "- 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
gt!tDu 7w?N-Q$y 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
G],W{<Pe |t_SN,)dd 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
Q\aC:68 --------------------------------------------------------------------------------
P"r7m AizLzR$OG JxlZ,FF$@ 以下简要介绍RPM包的安装,删除和查询
qTV.DCP QoS]QY'bZ RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
zRgl`zREr Z(BZGO< rpm命令的格式为:
K5 Z'kkOk AX6l=jFZx rpm [options] [packages]
BCt>P?,UO Z;cA_}5 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
RH"EO4 /;`-[ 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
-qpe;=g&f --------------------------------------------------------------------------------
.<Jq8J U)D}J_Zi( j~O"=?7!O RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
0(+dXzcwM vO8CT-) 以下为rpm --showrc命令显示的节选:
Oox,4& YT<(2u#Ng 示例:
O[R
E]ZIm 此为部分显示结果
7%i6zP/a [root@localhost ~]# rpm --showrc
s:^Xtox/ ARCHITECTURE AND OS:
MG4(,"c! build arch : i386
N.-*ig.YR7 compatible build archs: athlon i686 i586 i486 i386 noarch
Zi.w+V build os : Linux
[~k!wipK compatible build os's : linux
8\m[Nuq5 install arch : athlon
BHDd^bd install os : Linux
=]P|!$!}0 compatible archs : athlon i686 i586 i486 i386 noarch
tTPjCl compatible os's : linux
0|FQIhVuY RPMRC VALUES:
]_2<uK}fg 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
r-5xo.J' optflags : %{__global_cflags} -m32 -march=athlon
_Q}vPSJviC Features supported by rpmlib:
sLW e \o rpmlib(VersionedDependencies) = 3.0.3-1
i"#zb&~nF PreReq:, Provides:, and Obsoletes: dependencies support versions.
k];fQ7}m<0 rpmlib(CompressedFileNames) = 3.0.4-1
(ljoD[kZ file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
(w?W=guHu rpmlib(PayloadIsBzip2) = 3.0.5-1
zI'c 'X1, package payload can be compressed using bzip2.
D"X`qF6U7 --------------------------------------------------------------------------------
[[KIuW~ot |L~RC PB!*&T'! rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
.gA4gI1kH 7
'{wl,u 示例:
5>&C.+A 9 ^']*UD; [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
td|O #R Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
8:jakOeT Preparing... ########################################### [100%]
bP{uZnOM2P 1:lynx ########################################### [100%]
~4M?[E& --------------------------------------------------------------------------------
z`Xc] cPi _OJ19 Ry @O)1Hnm 以下列出一些通用选项(可以用于所有模式):
TFtD>q X R^Y_i --dbpath path
^'$P[ 用path作为RPM数据库的路径。
|/;X-+f8 o*xft6U --ftpport prot
EN)0b,ax 用port作为FTP端口。
2,G9~<t R9InUX"k --ftpproxy host
]Yt,|CPe2 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
N|asr, Hw~?%g:<S --help
;a`I8F j 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
DTCOhUIV m]/sR3yF --justdb
M(<.f}yZQ 只更新数据库;不改变任何文件。
^zR*s |1Q {Zf 9}
!qF --pipe command
S0tPnwco[~ 用管道把rpm输出到commond。
`D0Hu!; *w6(nG'M{ --quiet
}RZN3U= 仅显示错误信息。
"SU
O2-Gj W_h!Puj_ --rcfile filename
$J]o\~Z J 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
8J8@0 N@\`DO --root dir
8Xz \,}$O 在dir目录内执行所有操作。
(r"2XXR {'[S.r` --version
fk(h*L|sI 输出rpm版本号。
@+!u{ f9La79v -vv
E,7b=t 输出调试信息。
cGS7s 8U "i;" --------------------------------------------------------------------------------
SsQg8d fnn/akGKI xoN?[ 安装升级和刷新
\Wf1b8FW a
VIh|v 安装或升级一个RPM包,install命令的语法为:
X>ck.}F `_>44!M rpm -i [install-options] package_file
OLyl.#J rpm --install [install-options] package_file
3ULn ]jA F'^?s= QX 示例:
n^%",*8gD* +%LR1+/%b [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
Vi<F@ji package lynx-2.8.5-18 is already installed
1g_Dkv|D [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
y!jq!faqt --------------------------------------------------------------------------------
MLt'tzgl dR
>hb*kJ yIma7H@=L 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
,=`iQl3(y/ d`4F rpm -U [install-options] package_file
I'%ASZ rpm --upgrade [install-options] package_file
S/x CX! Mt%=z9OLq9 示例:
b1-'q^M 0v'!(&m 先安装旧版
[PL]!\NJ [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
?TY/'-M5 ;BYv&(#u1q 再安装新版
/%i: (Ny [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
h"On9 )jed@? 显示出新版本信息
3Jw}MFFV [root@localhost ~]# rpm -q lynx
T:!Re*=JJ lynx-2.8.5-18
El|Y]f 4>t=r\"4 说明:
HHg[6aw -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
$Ce;}sM &E`=pe/e 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
287)\FU;3 --------------------------------------------------------------------------------
4pZ=CB+j 2t`d.s= R![4|FR 刷新的语法是:
z;6,, d @>1m:p rpm -F [install-options] package_file
peGh- ;@V1*7y rpm --freshen [install-options] package_file
g0A,VX:2 P2sM3C 示例:
Qs;MEt 1 Q7XlFjzcm 从未安装过lynx包,使用-F选项,将无法升级。
{V5eHn9/Q' 5FwVR3, [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
)1o<}7 [root@localhost ~]# rpm -q lynx
>IE`, fe package lynx is not installed
J|:Zs1.<d --------------------------------------------------------------------------------
{Q
AV !Yu|au <F-W fR 安装和更新选项为:
C,nU.0 P%Tffsl
--allfiles
Wtqv 安装或更新所有文件。
t B Kra U$^ $7g 3 --badreloc
1eMz"@Q9 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
s[#ww
=T\ =SLCG. --excludedocs
hO0g3^ 不安装任何文档文件。
Kld#C51X f n0tVAH'> --excludepath path
+z?SKc 不安装文件名以path开始的任何文件。
l|5;&(Y+s 6>j0geFyE2 --force
@"'$e_jj" 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
zE1=*zO` ZA.i\
;2 -h,--hash
>!%F$$ 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
KIYs[0*k #Iwxt3K --ignorearch
<-F[q'!C1 即使二进制包用于不同的体系结果也进行安装。
J:oAzBFpA a474[? --ignoreos
lq}g*ih 即使操作系统不匹配也安装二进制包。
^Bu55q y sFp` --ignoresize
[WW ~SOJe 安装前不检查磁盘的可用空间。
(I\qTfN4 ZOY zCc(d --includedocs
w[Q)b() 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
gPw{'7'U b?nORWjC --nodeps
^2-t|E= 不检查这个包是否依赖于其他包的存在。
j/uu&\e 2^4OaHY88 --noorder
vmIt!x 安装之前,不为了满足依赖关系而对包进行重新排序。
Rxk0^d:sNi G'f5MP1 --noscripts
C}Ucyzfr,p 不执行任何预安装或后安装脚本。
^@OdY&5^ J `
KyS --notriggers
%#iu 不执行任何由包安装触发的脚本。
%)p?&_ se&Q\!&M --oldpackage
)Rr0f 8 允许升级以用旧包替换新包。
}-H)jN^ ^F:Bj&0v[ --percent
`$i/f(t6` 当文件被解压时输出完成百分比的信息。
XWv;l) yNOoAnGT W --prefix path
+S
],){ 把可重定位包的安装前缀设置为path。
Ucd~-D Qkb=KS%z --replacefiles
0UOjk.~b 即使包替换了来自其他安装包的文件,也安装这些包。
oJe`]_XZ h"t\x}8qq --replacepkgs
vk.P| Y-; 即使某些包已经被安装,也安装他们。
VQl(5\6O (fcJp)D --test
-)Of\4kx 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
y{Vh?Z<E 9s&Tv&%VN --------------------------------------------------------------------------------
Q%n$IQr4gM l'
2C/#8F lL"ANlX-P 查询
*^[j6 /a?qtRw query命令的语法为:
g[$4a4X qA5 Ug rpm -q[information-options] [package-options]
^/fasl$# rpm --query[information-options] [package-options]
J/B`c( (0u(<qA\ 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
66-G)+4 --------------------------------------------------------------------------------
W.Z`kH *B Hp5.jor(k E_T!|Q. 以下简单示演示一下包查询:
@^Yr=d ba p,7,
tx 简单查询:
uS7kkzt-x \h5!u1{L 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
Sjo7NR^#e D-4{9[ 示例:
~Aw.=Yi= f[wxt n'r [root@localhost ~]# rpm -q lynx
6os{q`/Q]) lynx-2.8.5-18
($'5xPb --------------------------------------------------------------------------------
.JX9(#Uk DhD^w;f] do:IkjU~ 信息查询:
C1o^$Q|j #eIFRNRb) rpm -qi packagename命令可以得到安装包的汇总信息。
-_ <z_IL\% I`;SA~5 示例:
UX%J?;g [root@localhost ~]# rpm -qi lynx
45;ey }8 Name : lynx Relocations: (not relocatable)
%
Ou'+A Version : 2.8.5 Vendor: Red Hat, Inc.
;Q,,i Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
a!B"WNb+ Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
CN:z
*g Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
;@xlrj+ Size : 4837340 License: GPL
'8=/v*j>? Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
W_lXY Z< Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> zD;k|"e URL :
http://lynx.isc.org/ Uj)Wbe[)p0 Summary : 一个基于文本的网页浏览器。
n&3}F? Description :
GQ2/3kt Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
ym_p49 图像,但是它支持框架、表格、以及多数其它 HTML
||4T*B06 标签。Lynx 优于图形化浏览器的地方是它的速度――
S? #6{rx Links 能够快速启动、退出、及显示网页。
X}H?*'- 标识拥有者
`IT]ZAem`/ --------------------------------------------------------------------------------
UCJx{7 \3`r/,wY PU8dr| ! 找出什么包拥有文件file:
qHnX) >:HmIW0PLe 示例:
1>Q4&1Vn rFaG-R [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
\/ipYc lynx-2.8.5-18
\rd%$hci --------------------------------------------------------------------------------
0o!mlaU# */2nh%>$ a|#TnSk 列表包中的文件:
_@W1?;yD }(7TiCwd 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
<~P!yL r w[C*w\A\M 示例:
U7Oa
13Qz M.+h3<%^ 此为部分显示结果
m`}mbm^ [root@localhost ~]# rpm -ql lynx
{@6:kkd /etc/lynx-site.cfg
S=\cF,Zs /etc/lynx.cfg
#nw+U+qL /etc/lynx.cfg.cs
"c\WZB`| /etc/lynx.cfg.ja
LosRjvQ: /etc/lynx.cfg.sk
X9ZHYlr+Q /usr/bin/lynx
CK1A$$gnz /usr/share/doc/lynx-2.8.5
huW,kk<]y /usr/share/doc/lynx-2.8.5/INSTALLATION
U.X`z3q /usr/share/doc/lynx-2.8.5/README
m'QG{f /usr/share/doc/lynx-2.8.5/docs
ka6E s~ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
*jvP4Nz)k /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
`mA;1S /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
]6M,s0 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
8i5S
} /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
{xeJO:M3/ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
wl&T9O;? /usr/share/doc/lynx-2.8.5/docs/CMU.announce
Qj|rNeM_ /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
\Y>b#*m(4 /usr/share/doc/lynx-2.8.5/docs/FM.announce
M\-[C!h, /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
b3F KDm[ /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
R:$E'PSx /usr/share/doc/lynx-2.8.5/docs/README.TRST
C+g}+ /usr/share/doc/lynx-2.8.5/docs/README.chartrans
~(8f Uob tDRo)z --------------------------------------------------------------------------------
d%. |MAE E- [Eg (Gw*xsn 1 列出包所提供的实际能力:
H6{Bx2J1* ?dbSm3 --provides选项的作用是列出这个包所提供的实际能力。
_GFh+eS} OTE,OCB[ 示例:
Arm'0)B> 0G6aF" [root@localhost ~]# rpm -q --provides lynx
oyr b.lu/ config(lynx) = 2.8.5-18
(xHu@l!] webclient
Rk7F;2 lynx = 2.8.5-18
g$^-WmX\m --------------------------------------------------------------------------------
9!(%Vf> ~\<$H' R?{xs 列出这个包所倚赖的任何包:
9TQVgkW H`'a|Y -R,--requires选项的作用是列出这个包所依赖的任何包。
r7oFG!.? 9:Oz-b 示例:
pZ}B/j ]XbMqHGS [root@localhost ~]# rpm -qR lynx
B{R [z%Y /bin/sh
|Y05 *!\P* config(lynx) = 2.8.5-18
mvK^') indexhtml
y: x<`E= libc.so.6
W#~7X libc.so.6(GLIBC_2.0)
kl]MP}wc libc.so.6(GLIBC_2.1)
;Mo_B9 libc.so.6(GLIBC_2.2)
n@xQ-v libc.so.6(GLIBC_2.3)
nq HpYb6I0 libcrypto.so.4
{0w2K82 libncursesw.so.5
f)j*P<V libssl.so.4
@fYVlHT%E libz.so.1
r
dSL rpmlib(CompressedFileNames) <= 3.0.4-1
uxB)dS rpmlib(PayloadFilesHavePrefix) <= 4.0-1
~abyjM --------------------------------------------------------------------------------
X!K> .r_Dg `(h^z>% nAWb9Yk 列出包中的配置文件
n0T|U S4`X^a}pY -c,--configfiles选项的作用是列出包中的配置文件
@B(oq1i@ 8T9s:/% 示例:
.Y{x!Q" v:/\;2 [root@localhost ~]# rpm -qc lynx
NI#]#yM+ /etc/lynx-site.cfg
Fz';H /etc/lynx.cfg
aqN{@| /etc/lynx.cfg.cs
\OtreYi /etc/lynx.cfg.ja
'mbLK#q /etc/lynx.cfg.sk
o+&Om~W --------------------------------------------------------------------------------
O*GF/ R8B !IdVg $7 _wK.n.,S~ 显示有关于包的改变信息的日志:
On}1&!{1] /uX*FZ --changllog选项的作用是显示有关于包的改变信息的日志。
D$K'Qk #p@GhI!6 示例:
'"E!av> ! e$ZOYe 此为部分显示结果
{%G9iOV. [root@localhost ~]# rpm -q --changelog lynx
Or.u*!od& * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
/ Qd` ? - Removed perl dependencies (bug #127423).
=~h b& * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
:>{!%-1Z - rebuilt
H^*AaA9- * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
Z! O4hA4 - No longer need lynx-284-ipv6-salen.patch.
~q}L13^k - No longer need lynx2-8-2-telnet.patch.
(g@\QdH`| * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
mdEJ'];AH - rebuilt
0|FxSc * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
'Og@<~/Xy - Updated to dev16, fixing bug #110196.
%S;AM\o4 - No longer need crlf patch.
< ,0D|O,Y - Use shipped ja translations.
,M.}Q ak^ - Use %find_lang.
o& FOp' - Default config file now sets UTF-8 (bug #110986).
a%B&F|u --------------------------------------------------------------------------------
u_$4xNmQ 6whPW
. ?iP7Ki 包选择选项
4F|79U # @d0f +9d package_name
K<*6E@+i 查询已安装包的package_name。
aE5-b ub c F1stRZ1ZI -a,--all
"ktuq\a@ 查询所有已安装拨。
KJ'ID qx5`lm~L -f file,--file file
'G l~P><e 找出什么包拥有文件file。
z1Bi#/i `^SRg_rH=` -g group,--group group
P-Y_$Nv0g 找出什么包拥有组group。
'JMW.;Lh?X *^|\#UIk
-p package_file
g,._3.D 查询未安装包package_file
YUEyGhkMV{ 6/S.sj~ --querybynumber num
y|ZL<L 查询第num个数据库条目。主要用于调试。
U_"!\lI_yg
Fn@`Bi?#q -qf,--queryformat num
d j\Z}[ 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
XYzaSp=bb Gn8sB --specfile specfile
_GG\SWm 查询specfile,就好象它是个包
AhN3~/u%7 V'j+)!w5 --triggeredby pkg
d-_V*rYU 列出触发安装pkg包的包。
X?'cl]1? +_7a/3kh --whatrequires capability
:,0(aB 列出要求特定能力来行使职责的包。
~r.R|f]IQ 4tZ *%!I' --whatprovides capability
~gd#cL% 列出提供特定能力的包。
:E.a.- --------------------------------------------------------------------------------
*I(6hB Mqd'XU0L />S^`KSTM 信息选择选项:
- j3Lgm Sk|e#{ -c,--configfiles
HJAiQ[m5s 列出包中的配置文件。
R7Y_ 7@p '%rT]u3U --changelog
pr#%VM[':R 显示有关于包的改变信息的日志。
hi[nUG(OI ?z9!=A%<V~ -d,--docfiles
=Pl@+RgK+ 列出包中的文档文件。
!#)t<9]fv ]!/U9"_e"B --dump
1p.c6[9- 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
~-zTY&c_ 以下列顺序输出信息:
le'RU1k path size mtime md5sum mode owner group isconfig isdoc rdev symlink
NbU`_^oC w1)TnGT --filebypkg
2L](4Q[M 列出每个包中的所有文件。
GM%OO)dO} y8~OkdlN# -i
9S|sTf 显示包的信息,包括名字,版本和描述。
\ZLi Y :0l+x0l} -l,--list
*2X~NJCt 列出包中所有文件
3
,>M-F eK:?~BI! --last
#-'`Ybw 根据安装时间列出包,最新的包排第一位。
,-e}Xw9 T/'z,,Y --provides
$IE}fgA@5 列出这个包所提供的实际能力。
Z0L($ AabQ)23R2 -R,--requires
f#!+l1GV 列出这个包所依赖的任何包。
z^QrIl/<c2 n?@zp< -s,--state
s=n4'`y1 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
^w^e~0
S <!sLfz? --scripts
s?EQ 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
-O *_+8f 6j|Ncv --------------------------------------------------------------------------------
05LkLB 72sqt5C] 2o?j{K 卸载
U80=f2 2&4nf/sE uninstall命令的语法为:
1VgGF^cYR WEj{2+ rpm -e package_name
J 4gtm"2) rpm --erase package_name
r
W`7<3 nEsD+}E? 示例:
>.Gmu g5nJ0=9 [root@localhost ~]# rpm -e lynx
VP#KoX85 [root@localhost ~]# rpm -q lynx
{nKw<F2 package lynx is not installed
x2B8G;6u --------------------------------------------------------------------------------
M1/d7d 3lp'U&3`5 ;A,X,f 卸载选项为:
T>B'T3or dkw.o.e --allmatches
D0\>E}Y E 删除包的所有版本。应该只指定一个包,否则会导致错误。
<,)R`90_X6 bh.&vp.kP --nodeps
UOZ+&DL,L 在卸载包之前不检查依赖性。
EQ$k^Y8 " UDG1F_&h --noscripts
c* ueI5i 不执行任何预卸载和后卸载脚本。
* 1;4&/93o ^`kwSC --notriggers
b-<0\@`Z# 不执行任何由这个包的删除而出发的脚本。
=5\*Zh1 %'iJVFF --test
1#=9DD$4 不真正卸载任何包,仅仅查看活动过程。