linux卸载软件_linux卸载显示未安装

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

最新评论

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/190516.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • nv12转yuv420_百转

    nv12转yuv420_百转YU12格式也叫I420格式,是YUV420p其中的一种,NV12是YUV420sp的一种。YU12和NV21中YUV数据的排列方式为:YU12:YYYYYYYYUUVVNV12:YYYYYYYYUVUV针对数据排列顺序结构,本文将NV12转为YU12。主要转换接口实现为:intNV12toYU12(char*data,char*out,intwidth,intheight);具体代码如下:/************************************

  • pycharm中安装翻译插件[通俗易懂]

    pycharm中安装翻译插件[通俗易懂]pycharm中安装翻译插件1、点击File—Settings—Plugins—Marketplace2、选择自己想要安装的插件点击install,然后在右边的installed一栏中就可以看到你安装的插件(我这里推荐安装一个translation,在Debug的时候会有很大帮助,帮你翻译错误)3、这时候你就可以在你的窗口最右下角看到translation的小图标了,可以选择三种翻译。4、在控制台右键点击translate就可以实现翻译功能,如下图所示是不是很方便呢??…

  • Android Studio 中Intel HAXM安装与模拟器创建「建议收藏」

    Android Studio 中Intel HAXM安装与模拟器创建「建议收藏」AndroidStudio中IntelHAXM安装与模拟器创建

  • 可视化篇:效果图_可视化建模

    可视化篇:效果图_可视化建模写在最前在做可视化的时候,理解自己做的每个图形展示的意义,是多么的至关重要每做一张图的时候,我都在想,该如何阐述图形背后的故事下面是一些效果图,每张图,都只为更好地反应数据背后的那段故事。由于图片最大只能2M,所以调小后有的看起来不是很舒服,多多见谅所使用的工具主要是:R语言,Echart,D3.js如何实现在别的文章有详细说明。2016年的广州春运广州南站载客

  • 王者荣耀-是用什么编程语言开发的

    王者荣耀-是用什么编程语言开发的作为一名王者小白,不明白为啥这款游戏这么火,所以就挖挖底层看看用什么语言开发的。首先下载王者荣耀,400多兆,我特么还开的热点,没办法公司没外网;安卓版后缀名默认是.apk,手动给apk文件加上.zip后缀名,然后解压。进入解压后的目录2017_com.tencent.tmgp.sgame_h100_1.18.1.7.apk\asset

  • shell编程if/then备忘

    shell编程if/then备忘一、基础知识”[“是专有命令,而不是普通测试符号(ls/usr/bin/[有结果),和test命令等价,并且是内建命令。bash2.02引入[[…]]扩展测试命令,但是[[是一个关键字,而不是一个命令,Bash把[[$a-lt$b]]看做一个单独的元素,并且返回一个退出状态码((…))和let…结构也能够返回退出状态吗,当他们所测试的算术表达式的结构

发表回复

您的电子邮箱地址不会被公开。

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