Tuesday, October 31, 2006

where is the postinst script?


Debian sid repository中一个bug让我郁闷了好久。


安装xserver-xorg结果那个时候的mirror.geekbone.org的sid
repository中,这个包的postinst脚本有bug,所以安装之后的设置没有完成,当时我就直接把安装进程给杀了,可是后来apt-get的时候总是报一个:
dpkg was interuptted, you must manually run 'dpkg --configure -a'
to correct the problem.这样的错误,可是我执行dpkg
--configure
-a它又去执行那个错误的postinst脚本去了,于是再次进入死循环。


于是我按照那个bug页面说的想去修改postinst脚本,但是不知道在哪里,找了很久找不到,我想把/var/cache/apt/archives/


下面的deb都删除了重新下载安装,可是无论运行apt-get
dpkg 还是aptitude都报那个 dpkg was
interuptted的错,并且运行dpkg --configure
-a它又去执行那个错误的postinst脚本。很明显这个时候运行的postinst不是deb包中的那个了,一定保存在别的什么地方。


google了一下
postinst
,从结果中发现了一个路径挺像/var/lib/dpkg/info/于是cd过去,果然找到xserver-xorg.postinst,打开emacs修改之,然后重新运行dpkg
--configure -a ,成功!


0 Comments:

Post a Comment

<< Home