java rpm卸载_使用RPM卸载软件
rpm -e 做了什么
rpm -e(等同于 rpm --erase)这个命令能够卸载或擦除一个或多个安装包,当RPM卸载一个RPM包时,做了以下几件事:
确保数据库中没有其它包引用了要卸载的包。
执行卸载前的脚本(如果有的话)
检查配置文件是否已经被修改过,如果是,则保留它们的一个备份。
查询数据库,找到这个包安装的所有文件,如果该些文件不属于别的包,则将它们删除。
执行卸载后的脚本(如果有的话)
从数据库中删除包的所有追踪信息。
卸载一个包
# rpm -e eject
这样,eject包就被无声无息地卸载了,显然我们会想要得到更多的反馈信息,加上-v选项试试:
# rpm -ev eject
依然是没有任何东西输出,但是还有一个选项我们可以用。见下文。
使用-vv得到更多反馈信息
通过加上-vv选项,我们可以得到RPM卸载过程中的更多反馈信息:
# rpm -evv eject
D: uninstalling record number 286040
D: running preuninstall script (if any)
D: removing files test = 0
D: /usr/man/man1/eject.1 - removing
D: /usr/bin/eject - removing
D: running postuninstall script (if any)
D: removing database entry
D: removing name index
D: removing group index
D: removing file index for /usr/bin/eject
D: removing file index for /usr/man/man1/eject.1
虽然-v无法告诉我们什么东西,但是-vv却告诉我们很多东西,不过,它究竟告诉了我们什么呢?
首先,RPM打印出了软件包的记录号,这个记录号只对于那些写RPM数据库代码的人才有意义。
接着,RPM执行卸载前脚本,如果有脚本的话。
"removes files test = 0"这一行标识RPM将会卸载整个软件包,如果这个数字不为0的话,RPM只是进行了卸载环境的检测而已。当加上--test选项时,不为0的情况才会发生。
接下来的两行显示出了卸载过程中删除的文件,如果一个包中包含了很多文件,那么使用-vv参数将会导致大量的输出。
紧接着,RPM执行卸载后脚本,如果存在的话。这个脚本在所有文件删除后才执行。
最后,最后5行显示出RPM删除了数据库中的跟踪信息。
其他选项
--test:做卸载环境检测,但并不真正卸载软件。
--nodeps:在卸载之前,不检查依赖关系
--noscripts:不执行卸载前或卸载后的脚本
--rcfile :使用作为备选的rcfile
--root:使用作为备选的root
--dbpath :使用来访问数据库
rpm -e 与配置文件
如果你修改了软件安装时的配置文件,那么即使你卸载了软件,配置信息依然不会丢失。例如,你修改了/etc/skel/.bashrc(一个配置文件),这个配置文件是作为etcskel包的一部分被安装的。接下来,我们删除etcskel:
# rpm -e etcskel
我们去/etc/skel目录下看看:
# ls -al
total 5
drwxr-xr-x 3 root root 1024 Jun 17 22:01 .
drwxr-xr-x 8 root root 2048 Jun 17 19:01 ..
-rw-r--r-- 1 root root 152 Jun 17 21:54 .bashrc.rpmsave
drwxr-xr-x 2 root root 1024 May 13 13:18 .xfm
很显然,.bashrc.rpmsave这个文件就是你修改的配置的一个备份,然而你也应当要知道的是,这只是对配置文件RPM才会保留一个备份。
请注意
RPM卸载软件时几乎替你在操作系统上做了所有的事,这很棒。但是,这也意味着RPM在卸载你系统上的重要软件时,也一样铁面无私。例如:
RPM: RPM能卸载它自己吗,答案当然是可以。
Bash: 当心卸载掉了你机子上的Bash。
大多数情况下,RPM的依赖检测能检测到你所需要卸载的软件与其他软件的依赖关系,这会提醒你不要误删了软件。如果你是在不确定有何依赖关系,可以使用rpm -q来查询你想要卸载的软件。
参考资料
java rpm卸载_使用RPM卸载软件相关推荐
- edptrayicon怎么卸载_怎么彻底卸载北信源监控软件?(2)
@echo off echo ************************************************** echo * 北信源内网桌面监控客户端 清理批处理 echo * B ...
- ant压缩在哪卸载_如何彻底卸载流氓软件?一篇教你彻底解决!
之前有一篇,小懒写了关于不用所谓的"软件管家"下载软件的文章 但咱们不会总是能碰到好的软件呀,总有遇人不淑的时候 这时候,都已经安装过了,进也不是,退也不是 用只会越用电脑越卡顿, ...
- java mvp开发_如何从没有软件开发技能的想法变成现实的市场MVP?️?
java mvp开发 by Mike Williams 由Mike Williams 如何从没有软件开发技能的想法变成现实的市场MVP?️? (How to go from idea to live ...
- uniaccess安全助手卸载_如何彻底卸载360
今天,小编为小伙伴分享:彻底卸载360安全卫士的方法. 相信许多小伙伴都遇到过卸载完360安全卫士,它又会重新自动安装的情况? 那是为什么呢? 可以在360自动安装的时候,稍微关注一下. 它通过的是哪 ...
- mysql odbc怎么卸载_如何完全卸载数据库
卸载步骤如下: 1. 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务. 2. 开始->程序->Oracle - OraHome81-> ...
- 网上报修系统java源码_网上报修系统管理软件
网上报修系统管理软件适合于学校.企业的网上报修系统.没有复杂的操作,普通人员都很容易上手实践.并且在软件上不需要投入很多的人力培训进行操作. 网上报修系统管理平台,采用了BS架构开发,利用.NET技术 ...
- Linux软件安装卸载(yum+rpm)
文章目录 软件包概念 yum ping命令 查看所有软件包 使用yum搜索要安装的软件 yum更新软件 yum软件安装 yum软件卸载 配置阿里yum源 lrzsz 从windows上传文件到Linu ...
- java rpm卸载_rpm包的卸载与安装
1. rpm包的管理介绍:一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中,它生成具有RPM扩展名的文件,RPM是RedHat Package Manager(RedHat软件包管 ...
- linux卸载java rpm_Linux中查看jdk安装目录、Linux卸载jdk、rpm命令、rm命令参数
一.查看jdk安装目录 [root@node001 ~]# whereis java java: /usr/bin/java /usr/local/java #java执行路径 [root@node0 ...
最新文章
- 大型网站架构系列:缓存在分布式系统中的应用(一)
- .net MySql
- 【译】在Android中保护数据-加密大数据
- VTK:图片之ImageNonMaximumSuppression
- mac系统 PDO连接数据库报错处理
- 如何利用python将mp4文件转换为gif文件 + 代码分享 另附在线转换网址
- Spring Boot工作笔记-RabbitMQ中Unsupported major.minor version 52.0问题
- 我的世界python俄罗斯方块手机版下载_欢乐俄罗斯方块
- 杂谈---如果你是面试官,你希望你未来的同事具有哪些能力呢?
- python利用pandas存数据并且展示csv
- 复利计算1.0-2.0-3.0
- Jsonp 原理简述
- 用过企业微信APP 后,微信接收不到消息,解决方案
- 屏幕绘画 V1.1 - 一念(VB 绘制 图形)
- 静态库,动态库是啥,有啥区别(静态函数库/动态函数库)
- [转] 评 WOW技能天赋设计
- keil 工程编译后出现 file has been changed outside the editor, reload?
- 计算机与地震论文,地震数据论文,关于地震处理技术新进展相关参考文献资料-免费论文范文...
- SEO实战干货:网页建库与未建库的标准规则!
- 3.go mod的依赖文件所在位置
热门文章
- oracle9i档案文件创建,Oracle9i数据库系统管理 哪里有档案管理软件啊?
- 中移动为何惧怕Nokia和iPhone
- 计算机二级考试word没做完,计算机二级ms office是的Excel没做完会扣几分,太心急了,求求哪个告诉我???...
- Oracle添加字段备注以及查询
- 名字转换(java)
- 安卓手机怎么设置蓝牙耳机弹窗动画_安卓AndPods v1.5.9内购版 安卓使用AirPods蓝牙耳机...
- 医药行业数字化建设,箭在弦上
- Xlog加密使用指引
- python制作英汉词典_python如何制作英文字典
- 乐高机器人走进图书馆活动方案_综合实践活动——走进图书馆