Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
*m9{V8Yi2 Z|G/^DK! 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
=!BobC- [b [#Y' dFQ 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
9Hd;353Q t6+YXjXK 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
5,1{Tv` --------------------------------------------------------------------------------
4*TmlY b O=yi) !nd*W"_gQ/ 以下简要介绍RPM包的安装,删除和查询
3uV4/%U 8Hi!kc;f6> RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
|S&5es-yW ](#&.q%5! rpm命令的格式为:
[84F09HU +f>c xA
rpm [options] [packages]
glE^t6) -Fxmsi 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
=bLY
/ ; Y"N6% 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
N>|XS
, --------------------------------------------------------------------------------
(u hd "
<P_ea/5:| ~=En+J}* RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
bl;zR Ow:1?Z{4 以下为rpm --showrc命令显示的节选:
`]=oo%(h @*>Sw>oet 示例:
C$d>_r A(8n 此为部分显示结果
S QY"OBo<e [root@localhost ~]# rpm --showrc
t
P"\J(x ARCHITECTURE AND OS:
u,1}h L build arch : i386
I7n3xN&4" compatible build archs: athlon i686 i586 i486 i386 noarch
!2tW$BP^ build os : Linux
~6aCfbu%V compatible build os's : linux
c+kU o$ install arch : athlon
LOvHkk@+ install os : Linux
+ H_WlYg- compatible archs : athlon i686 i586 i486 i386 noarch
+*}{`L-
: compatible os's : linux
;
A,#;%j RPMRC VALUES:
jjzA .8?(7 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
]]0,|My7 optflags : %{__global_cflags} -m32 -march=athlon
6GAaV[])' Features supported by rpmlib:
n6MM5h/#r rpmlib(VersionedDependencies) = 3.0.3-1
WGu%7e] PreReq:, Provides:, and Obsoletes: dependencies support versions.
x%N\5 V1 rpmlib(CompressedFileNames) = 3.0.4-1
.fYZ*=P;c file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
uH@FU60 rpmlib(PayloadIsBzip2) = 3.0.5-1
_Ov;4nt! package payload can be compressed using bzip2.
t<j^q`;@v --------------------------------------------------------------------------------
amWD-0V zR;X*q"T$4 \.uc06 rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
w Q+8\ s= LD>\#q8a* 示例:
]m4OIst EW<kI+0D [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
!#2=\LUC Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
6KZf%)$ Preparing... ########################################### [100%]
ORN6vX(1 1:lynx ########################################### [100%]
"LhvzM-<8 --------------------------------------------------------------------------------
"O[j!fG8, N587(wZ O#a6+W"U 以下列出一些通用选项(可以用于所有模式):
(X[CsaXt N K]B? --dbpath path
X2|Y 用path作为RPM数据库的路径。
N8r*dadDd \x{;U#B[3> --ftpport prot
l_rn++ 用port作为FTP端口。
L!Cz'm"Nl !v.9"!' N --ftpproxy host
Pmg)v!" 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
. @q-B+Eg ?, r~= --help
X-LA}YH=tS 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
uX/$CM ;%C'FV e] --justdb
e({9] 只更新数据库;不改变任何文件。
@f+8%I3D oR1^/e --pipe command
N2'qpxOLI 用管道把rpm输出到commond。
Z?P~z07 }[+!$# --quiet
l v&mp0V+ 仅显示错误信息。
+=q) ~[WF_NU1y --rcfile filename
?>c=}I#Ui- 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
(>4aibA'P Ys+OB*8AE --root dir
}R[#?ty;] 在dir目录内执行所有操作。
$?G"GQ!. g>rp@M --version
m([(:.X/IX 输出rpm版本号。
oX@ya3!Pz =J-5.0Q\_\ -vv
h^9"i3H 输出调试信息。
"gtHTqheH L4u;|-znw --------------------------------------------------------------------------------
@`opDu! aI(7nJ=R '>$EOg" 安装升级和刷新
)n49lr6X PNF?;*`-{7 安装或升级一个RPM包,install命令的语法为:
\!vN {rfF'@[ rpm -i [install-options] package_file
vu!d)Fy rpm --install [install-options] package_file
UJfT!= =U /={Js* 示例:
%W,D;?lEo> wbDM5% [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
Z=B_Ty package lynx-2.8.5-18 is already installed
TD[EQ [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
]5~s"fnG --------------------------------------------------------------------------------
|Fm6#1A@ NN0$}ac p |(moWY= 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
0]QRsVz+ ES~^M840f rpm -U [install-options] package_file
j'[m:/ rpm --upgrade [install-options] package_file
DRqZ,[!+ -9RDr\&`( 示例:
~\x:<) Om{l>24i.\ 先安装旧版
X[#zCM [root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
qq)0yyL r j!7`] 再安装新版
xq6cKtSv [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
DG4d"Jy %r&-gWTQ, 显示出新版本信息
0 a]/%y3V [root@localhost ~]# rpm -q lynx
5es[Ph|K5 lynx-2.8.5-18
o6f_l^+H {`2R,Jb%S 说明:
8Ll[ fJZA -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
eC5 $#,HiC D\<y)kh 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
| mu+9 --------------------------------------------------------------------------------
%uv?we7 0]D0{6x8 )54%HM_$k 刷新的语法是:
BBcV9CGU >]o}}KF? rpm -F [install-options] package_file
~Lc066bLeq .]aF
1}AI rpm --freshen [install-options] package_file
eZ"1gYqy uKgZ$-' 示例:
kB5.(O JCAq8=zM 从未安装过lynx包,使用-F选项,将无法升级。
0]HYP;E"U O;7)Hjw t [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
~=R SKyzt [root@localhost ~]# rpm -q lynx
P{Q=mEQ package lynx is not installed
D&HV6# --------------------------------------------------------------------------------
k6=nO?$ @
49nJi czlFr|O; 安装和更新选项为:
sgE-`# Scv#zuv_ --allfiles
Lg"C ] 安装或更新所有文件。
Y.^=]-n, ,vW:}&U --badreloc
lI>SUsQFfm 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
a<]B B$~ g/13~UM\ --excludedocs
&@ JvnO: 不安装任何文档文件。
(k np# 9'hv%A:\3 --excludepath path
m Z1)wH , 不安装文件名以path开始的任何文件。
%LYnxo7#C u1xSp<59C --force
A)ipFB
6K 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
u.rY#cS,-R wf1lyS -h,--hash
|p$spQ 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
ePIiF_X _=|vgc --ignorearch
4Vq%N 即使二进制包用于不同的体系结果也进行安装。
\@&_>us :x_'i_w --ignoreos
klUQkz |<a 即使操作系统不匹配也安装二进制包。
eW|^tH %4HRW;IU --ignoresize
JI vo_7{ 安装前不检查磁盘的可用空间。
H4]Ul
eU NWxUn.Gy9 --includedocs
FZ8b7nJ)4m 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
|>z3E z ]~Y<o --nodeps
KD^N)&k^Kp 不检查这个包是否依赖于其他包的存在。
3P;>XGCxZ sUE?v9 --noorder
|F#1C9]P 安装之前,不为了满足依赖关系而对包进行重新排序。
mS0udHod | [>UH --noscripts
"Ky; a?Y 不执行任何预安装或后安装脚本。
n("0%@ov tnLAJ+-M --notriggers
n@ G[ 不执行任何由包安装触发的脚本。
|^@dFOz Z(!00^ --oldpackage
*-xU2 允许升级以用旧包替换新包。
;j2vHU#q- Qyy.IPTP --percent
kY'T{Sm1^ 当文件被解压时输出完成百分比的信息。
]5%/3P,/ }-
Wa`t7U --prefix path
"+unS)M;Y 把可重定位包的安装前缀设置为path。
;t+ub8 jbR0%X2 --replacefiles
'? jlH0; 即使包替换了来自其他安装包的文件,也安装这些包。
jMpD+Mb 0>zbCubPH --replacepkgs
H'HSD,>( 即使某些包已经被安装,也安装他们。
U#U]Pt SB)5@
nmS --test
9Vf1Xz 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
qpXWi
&g 0
Us5 --------------------------------------------------------------------------------
Qqlup ":_vK}5 ~jsLqY*(+ 查询
"9n3VX) wd)jl% query命令的语法为:
/@|/^vld f^VP/rdg rpm -q[information-options] [package-options]
o;?/HE%,[ rpm --query[information-options] [package-options]
85GKymz$P (64yg 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
r7',3V --------------------------------------------------------------------------------
p ]d]QMu <ZB1Vi9}8 -I=l8m6L 以下简单示演示一下包查询:
!>1@HH?I\/ <qGu7y" 简单查询:
y{N-+10z {P*m;a`} 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
|7zd%! nMJ#<'v^!2 示例:
HbW0wuI QcpXn4/* [root@localhost ~]# rpm -q lynx
N$[{8yil^w lynx-2.8.5-18
\<g*8?yFs --------------------------------------------------------------------------------
p}cw{ NQ6sGL k-}b{ 信息查询:
8Ac:_Zg ~*wk6&| rpm -qi packagename命令可以得到安装包的汇总信息。
{D=@n4JO 7nuU^wc 示例:
AnT3M.>ek [root@localhost ~]# rpm -qi lynx
|6<p(i7 Name : lynx Relocations: (not relocatable)
L`24?Y{ Version : 2.8.5 Vendor: Red Hat, Inc.
J_;o|gqX Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
? YG)I;( Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
|iwP:C^\mJ Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
_]:z \TDn Size : 4837340 License: GPL
LGtIm7 Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
V5rST + Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> KY~-;0x URL :
http://lynx.isc.org/ BT(CM,bp Summary : 一个基于文本的网页浏览器。
rOVVL%@QqJ Description :
w`5xrqt@ Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
Ih"XV 图像,但是它支持框架、表格、以及多数其它 HTML
Sm5H_m! 标签。Lynx 优于图形化浏览器的地方是它的速度――
' MxrQ;|S Links 能够快速启动、退出、及显示网页。
vuYSVI2=H 标识拥有者
O6OP =K!t: --------------------------------------------------------------------------------
F|!){=
VX1-JxY \P6$mh\T 找出什么包拥有文件file:
L+i(TM= /~<@ *-' 示例:
|)*fRL, cMOyo<F#^= [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
*Em,*! lynx-2.8.5-18
5^x1cUB] --------------------------------------------------------------------------------
y_?Me] j?+X\PtQ ?[lV- 列表包中的文件:
OtNd,U.dE 1 9CK+;b 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
H/37)&$E( X)% A6M 示例:
[D4Es >j QWn@ 此为部分显示结果
Dg?:/=,=9r [root@localhost ~]# rpm -ql lynx
v'3J.?N /etc/lynx-site.cfg
v%iflCK /etc/lynx.cfg
\:UIc*S /etc/lynx.cfg.cs
~W-PD /etc/lynx.cfg.ja
Uw7h=UQh /etc/lynx.cfg.sk
~
(jKz}'~U /usr/bin/lynx
T]c%!&^_ /usr/share/doc/lynx-2.8.5
lx7Q.su' /usr/share/doc/lynx-2.8.5/INSTALLATION
&:`U&06q /usr/share/doc/lynx-2.8.5/README
Kuu *&u /usr/share/doc/lynx-2.8.5/docs
AQwdw>I-FX /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
$F5 b /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
w}YlVete /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
Nb'''W-iu /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
V]db'qB\ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
av|g}xnj /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
?snp8W-WB /usr/share/doc/lynx-2.8.5/docs/CMU.announce
4v{o /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
Sxh]R+Xb /usr/share/doc/lynx-2.8.5/docs/FM.announce
Iepsz /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
jJPGrkr /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
jIyB /usr/share/doc/lynx-2.8.5/docs/README.TRST
~S,,w1` /usr/share/doc/lynx-2.8.5/docs/README.chartrans
"LlfOKG /PSd9N*=y --------------------------------------------------------------------------------
}|8_9Rx0* I<6P; ~G6Ox)/ 列出包所提供的实际能力:
@pRlxkvV ] [p>Y>:b- --provides选项的作用是列出这个包所提供的实际能力。
*(T:,PY /$p6'1P8 示例:
dx@-/^. m()RU"WY [root@localhost ~]# rpm -q --provides lynx
2HsLc*9{4 config(lynx) = 2.8.5-18
(bH`x]h# webclient
gq'Y!BBQy lynx = 2.8.5-18
ia+oX~W!VR --------------------------------------------------------------------------------
HK0!P* Su/6Q$0 t SS WP~
t 列出这个包所倚赖的任何包:
LAS'u"c| 2so! -R,--requires选项的作用是列出这个包所依赖的任何包。
9^#c|
0T 7%|~>
示例:
Eu@huN*/ Oagsoik [root@localhost ~]# rpm -qR lynx
%_%Q8,W /bin/sh
#W.#Hjpp config(lynx) = 2.8.5-18
hRD=Y<>A indexhtml
U!*M*s libc.so.6
Xx0hc 8qd libc.so.6(GLIBC_2.0)
U"^kH| libc.so.6(GLIBC_2.1)
#PH~1`vl libc.so.6(GLIBC_2.2)
IS &ZqE(`e libc.so.6(GLIBC_2.3)
f\sQO& libcrypto.so.4
Ssou libncursesw.so.5
dQA'($ libssl.so.4
9CWezI+ libz.so.1
+b3RkkC rpmlib(CompressedFileNames) <= 3.0.4-1
1e{IC= rpmlib(PayloadFilesHavePrefix) <= 4.0-1
,NyY>~+ --------------------------------------------------------------------------------
6"J?
# q!u~jI9j <(fRn`)PT 列出包中的配置文件
R?"q]af~ pUQ/03dp -c,--configfiles选项的作用是列出包中的配置文件
p;3O#n-_ `-J%pEIza 示例:
ZJzt~
H L>aLqQ3 [root@localhost ~]# rpm -qc lynx
_4U5 /etc/lynx-site.cfg
7`zHX&-W /etc/lynx.cfg
?IqQ-C)6D /etc/lynx.cfg.cs
OuID%p"O /etc/lynx.cfg.ja
ogHCt{' /etc/lynx.cfg.sk
Tz8PS k1[ --------------------------------------------------------------------------------
v50bdj9}k #mCL) [ ~5%W:qwQ 显示有关于包的改变信息的日志:
)f[
B6Y 2a`o
&S --changllog选项的作用是显示有关于包的改变信息的日志。
kwo3`b KyYM fC 示例:
gM
u"2I5 t!W(_8j 此为部分显示结果
>_-s8t=| [root@localhost ~]# rpm -q --changelog lynx
zuJ@E=7 * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
%,}A@H, - Removed perl dependencies (bug #127423).
G\Cp7:j} * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
lhAX;s&9 - rebuilt
t\~P:" * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
|y!=J$$_H - No longer need lynx-284-ipv6-salen.patch.
/v1Q4mq - No longer need lynx2-8-2-telnet.patch.
w[zjerH3 * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
=hC,@R>; - rebuilt
wsZF;8u t * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
-.u]GeMy - Updated to dev16, fixing bug #110196.
M "p - No longer need crlf patch.
Sq/
qu-%X - Use shipped ja translations.
-:Da&V - Use %find_lang.
!;Yg/'vD- - Default config file now sets UTF-8 (bug #110986).
Xqg@ e:g --------------------------------------------------------------------------------
Ce9|=Jx! hV8[@&Sx3 B%)% 包选择选项
O`x;,6Vr 1PVtxL?1P package_name
xW)2<m6C& 查询已安装包的package_name。
;qafT@
}C C*)3e*T* -a,--all
~:kZgUP_f 查询所有已安装拨。
([\ QdH\LL^8R4 -f file,--file file
V:In>u$QJ! 找出什么包拥有文件file。
);
!eow W=^#v -g group,--group group
n$xc];j 找出什么包拥有组group。
f9t6q*a`% D/Z6C&/I -p package_file
]HKQDc' 查询未安装包package_file
c}Ft^Il 5nv#+ap1 " --querybynumber num
C%$edEi 查询第num个数据库条目。主要用于调试。
[')m|u~FS4 "CSsCA$/ -qf,--queryformat num
A-Sv;/yD_ 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
L-jJg,eY bhTb[r --specfile specfile
u)X=Qm) 查询specfile,就好象它是个包
r?+%?$ H*RC@O_hv --triggeredby pkg
0%9 q8M; 列出触发安装pkg包的包。
zT=Ho
:~b3^xhc^ --whatrequires capability
lGPUIoUo 列出要求特定能力来行使职责的包。
Bn=by{i f2Klt6"9 --whatprovides capability
mXRB7k 列出提供特定能力的包。
}iXDa?6% --------------------------------------------------------------------------------
\\r)Ue] 2Nu=/tMN "Gfh ,e 信息选择选项:
6}gls}[0{e ocqU=^ta -c,--configfiles
g`{;(/M+ 列出包中的配置文件。
8{wwd:6 9oRy)_5Z(= --changelog
/[a~3^Gs^ 显示有关于包的改变信息的日志。
q.KG^=10 6Z>FTz_ -d,--docfiles
A>vBQN 列出包中的文档文件。
R0P
iv: nOt&pq7 --dump
zvYq@Mhr 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
yh Yb'GK 以下列顺序输出信息:
s>B5l2Q4 path size mtime md5sum mode owner group isconfig isdoc rdev symlink
j`JMeCG=Ee YZL kL26[ --filebypkg
r@72|:, 列出每个包中的所有文件。
4,bv)Im+ ` 1t:Q_j0Ym -i
1Ce@*XBU 显示包的信息,包括名字,版本和描述。
yQ_B)b r54&XE]O -l,--list
!*s?B L 列出包中所有文件
iqC|G/ _7Rr=_1} --last
4^p5&5F 根据安装时间列出包,最新的包排第一位。
JmF l|n/H iQ tNAj --provides
o1-m1 <ft 列出这个包所提供的实际能力。
3B1XZm
RJL2J]*S -R,--requires
v6=RY<l"m 列出这个包所依赖的任何包。
6.CbAi3Z
gQ o] -s,--state
;\a
YlV- 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
%7"q"A r[ _BM"
]t* --scripts
nG,A@/N 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
49rf7NT-g ^`*9QjY --------------------------------------------------------------------------------
Y'c>:;JEe
|XT)QK1 D8inB+/- 卸载
!S^AgZ~ T m_bz&Q uninstall命令的语法为:
yWg@v+ T_s_p rpm -e package_name
Y#!UPhg< rpm --erase package_name
4E;VM{ n(b(yXYm] 示例:
FK:;e
lZ cGtO
+DE [root@localhost ~]# rpm -e lynx
%=n!Em( [root@localhost ~]# rpm -q lynx
DwaBdN[!7 package lynx is not installed
OglEt[ " --------------------------------------------------------------------------------
n)L* X>d"]GD Q;[,Q~c[u 卸载选项为:
`e(c^ z# qOe+ZAJ{%N --allmatches
H;?{BV 删除包的所有版本。应该只指定一个包,否则会导致错误。
'{a/2
l )LdP5z- --nodeps
%@wJ`F2a_ 在卸载包之前不检查依赖性。
)jU)_To k&&2Tq --noscripts
52SaKA[ 不执行任何预卸载和后卸载脚本。
a;rdQ> @>d*H75 --notriggers
VbJiZw(aR 不执行任何由这个包的删除而出发的脚本。
~o82uw? ~c8?>oN( --test
K-e9>fmB# 不真正卸载任何包,仅仅查看活动过程。