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
2.在postinst中rm -rf mysoft-en,
结果dpkg -l | grep mysoft 中还能看到mysoft-en
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.
4.删除/var/lib.dpkg/status中Package: mysoft-en那一整段,这个办法也不行,dpkg执行的时候无法修改或者删除status文件.
求解中...
现在我做了一个新版的deb,它的Package: mysoft
在新版的postinst中,我想先卸载掉mysoft-en这个包,我用了几种方法:
1. 在新版的postinst加入dpkg -P mysoft-en,
结果是dpkg: status database area is locked by another process
2.在postinst中rm -rf mysoft-en,
结果dpkg -l | grep mysoft 中还能看到mysoft-en
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.
4.删除/var/lib.dpkg/status中Package: mysoft-en那一整段,这个办法也不行,dpkg执行的时候无法修改或者删除status文件.
求解中...