我试图升级到Jaunty,在升级过程中,我被要求inputfetchmail的密码。 我进入我的,它没有工作,所以安装失败。 我永远不会记得设置一个。 我去了命令行,运行“dpkg –configure -a”,我尝试了我的密码,以及root,还有其他我以为我会用的,没有任何工作。 我也尝试通过passwd删除密码,以及更改它。
这是输出:
~$ sudo dpkg --configure -a Setting up fetchmail (6.3.9~rc2-4ubuntu1) ... Password: chsh: PAM authentication failed dpkg: error processing fetchmail (--configure): subprocess post-installation script returned error exit status 1 Errors were encountered while processing: fetchmail
不知道它是否有帮助,但在咨询/var/log/auth.log后,我得到以下条目:
Jun 19 14:19:41 dev1 sudo: steve : TTY=pts/4 ; PWD=/home/steve ; USER=root ; COMMAND=/usr/bin/dpkg --configure -a Jun 19 14:19:48 dev1 chsh[7386]: pam_unix(chsh:auth): authentication failure; logname=steve uid=0 euid=0 tty= ruser= rhost= user=root
所以它试图validation我的用户帐户,而不是fetchmail。 我不明白为什么会发生这种情况,当我用sudo运行dpkg时,因为我已经作为根进行了身份validation。 日志看起来像它要求我的密码成为根,但它显然不工作。
我很害怕重新启动,因为它的升级有多远,而且不想要一个完全exception的系统。 任何人都知道我需要在这里做什么?
以下是感兴趣的安装后(configuration)脚本部分:
# if the login shell is not /bin/false, change this, see #481727 LOGINSH=$(getent passwd fetchmail | cut -d ':' -f 7) if [ "x$LOGINSH" != "x/bin/false" ]; then chsh -s /bin/false fetchmail fi
看看“getent passwd fetchmail”为了解决这个问题而输出的内容是很有意思的,但是在这个过渡期你有两个解决scheme的select:
运行“dpkg -l | grep”^。[fuhwt]'“显示所有正在等待configuration的软件包。 如果没有什么东西看起来特别重要,那么重启可能是可以的。
编辑/var/lib/dpkg/info/fetchmail.postinst并注释掉chsh行。 然后运行dpkg –configure -a,它现在应该成功运行安装后的configuration。 然后你可以手动执行chsh。