gpt4 book ai didi

linux rpm卸载参数

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章linux rpm卸载参数由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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行: 本行是卸载后触发脚本程序的执行结果,

最后此篇关于linux rpm卸载参数的文章就讲到这里了,如果你想了解更多关于linux rpm卸载参数的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com