分页: 1 / 1

deb的postinst中如何加入类似dpkg -P的功能?

发表于 : 2009-03-02 15:22
宝贝的小猪
我的机器之前装了一个deb,它的Package: mysoft-en
现在我做了一个新版的deb,它的Package: mysoft
在新版的postinst中,我想先卸载掉mysoft-en这个包,我用了几种方法:

1. 在新版的postinst加入dpkg -P mysoft-en,
结果是dpkg: status database area is locked by another process :em06

2.在postinst中rm -rf mysoft-en,
结果dpkg -l | grep mysoft 中还能看到mysoft-en :em19

3.在postinst中加入替换语句,替换/var/lib.dpkg/status中的mysoft-en,替换成removed
结果出现dpkg: serious warning: files list file for package `removed' missing, assuming package has no files currently installed. :em45

4.删除/var/lib.dpkg/status中Package: mysoft-en那一整段,这个办法也不行,dpkg执行的时候无法修改或者删除status文件.

求解中... :em11

Re: deb的postinst中如何加入类似dpkg -P的功能?

发表于 : 2010-08-30 10:54
mosjin
请在postrm或者 postrm.ex的 case "$1" in purge 行加入内容:(如下):

case "$1" in

purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
# 在这儿加入你的操作代码
;;

Re: deb的postinst中如何加入类似dpkg -P的功能?

发表于 : 2010-08-30 10:55
mosjin
呵呵,刚看到帖子。晕,可能太晚了。

Re: deb的postinst中如何加入类似dpkg -P的功能?

发表于 : 2010-09-01 0:04
rediscover
LZ的软件包这样我是肯定不敢用的。 :em06