linux的rpm卸载,linux rpm卸载参数

linux的rpm卸载,linux rpm卸载参数linuxrpm 卸载参数本站整理发布时间 2009 03 1015 38 48 作者 jb51 net 我要评论 rpm 卸载参数 test 卸载测试 nodeps 不检查依赖 noscripts 不执行脚本程序 notriggers 不执行触发程序 justdb 仅修改数据库 force 强制 RPM 卸载软件包 并不是简单地将原来安装的文

linux rpm卸载参数

本站整理   发布时间:2009-03-10 15:38:48   作者:jb51.net   text-message.png 我要评论

rpm卸载参数–test : 卸载测试  –nodeps : 不检查依赖 –noscripts : 不执行脚本程序 –notriggers : 不执行触发程序 –justdb : 仅修改数据库 –force 强制

RPM卸载软件包,并不是简单地将原来安装的文件逐个删除,那样做的话,可能会出现这样或那样的问题。如,A

rpm卸载参数–test : 卸载测试  –nodeps : 不检查依赖 –noscripts : 不执行脚本程序 –notriggers : 不执行触发程序 –justdb : 仅修改数据库 –force 强制

RPM卸载软件包,并不是简单地将原来安装的文件逐个删除,那样做的话,可能会出现这样或那样的问题。如,A软件包依靠B软件包做某些工作,若B软件包卸载了,则A软件包就不能正常运行了。RPM为用户安全考虑,会做某些检查,尽可能排除出错的情况。

RPM在卸载软件包时,分步骤进行如下操作:

1. 检查依赖(Denpendency)

检查依赖的目的,在于确保当前没有任何软件包依赖于当前要卸载的软件包。

2. 执行卸载前触发脚本程序(Triggerun)

3. 执行卸载前脚本程序(Preuninstall)

本程序为软件包制作者设定,完成卸载前的一些工作,具体如,要卸载的软件包中某个

程序当前正在运行时,脚本程序必须杀掉它,否则无法正确卸载。

4. 检查配置文件(Configfiles)

RPM卸载软件包前会检查包中的配置文件是否修改了,如果修改了,RPM要换个名字保存

该文件,文件名一般是“原文件名+.rpmsave”。(这是RPM软件包管理的特色之一)

5. 真正卸载

即按照软件包中的文件列表,将文件逐个删除。要注意的是,如果其中有文件属于别的

软件包(即两个软件包拥有一个名字相同的文件),则RPM并不删除。

6. 执行卸载后脚本程序(Postuninstall)

本程序主要是完成卸载的善后工作,如将系统配置文件inetd.conf修改一下,去掉安装

时添加的东西等等。

7. 更新RPM数据库

卸载后,RPM删除该软件包在数据库中的所有信息。

8. 执行卸载后触发脚本程序(Triggerpostun)

命令格式

rpm -e [卸载选项1 卸载选项2…] [软件包标识1 软件包标识2…]

注: 也可使用–erase代替-e,效果相同。

软件包标识

对于已安装的软件包,RPM使用如下格式来唯一标识它:

Name[-Subname]-Version-Release

其中: Name: 指软件名;

Subname : 本项可选,指软件包子包的名字;

Version : 指软件版本号。注意:其中不能含减号(-)字符;

Release : 指软件释出号。

例如: 包裹文件file-3.26-6.i386.rpm安装后,其软件包标识为file-3.26-6。可以用此标识卸载,查询,校验该软件包。在命令行上输入软件包标识时,可以写全,也可以采用简写的方式。如file-3.26-6,可仅输入file,或file-3.26,或输全。又如: 带有子包的软件包标识XFree86-devel-3.3.6-6,可仅输入XFree86-devel,或XFree86-devel-3.3.6,还可完全输入。

注意: 软件包标识是大小写敏感的,即大写字母与小写字母表示不同的涵义。如bash-2.03-10标识不能输作Bash-2.03-10,也不能输作bAsh-2.03-10等等。

下面对指定用选项做些解释:

1. –test : 卸载测试

RPM的卸载测试做些什么?主要是检查依赖关系,确保系统中没有软件包依赖于要卸载的软件包。如果还有软件包依赖要卸载的软件包,则RPM会提示依赖关系将中断的错误,例如:

# rpm -e –test mktemp

error: removing these packages would break dependencies:

mktemp is needed by autoconf-2.13-5

mktemp is needed by dev-2.7.7-4BP

mktemp is needed by groff-1.11a-10BP

mktemp is needed by gzip-1.2.4-15BP

mktemp is needed by initscripts-4.16-3BP

mktemp is needed by metamail-2.7-21BP

mktemp is needed by rpm-3.0.3-4BP

mktemp is needed by autofs-3.1.3-2

/bin/mktemp is needed by apache-1.3.12-5BP

/bin/mktemp is needed by linuxconf-1.16r1.3-4BP

#

当然,我们通过浏览卸载测试时输出的调试信息就知道得更清楚了。

# rpm -e –test -vv file | nl

1 D: opening database mode 0x0 in //var/lib/rpm/

2 D: getting list of mounted filesystems

3 + echo triggeruninstall

4 triggeruninstall

5 D: will remove files test = 1

6 D:file: /usr/share/magic action: remove

7 D:file: /usr/man/man4/magic.4 action: remove

8 D:file: /usr/man/man1/file.1 action: remove

9 D:file: /usr/bin/file action: remove

10 + echo triggerpostuninstall

11 triggerpostuninstall

12 D: removing database entry

注: 本例进行file包的卸载测试,输出信息送管道交nl列出行号,现逐行解释。(行号后以D:开始的行输出的为调试信息)

第1行: 打开/var/lib/rpm目录下的RPM数据库;

第2行: 取已安装文件系统列表;

第3行: 执行卸载前触发脚本程序;

第4行: 这一行是卸载前触发脚本程序的执行结果;

第5行: RPM提示将要删除文件,其中test=1表明为卸载测试,并非真正删除;

第6-9行: 显示各文件的执行操作–删除;

第10行: 执行卸载后触发脚本程序;

第11行: 本行是卸载后触发脚本程序的执行结果;

相关文章

制作rpm包,以rp-pppoe-3.10为列进行制作过程,需要的朋友可以参考下2013-04-26

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

在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。2017-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

最新评论

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211877.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午9:22
下一篇 2026年3月18日 下午9:23


相关推荐

  • Java面向对象之创建和使用对象——定义学生/教师类并输出相关信息

    Java面向对象之创建和使用对象——定义学生/教师类并输出相关信息学生类importjava.util.Scanner;publicclassStudent{Stringname=”张三”;intage=16;Stringgrade=”三年二班”;Stringfancy=”打篮球唱歌读书冒险”;publicvoidintroduce(){System.out.println(“————————————-

    2022年7月8日
    23
  • 分布式全局唯一ID生成器(支持多种注册中心)的实现

    分布式全局唯一ID生成器(支持多种注册中心)的实现在订单、支付的业务场景中,单号的生成规则与生成方式十分重要,实现有很多种,最简单的是基于mysql自增主键实现,方案优劣不多说,大家都清楚。我们今天实现一种分布式的、可扩展的并且在高并发场景能保证高性能的全局唯一ID生成方案(基于twitter的snowflake原理进行改编和扩展)。不多说直接上代码。packagecom.zxm.adapter;importorg.apache.z…

    2022年6月21日
    32
  • 如何解决win7开机提示未能连接一个Windows服务「建议收藏」

    如何解决win7开机提示未能连接一个Windows服务「建议收藏」1.以安全模式打开电脑;2.打开运行菜单,在运行对话框中输入CMD,回车打开命令对话框;3.然后在命令对话框中输入“NETSHWINSOCKRESETCATALOG”命令,点击Enter;4.重启电脑。

    2022年5月15日
    52
  • TaskScheduler 是什么?有什么作用?

    TaskScheduler 是什么?有什么作用?前言本文隶属于专栏 1000 个问题搞定大数据技术体系 该专栏为笔者原创 引用请注明来源 不足和错误之处请在评论区帮忙指出 谢谢 本专栏目录结构和参考文献请见 1000 个问题搞定大数据技术体系正文 TaskSchedule 的核心任务是提交 TaskSet 到集群运算并汇报结果 1 为 TaskSet 创建和维护一个 TaskSetManag 并追踪任务的本地性以及错误信息 2 遇到 Straggle 任务时 会放到其他节点进行重试 3 向 DAGScheduler

    2026年3月19日
    2
  • Claude Code 玩法大全:从入门到上瘾的终极指南

    Claude Code 玩法大全:从入门到上瘾的终极指南

    2026年3月15日
    2
  • Myabtis-plus中IService接口的使用

    Mybatis-plus的IService接口:IService接口解释,我们可以看到IService接口就是有一大堆方法接口。IService的使用:IService的使用需要另外两个接口的配合:baseMapper和ServiceImpl第一步:实现basemapper接口publicinterfaceAdminMapperextendsBaseMapper<Admin>{}第二步:编写service类publicinterfaceAdminServiceex

    2022年4月8日
    302

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号