LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 905|回复: 2

什么叫触发脚本程序

[复制链接]
发表于 2009-7-23 12:19:44 | 显示全部楼层 |阅读模式
RPM在卸载软件包时,分步骤进行如下操作:   
1. 检查依赖(Denpendency)   
检查依赖的目的,在于确保当前没有任何软件包依赖于当前要卸载的软件包。   
2. 执行卸载前触发脚本程序(Triggerun)   
3. 执行卸载前脚本程序(Preuninstall)   
本程序为软件包制作者设定,完成卸载前的一些工作,具体如,要卸载的软件包中某个   
程序当前正在运行时,脚本程序必须杀掉它,否则无法正确卸载。   
4. 检查配置文件(Configfiles)   
RPM卸载软件包前会检查包中的配置文件是否修改了,如果修改了,RPM要换个名字保存   
该文件,文件名一般是“原文件名+.rpmsave”。(这是RPM软件包管理的特色之一)   
5. 真正卸载   
即按照软件包中的文件列表,将文件逐个删除。要注意的是,如果其中有文件属于别的   
软件包(即两个软件包拥有一个名字相同的文件),则RPM并不删除。   
6. 执行卸载后脚本程序(Postuninstall)   
本程序主要是完成卸载的善后工作,如将系统配置文件inetd.conf修改一下,去掉安装   
时添加的东西等等。   
7. 更新RPM数据库   
卸载后,RPM删除该软件包在数据库中的所有信息。   
8. 执行卸载后触发脚本程序(Triggerpostun)
发表于 2009-7-23 23:31:35 | 显示全部楼层
就是说rpm在执行安装或者卸载前,可执行指定功能。
这些功能有两种方式实现:1.就是 脚本程序(Preuninstall) 之类的。 2.就是 触发脚本程序(Triggerun) 之类的。 效果几乎一样,就是使用方式不同而已。

至于到底有啥区别,我也想知道。我只用过脚本……个人感觉触发脚本用起来有点复杂~~
回复 支持 反对

使用道具 举报

发表于 2009-7-23 23:35:15 | 显示全部楼层
有一点是楼文中没提到的:就是那个脚本执行出错的话,可能也会安装或者卸载成功~
当然,这是因为脚本写得有问题才出错~哈~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表