Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm trying to upgrade to Jaunty, and during the upgrade process I was asked for the password for fetchmail. I entered mine and it didn't work, so install failed. I don't ever remember setting one. I went to the command line and ran "dpkg --configure -a", and I tried my password, as well as root, and just about any others I thought I would have used, nothing worked. I also tried deleting the password through passwd, as well as changing it.

Here is the output:

~$ 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

Not sure if it helps at all, but after consulting /var/log/auth.log I get the following entries:

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

So it's trying to authenticate my user account, and not fetchmail. I don't understand why this is happening when I run dpkg with sudo, since I'm already authenticated as root. The log looks to show like it's asking me for my password to become root, but it's obviously not working.

I'm scared to restart because of how far into the upgrade it made it, and don't want a completely borked system. Anyone know what I need to do here?

share|improve this question

1 Answer 1

up vote 1 down vote accepted

Here is the section from the post-installation (configuration) script which is of interest:

# 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

It would be interesting to see what the output of 'getent passwd fetchmail' says in order to solve this problem, but in the interim you have a couple of options for workarounds:

  1. Run "dpkg -l|grep '^.[fuhwt]'" to show all packages that are waiting to be configured. If there's nothing there that looks particularly vital, you're probably OK to reboot.

  2. Edit /var/lib/dpkg/info/fetchmail.postinst and comment out the chsh line. Then run dpkg --configure -a, which should run the post-installation configuration successfully now. Then you can do the chsh manually.

share|improve this answer
    
Running dpkg -l|grep '^.[fuhwt]' turned up nothing. fetchmail does show up with "^iF". So I changed the regex to be all caps, and only fetchmail comes back. I'll probably try giving it a reboot. Is there anything else to the upgrade besides the dpkg --configure -a? –  user10626 Jun 25 '09 at 17:04
    
You can run 'apt-get dist-upgrade' to check that there's no other packages left to upgrade. –  Zanchey Jun 26 '09 at 1:22

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.