linux rpm卸载参数
本站整理 发布时间:2009-03-10 15:38:48 作者:jb51.net
我要评论
rpm卸载参数--test : 卸载测试 --nodeps : 不检查依赖 --noscripts : 不执行脚本程序 --notriggers : 不执行触发程序 --justdb : 仅修改数据库 --force 强制
RPM卸载软件包,并不是简单地将原来安装的文件逐个删除,那样做的话,可能会出现这样或那样的问题。如,A
第12行: 删除软件包在数据库中的信息。
2. --nodeps : 不检查依赖
RPM管理软件包,不仅管理包中的所有文件,还同时管理着软件包之间的依赖关系。如A依赖于B运行,若B不存在了,则A也就运行不了了。RPM维护着这种关系,尽量避免破坏,以保证软件的正常运行。上例进行mktemp包的卸载测试时,RPM提示了中断依赖关系的错误。如果使用本选项,不检查依赖,则卸载测试会顺利完成。
# rpm -e --test --nodeps mktemp
#
需要说明的是,除非用户对软件包有足够了解,否则不要使用本选项,最好让RPM自动维护软件间的依赖关系,确保其能正常运行。
3. --noscripts : 不执行脚本程序
一个RPM软件包中可包含五种脚本程序,即:安装前脚本程序,安装后脚本程序,卸载前脚本程序,卸载后脚本程序和校验脚本程序。卸载时使用--noscripts选项,可禁止卸载前与卸载后脚本程序的执行。
注意: 一般用户不要使用此选项。此选项主要提供给软件包制作者使用的。通过禁止执行脚本程序,可以防止因安装带有BUG的软件包而宕掉整个系统。当软件包去掉了BUG后,此选项就不必使用了。
4. --notriggers : 不执行触发程序
为了软件包间的交互控制,RPM设计了三种触发程序:安装时触发程序,卸载前触发程序和卸载后触发程序。为了防止因某一软件包的卸载而引发卸载前与卸载后触发程序的执行,可以使用--notriggers选项。通过比较下一例子与第1个选项介绍中的例子的输出,就可看到:选择--notriggers选项后,卸载前与卸载后触发程序都没有被触发执行。
# rpm -e --test -vv --notriggers file | nl
1 D: opening database mode 0x0 in //var/lib/rpm/
2 D: getting list of mounted filesystems
3 D: will remove files test = 1
4 D:file: /usr/share/magic action: remove
5 D:file: /usr/man/man4/magic.4 action: remove
6 D:file: /usr/man/man1/file.1 action: remove
7 D:file: /usr/bin/file action: remove
8 D: removing database entry
5. --allmatches : 卸载所有匹配的包
RPM可将同一软件的不同版本安装到系统中,这样如果想全部卸载掉,这时仅简单输软件名是不行的,将出现错误,如:
# rpm -q foo
foo-6.0-1
foo-7.0-1
# rpm -e foo
error: "foo" specifies multiple packages
#
注: 本例中先查询foo包,发现有6.0和7.0版两个版本,接着卸载foo包,出现错误: 有多个软件包的名字均为foo。
怎样才能全部卸载呢?
答案之一是一个一个卸载,卸载时输入软件包标识,因为软件名相同,所以最少再输个版本号,这种情况适用于软件版本少的时候。
# rpm -e --allmatches foo
# rpm -q foo
package foo is not installed
#
卸载过程没有出现错误,之后再查询foo包,RPM则提示软件包未安装。
6. --justdb : 仅修改数据库
使用本选项后,RPM将只更新其数据库,文件系统不更新,意即如果软件包安装有文件的话,卸载后这些文件照样存 # rpm -ql file
/usr/bin/file
/usr/man/man1/file.1
/usr/man/man4/magic.4
/usr/share/magic
# ls -l /usr/bin/file
-rwxr-xr-x 1 root root23948 Mar 23 1999 /usr/bin/file
# rpm -e --justdb file
# ls -l /usr/bin/file
-rwxr-xr-x 1 root root23948 Mar 23 1999 /usr/bin/file
#
注: 本例先用rpm -ql查询得到file包的文件列表,再用ls命令列包中的一个文件/usr/bin/file,能列出信息,故文件存在。然后用rpm -e --justdb卸载file包但只更新数据库,而后再用ls命令列/usr/bin/file,可以看到该文件依然存在。
相关文章
- 制作rpm包,以rp-pppoe-3.10为列进行制作过程,需要的朋友可以参考下2013-04-26
suse 10.3 安装http apche2时遇到的rpm依赖问题的解决方法
suse 10.3安装http apche2时遇到的rpm依赖问题的解决方法,有需要的朋友可以参考下2013-02-09- 在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的添加/删除程序,但是功能又比添加/删除程序强很多,它就是Red Hat Package Manager(简称RPM)2012-06-04
- 通过rpm包安装、配置及卸载mysql的详细过程,需要的朋友可以参考下。2011-09-13
- 一. tar 1.压缩一组文件为tar.gz后缀。 # tar cvf backup.tar /etc #gzip -q backup.tar 或 # tar cvfz backup.tar.gz /etc/ 2.2009-03-10
rpm 命令|rpm 安装|rpm 卸载|rpm 使用|rpm 删除
在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager2017-09-25- 1.如何安装rpm软件包 rmp软件包的安装可以使用程序rpm来完成。执行下面的命令 rpm -i your-package.rpm 其中your-package.rpm是你要安装的rpm包的文件名,一般置2008-09-08
- rpm好像不能指定安装路径!这里简单的说下rpm包的一些安装使用技巧2013-04-02
- 问题描述:Linux下直接双击rpm安装包,会出现错误提示: Failed to install! You don't have the necessary privileges to install local packages 这是由于2008-09-08
- 安装软件包 rpm-i 包全名 删除 rpm -e name(不是包名) 参数 -ivh 获得一个详细的安装进程 --nodeps 忽略依赖关系 --force 强制安装 -U 包名:升级2008-09-08


最新评论