Red Hat包管理器(即RPM:Red Hat Package Manager)是一种打包系统,用于软件的发布和安装。其他Linux发布商,如SuSE等也使用RPM。
xZ9y*Gv\= bdcuO)3 安装与升级是管理RPM包的根本。安装RPM包时,就是在系统中增加新软件。升级RPM包时,就是在相关软件中更新最新的特性。
4S"K%2'O u c7Y8iO 一个包就是一个文件,其中包含了安装一个应用所需的多个文件。尽管包中包含了安装时所需的文件,但是应用程序为了能运行可能还需要其他文件的存在或其他未包含包的存在,如特定的库。这样的需求就是包的依赖性(dependency)。如,内核源代码RPM包要有GNU C语言编译器。由于内核源代码具有依赖性,因此要先安装GNU C语言编译器,再安装内核源代码。
6;(Slkv \DGm[/P 任何用户都可以列出或查询包。但是,安装,升级或删除包通常需要超级用户的特权。这是因为包通常安装在系统级目录下,该目录只对root(超级用户)是可写的。有时,也可以指定一个目录。把把安装在你的主目录或者你拥有写权限的目录下。
vv%Di.V --------------------------------------------------------------------------------
deu+ i =4Ex'
%%(U :B=`^>RK 以下简要介绍RPM包的安装,删除和查询
fJ\Ys;l[j ^ /g&Q RPM包的建立,安装和查询是用rpm命令进行的。RPM包的名字通常以.rpm扩展名结束。rpm有一组模式,每种模式都有自己的选项。
bXC
0f:L *?KQ\ Y rpm命令的格式为:
T6phD8# Kh% x rpm [options] [packages]
bk^ :6>{K aty
K^*aX 第一个选项指定rpm模式(安装,查询,更新),其他选项影响模式。
"?avb`YU' $L`7(0U- 对包的选项描述中,有时把包指定为package-name,而有时指定为package-file。包的名字是程序名或应用名,如lynx。包文件是RPM文件的名字,如lynx-2.8.5-18.i386.rpm。
bWMM[pnL --------------------------------------------------------------------------------
typ*.j[q %o{vD&7\ \
2".Kb@= RPM为指定常用的选项提供了配置文件。系统配置文件通常是/etc/rpmrc,而用户可以建立他们自己的$HOME/.rpmrc文件。你可以用--showrc选项为在rpmrc文件中设置的所有选项显示RPM会使用的值。
(iWNvVGS W:EXL@ 以下为rpm --showrc命令显示的节选:
gB~SCl54 ASu9c2s 示例:
!' sDqBZ&7 *O 0* 此为部分显示结果
cUy6/x9& [root@localhost ~]# rpm --showrc
YnI ARCHITECTURE AND OS:
da[l[b; build arch : i386
sDbALAp
+ compatible build archs: athlon i686 i586 i486 i386 noarch
_0vXujz build os : Linux
Hs-NP#I compatible build os's : linux
)n0g6 install arch : athlon
%8 4<@f&n] install os : Linux
'`3-X];p compatible archs : athlon i686 i586 i486 i386 noarch
Ogjjjy84vM compatible os's : linux
&"^A RPMRC VALUES:
t-E'foYfr` 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
gXH89n optflags : %{__global_cflags} -m32 -march=athlon
DI$zyj~3 Features supported by rpmlib:
X.272q<. rpmlib(VersionedDependencies) = 3.0.3-1
qt;6CzL
C PreReq:, Provides:, and Obsoletes: dependencies support versions.
H_*]Vg rpmlib(CompressedFileNames) = 3.0.4-1
7rhpIP2n file name(s) stored as (dirName,baseName,dirIndex) tuple, not as path.
I=3q#^}[ rpmlib(PayloadIsBzip2) = 3.0.5-1
1 1p\
z package payload can be compressed using bzip2.
Y%&6qt G --------------------------------------------------------------------------------
XriVHb cAktSoF ^kXDEKm rpm命令包括FTP和HTTP客户端,因此可以指定ftp://或
http://URL来通过Internet安装或查询一个包。只要这里给出的命令中指定了package-file,你就可以使用FTP或HTTP URL。
y*7ht{B :fj}J)9'xW 示例:
;
9'*w=V UT^t7MY#O [root@localhost ~]# rpm -ivh
ftp://fr.rpmfind.net/linux/fedor ... s/Fedora/RPMS/lynx-*
3'.OghI Retrieving
ftp://fr.rpmfind.net/linux/fedor ... x-2.8.5-18.i386.rpm
hw1ZTD:Y Preparing... ########################################### [100%]
jN*A"m 1:lynx ########################################### [100%]
(U7%Z< --------------------------------------------------------------------------------
~Q]B}qdm }]n&" =Zk- @pG\5 Jnf 以下列出一些通用选项(可以用于所有模式):
\8t g7Sdq qC3 rHT] --dbpath path
-<s?`Rnk 用path作为RPM数据库的路径。
T`W FY pH"LZ7)DI0 --ftpport prot
qKSM*k~ 用port作为FTP端口。
r!x^P=f,MJ @nZFw. --ftpproxy host
cF/FretoO 用host作为所有传输的代理服务器。如果你通过使用代理的防火墙系统连到FTP,就要指定该选项。
^|sQkufo 'Y&yt"cs --help
OI`Lb\8pP 输出一个长的使用信息(如果运行rpm时没有选项,则给出短的使用信息)。
awC&xVf RcHyePuF)R --justdb
PGw"\-F 只更新数据库;不改变任何文件。
WV&BZ:H H-rf?R2 --pipe command
*2>%>qu 用管道把rpm输出到commond。
Stp?? o#+!H!C.O --quiet
iT|+<h 仅显示错误信息。
;yUY|o M>vM@j --rcfile filename
NGxii$F 用filename作为配置文件,而不用系统配置文件/etc/rpmrc或$HOME/.rpmrc。
h 1Q7(8=Eg 9#3+k/A --root dir
^SjGNg^ 7D 在dir目录内执行所有操作。
[M;P:@ Ot,sMRk' --version
riBT5 输出rpm版本号。
Y.hrU*[J0 +"p",Z -vv
bMv9f
J 输出调试信息。
L4[bm[x {{
wVM:1 --------------------------------------------------------------------------------
MK"Yt<e(o Y{J/Oib "1[N;|xa 安装升级和刷新
ga,yFw +HfjnEbtBs 安装或升级一个RPM包,install命令的语法为:
]T*{M {2q rpm -i [install-options] package_file
]Wy V bIu rpm --install [install-options] package_file
fqr}tvMr=T v)pdm\P 示例:
c{852R Lc.7:r [root@localhost ~]# rpm -i lynx-2.8.5-18.i386.rpm
Q \{\uJ x package lynx-2.8.5-18 is already installed
D{8V^%{ [root@localhost ~]# rpm --install lynx-2.8.5-18.i386.rpm
SS`\,%aog --------------------------------------------------------------------------------
s@q54 IBuuZ.=j2h 7"QcvV@p 为了安装一个包的新版本,同时删除现有版本,使用upgrade命令:
qQom=x Onc!5L rpm -U [install-options] package_file
cX&c% ~ rpm --upgrade [install-options] package_file
J*;t{M5 ;wN.RPE_^ 示例:
zO+nEsf^O Ny~;"n 先安装旧版
\{&55>
[root@localhost ~]# rpm -i lynx-2.8.5-11.i386.rpm
|FNP~5v HK-?<$Yc 再安装新版
$rlIJwqn [root@localhost ~]# rpm -U lynx-2.8.5-18.i386.rpm
:J<S-d= m.$Oo
Mu' 显示出新版本信息
Z@h]dU5%a [root@localhost ~]# rpm -q lynx
*".7O*jjV lynx-2.8.5-18
SKS[Lf 'Wi*[ 说明:
O/<jt' -U的一个特点是如果包在系统上不存在,其作用就与-i选项一样,即安装包。
Yw{](qG7e` y=&)sq 与-U的特点不一样,刷新(freshen)一个包,是指在已经安装了旧有版本时rpm才升级包。
\Js9U|lY --------------------------------------------------------------------------------
Mdy H/.Te V}JW@ *;}! WDr 刷新的语法是:
:*8@MjZ4 S\f^y8*< rpm -F [install-options] package_file
: i(h[0 BHU[Rz7x rpm --freshen [install-options] package_file
`"bm Hs7 O+e8}Tmm 示例:
VJNPs6 '6aH*B:}*; 从未安装过lynx包,使用-F选项,将无法升级。
p\,lbrv dk.da&P [root@localhost ~]# rpm -F lynx-2.8.5-18.i386.rpm
eHjR/MMr_ [root@localhost ~]# rpm -q lynx
7_{x '#7 package lynx is not installed
!#X^nlc --------------------------------------------------------------------------------
Na`qA j} ^ ]B&7\w"t z1L. 安装和更新选项为:
YnNei 7R [oYe/<3 --allfiles
`S.;&%B\ 安装或更新所有文件。
'LX=yL]I UIyOn` d " --badreloc
kTnvD|3_!P 与--relocate一起使用,强制重新定位,即使包不是可重定位的。
6\]-J*e> aTPpE9Pa& --excludedocs
@Xh4ZMyEx 不安装任何文档文件。
E+Gea[c ElYHA --excludepath path
H)4Rs~;{'g 不安装文件名以path开始的任何文件。
rKjQEO$yi |6uEf/*DX --force
) ejvT- 强制安装。等价于使用--replacepkgs,--replacefiles和--oldpackage。
u!X2ju< (*2"dd -h,--hash
co*5NM^ 当包档案被解包时打印50个散列标记。使用--version选项以进行更好的显示。
;J`X0Vl$
&hF>}O --ignorearch
T^Z#x-Q 即使二进制包用于不同的体系结果也进行安装。
5Q^~Z}, q6,xsO,+ --ignoreos
z=u4&x|xA 即使操作系统不匹配也安装二进制包。
>,9t<p=Q z,NHH):~ --ignoresize
)XNcy" 安装前不检查磁盘的可用空间。
wUSWB{y !O.B, --includedocs
](W#Tj5- 安装文档文件。只有在rpmrc文件中指定了excludedocs:1时,才需要这个选项。
Uligr_c? ROfmAc --nodeps
E+>;tLw3j 不检查这个包是否依赖于其他包的存在。
[F>zM : Z.mM5 --noorder
,cB`j7p( 安装之前,不为了满足依赖关系而对包进行重新排序。
ZuE0'9 R52!pB0[ --noscripts
H11Wb(6Wu 不执行任何预安装或后安装脚本。
,`wxXU7 w(@`g/b --notriggers
XrvrN^' 不执行任何由包安装触发的脚本。
vXf#gX!Y LQS*/s0 --oldpackage
7eO8cPy 允许升级以用旧包替换新包。
5-g0 2g fY `A --percent
O-|3k$'\z 当文件被解压时输出完成百分比的信息。
~q9RZ#g13J 4gZN~_AI< --prefix path
i0R=P[ 把可重定位包的安装前缀设置为path。
|[V(u =];FojC6I --replacefiles
1HZexV 即使包替换了来自其他安装包的文件,也安装这些包。
j@:LMR> ,rN7X<s54 --replacepkgs
]F_u 即使某些包已经被安装,也安装他们。
dp?uq' ]f\rB8k|& --test
o 1b#q/ 检查安装过程,看整个过程都做了些什么,但并不真正安装包。
8=e\^Q+ ?@XO*|xkSk --------------------------------------------------------------------------------
*7Mrng II2oV}7? ;S%wPXj& 查询
:r6
bw >,y QG+ query命令的语法为:
6D+9f{~r t2E_y6 rpm -q[information-options] [package-options]
c]O4l2nCL rpm --query[information-options] [package-options]
Rbl(oj# </}[x2w?] 查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。
.h6h&[TEU --------------------------------------------------------------------------------
%AJdtJ@0H )HmpVH }skXh_Vu4 以下简单示演示一下包查询:
leiza?[ {4I sz-P 简单查询:
O
8fh'6 |ST&,a$( 最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
=]"PSY7p abF_i# 示例:
L2:C6Sc %URyGS]* [root@localhost ~]# rpm -q lynx
<;Xj4
J lynx-2.8.5-18
rUuM__;d --------------------------------------------------------------------------------
0lEIj/u 3j3AI7c 9K&b1O@Aj 信息查询:
yb]a p O[m+5+ rpm -qi packagename命令可以得到安装包的汇总信息。
+Y\#'KrA l>:?U 示例:
"kL5HD]TC [root@localhost ~]# rpm -qi lynx
+Gjy%JFp Name : lynx Relocations: (not relocatable)
&2g1Oy~ Version : 2.8.5 Vendor: Red Hat, Inc.
}b{N[ Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒
7_|zMk.J* Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com
1,/oS&?E Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm
)i?wBxq'MA Size : 4837340 License: GPL
TcqqAc Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2
ycH=L8 Packager : Red Hat, Inc. <
http://bugzilla.redhat.com/bugzilla> y@(U6ZOyx URL :
http://lynx.isc.org/ +yYz ;, \ Summary : 一个基于文本的网页浏览器。
Lkb?,j5 Description :
B EY}mR] Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何
)S5Q5"j&=f 图像,但是它支持框架、表格、以及多数其它 HTML
U2h?l
`nP 标签。Lynx 优于图形化浏览器的地方是它的速度――
LsmC/+7r$1 Links 能够快速启动、退出、及显示网页。
YS/DIH{9e 标识拥有者
<?I~ + --------------------------------------------------------------------------------
1M+mH#? ^,rbA>/L m!PN1$9V 找出什么包拥有文件file:
@Pa ;h FPu,sz8 示例:
!W6]+ [#.QDe [root@localhost ~]# rpm -qf /etc/lynx-site.cfg
.NPai4V' lynx-2.8.5-18
m*(8I=]q --------------------------------------------------------------------------------
ed617J ]v+\v re -Z#A}h 列表包中的文件:
wWH5T}\ 8L<Ol 如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
Bp b_y;E sqkPC_;A 示例:
jfI|( P toP7b 此为部分显示结果
zIlQqyOQ8 [root@localhost ~]# rpm -ql lynx
0R; ;ou /etc/lynx-site.cfg
Gz
kf /etc/lynx.cfg
z,^baU /etc/lynx.cfg.cs
/|>z7#?m^ /etc/lynx.cfg.ja
|i|>-|`! /etc/lynx.cfg.sk
x&kF;UC /usr/bin/lynx
khyVuWN
/usr/share/doc/lynx-2.8.5
y0z}[hZ /usr/share/doc/lynx-2.8.5/INSTALLATION
{>syZZ,h /usr/share/doc/lynx-2.8.5/README
9_&.G4%V /usr/share/doc/lynx-2.8.5/docs
QYg2'`( /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3
x=9drKIw> /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4
B>JRta;hj /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5
iptzVr#b[ /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6
Bf8 #&]O /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7
a*o=,! /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8
UD.$C /usr/share/doc/lynx-2.8.5/docs/CMU.announce
b2 ZKhS8 /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce
o8Tt|Lxb$8 /usr/share/doc/lynx-2.8.5/docs/FM.announce
vQ
5
p /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce
sqsBGFeG /usr/share/doc/lynx-2.8.5/docs/OS-390.announce
\`x$@s? /usr/share/doc/lynx-2.8.5/docs/README.TRST
qi$6y? /usr/share/doc/lynx-2.8.5/docs/README.chartrans
2r\f!m' %kyvtt --------------------------------------------------------------------------------
Es)Kw3^a KecR jon ~ aLG6y Vtu 列出包所提供的实际能力:
%\CsP! P0|V1,) --provides选项的作用是列出这个包所提供的实际能力。
c!j$-Ovm hX<0{pXM4 示例:
S\mh{#Lpk \|Us/_h [root@localhost ~]# rpm -q --provides lynx
CGPPo;RjK config(lynx) = 2.8.5-18
Z?dz@d%C webclient
7hQrL+%q8 lynx = 2.8.5-18
kWF, *@.B --------------------------------------------------------------------------------
l&[ x)W 7mt;qn?n XB^o>/|@S 列出这个包所倚赖的任何包:
\&"gCv# C#+Gkzq -R,--requires选项的作用是列出这个包所依赖的任何包。
}5u$/c@f1 ([^1gG+>J 示例:
ZI}7#K<9X e'p'{]r<w [root@localhost ~]# rpm -qR lynx
l7n c8K /bin/sh
6gNsh config(lynx) = 2.8.5-18
3N[t2Y1r indexhtml
FG:(H0 libc.so.6
G-~+F nUC libc.so.6(GLIBC_2.0)
8-+Ce;h libc.so.6(GLIBC_2.1)
]haZ T\ libc.so.6(GLIBC_2.2)
%?^IS&]Z libc.so.6(GLIBC_2.3)
X`ee}C.D_ libcrypto.so.4
Jzo|$W libncursesw.so.5
UXvUU^k"v libssl.so.4
t*iKkV^aE libz.so.1
B!4chxzUZ rpmlib(CompressedFileNames) <= 3.0.4-1
( hp 52Vse rpmlib(PayloadFilesHavePrefix) <= 4.0-1
UBLr|e>dQE --------------------------------------------------------------------------------
lmfvT}$B GU([A@; zT
9"B 列出包中的配置文件
}CIH1q3P JUHmIFjZ -c,--configfiles选项的作用是列出包中的配置文件
`8/K+ e` //xK v{3fI 示例:
Y({&}\o xk7MMRb [root@localhost ~]# rpm -qc lynx
>^=upf/ /etc/lynx-site.cfg
'pa[z5{k+ /etc/lynx.cfg
;p)RMRMg /etc/lynx.cfg.cs
{Cd Q)| /etc/lynx.cfg.ja
I6S!-i /etc/lynx.cfg.sk
!{>'jvH --------------------------------------------------------------------------------
.nl!KzO6g [3"k : F0(P2j 显示有关于包的改变信息的日志:
JZ3CC f zmB6Y
t --changllog选项的作用是显示有关于包的改变信息的日志。
@y]ek/ VKqIFM1b 示例:
r~nD%H:}P `tw[{Wb 此为部分显示结果
B:J([@\' [root@localhost ~]# rpm -q --changelog lynx
V"K-aO& * 五 7月 09 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-18
Se{x-vn?p - Removed perl dependencies (bug #127423).
D<U^FT * 三 6月 16 2004 Elliot Lee <
sopwith@redhat.com>
M#Kke9%2 - rebuilt
Y7vUdCj * 三 5月 26 2004 Tim Waugh <
twaugh@redhat.com> 2.8.5-16
MVP|l_2! - No longer need lynx-284-ipv6-salen.patch.
_Wg?H:\ - No longer need lynx2-8-2-telnet.patch.
69N/_V * 六 2月 14 2004 Elliot Lee <
sopwith@redhat.com> 2.8.5-15
>xsbXQ>. - rebuilt
41Ga- 0p * 二 12月 02 2003 Tim Waugh <
twaugh@redhat.com> 2.8.5-14
<hkSbJF - Updated to dev16, fixing bug #110196.
1 etl:gcEC - No longer need crlf patch.
+-2o b90_m - Use shipped ja translations.
,Pi!%an w - Use %find_lang.
[ICFPY6 - Default config file now sets UTF-8 (bug #110986).
S#Q0aGj --------------------------------------------------------------------------------
JJe8x4
!:Z
lVIA 8z1#Q#5 包选择选项
WVZ](D8Gc] [`J91= package_name
lDsT?yHS`Z 查询已安装包的package_name。
nQ*9E|Vx +{#65z -a,--all
OEiu,Y|@l 查询所有已安装拨。
>f$NG #K#BNpG| -f file,--file file
/|s~X@%K 找出什么包拥有文件file。
RD6n1Wb(@ C fs2tN -g group,--group group
vG'6?%38 找出什么包拥有组group。
3-~* _nwsIjsW -p package_file
$/p0DY 查询未安装包package_file
{#` O'F> {&dbxj-' --querybynumber num
"%peYNZ&% 查询第num个数据库条目。主要用于调试。
Fc&3tw"g 76::X:76 -qf,--queryformat num
aC90IJ8^ 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
P K+rr.k] .q90+9Ek= --specfile specfile
]y0bgKTK 查询specfile,就好象它是个包
epN!+(v S4 j5- --triggeredby pkg
Jn7T5$pJ 列出触发安装pkg包的包。
#B2a? TW?_fse*[ --whatrequires capability
f`<elWgc" 列出要求特定能力来行使职责的包。
2x5^kN7 Xfc+0$U@ --whatprovides capability
^/~ZP?%] 列出提供特定能力的包。
b1TIVK3m --------------------------------------------------------------------------------
Iip%er%b dl]pdg< Y5{KtW 信息选择选项:
I=[Ir8}; 9| g]M:{ -c,--configfiles
'GI|
t 列出包中的配置文件。
%g_)_ ~ 8KyRD1 (-R --changelog
_jb'HP 显示有关于包的改变信息的日志。
J5TT+FQ "hmLe(jo} -d,--docfiles
'@/1e\ -y 列出包中的文档文件。
-1{f(/ 'Z*`~,Q --dump
+0ALO%G;G" 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。
$fCKK&Wy 以下列顺序输出信息:
LD*XNcE path size mtime md5sum mode owner group isconfig isdoc rdev symlink
/8#e < p ;9CbioO --filebypkg
[I?[N.v 列出每个包中的所有文件。
G! Y
l0Zr ,&~-Sq)~ -i
Ij>G7Q*d 显示包的信息,包括名字,版本和描述。
A`~R\j i/.#` -l,--list
=,b6yV+$D 列出包中所有文件
.C\2f+(U )IVk4| --last
%9
3R/bx 根据安装时间列出包,最新的包排第一位。
^Gi7th, h2-v.Tjf --provides
}_Ci3|G>%D 列出这个包所提供的实际能力。
7qSnP30} Bs`mzA54 -R,--requires
Kf-XL),3l 列出这个包所依赖的任何包。
%4wEAi$I \G#_z|'dN -s,--state
5X>K#N 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
%[, R Q">v =8vNOvA --scripts
KE.O>M,I. 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
U!{~L$S hg%iv%1B' --------------------------------------------------------------------------------
8J#x B 0&u=(;Dr\ bY-koJo 卸载
d"yJ0F 1M.#7;#B3 uninstall命令的语法为:
Egz6rRCvg 1s~rWnhVv rpm -e package_name
u/<ZGW(&s( rpm --erase package_name
|}2/:f#Iz* 2D(sA 示例:
>/Gw)K}#E 7+88o:G9 [root@localhost ~]# rpm -e lynx
{Q>4zepN! [root@localhost ~]# rpm -q lynx
/!J xiGn package lynx is not installed
_&(L{cFx6 --------------------------------------------------------------------------------
T6b~uE F Uz1P a"i(.(9$J 卸载选项为:
9@ 4]t6h[ x+DETRLP --allmatches
; GE6S{~- 删除包的所有版本。应该只指定一个包,否则会导致错误。
ub!lHl "n{';Q) --nodeps
ZbiC=uh 在卸载包之前不检查依赖性。
q44vI WJxcJE --noscripts
u$CN$ynS 不执行任何预卸载和后卸载脚本。
cNT !}8h^ |)v}\-\# --notriggers
mU(v9Jpf7 不执行任何由这个包的删除而出发的脚本。
rizjH+ MQDLC7Y.p5 --test
QW'*^^ 不真正卸载任何包,仅仅查看活动过程。