• 售前

  • 售后

热门帖子
入门百科

linux rpm卸载参数

[复制链接]
刘岑岑故 显示全部楼层 发表于 2021-10-25 19:38:23 |阅读模式 打印 上一主题 下一主题
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行: 本行是卸载后触发脚本程序的执行效果;                                                    上一页12 下一页 阅读全文

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作