Sudo Hangs Indefinitely Without Prompting for Password

sudo

When I logged back into my Ubuntu desktop after an update, my display driver was seemingly unavailable and I was met with vt-7's output. I changed to a different terminal and logged in. However, when I attempted to use sudo to install a display driver, sudo hung forever. No prompt for a password, Ctrl+c Ctrl+d Ctrl+z all didn't do anything. It ate my virtual terminal. I changed to another one and the same thing happened. What's happening?

Update

/etc/pam.d/sudo

#%PAM-1.0
auth required pam_env.so readenv=1 user_readenv=0
auth required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
@include common-auth
@include common-account
@include common-session-noninteractive

Other commands such as ifconfig also seem to hang.

Update 2

I think that this breakage has to do with the fact that Ubuntu tried to upgrade a kernel with an earlier verison. I was running kernel 3.7.1 which I downloaded and installed manually, and Ubuntu did a dist-upgrade which "upgraded" the kernel to 3.2.X. I have a feeling that this messed things up substantially. I'm going to try reinstalling the kernel and see if I can undo some of the fallout. Note to self: always disable Ubuntu kernel updates when running a later kernel.

Best Answer

A kernel "upgrade" was the cause of this calamity. Since I installed my own, later kernel from kernel.ubuntu.com, when a "new" kernel of a different minor version was installed, everything in the world got messed up.

For my purposes, I had manually installed kernel 3.7.1, whereas the kernel provided by the Ubuntu distribution is kernel 3.2.0. This, for some reason, really botched things up, despite the fact that I was running 3.7.1 from an EFI boot and there simply isn't a way to boot into kernel 3.2.0. There are incompatibilities between kernel versions and the wireless driver, but an incompatibility with the wireless driver wouldn't cause everything to lock up and get messed up.

Next step for completely solving the problem would be completely preventing kernel updates from ever happening again. How can I do this? I've heard of doing it with dpkg --set-selections, but I'm not sure how to prevent updates to all linux-(headers,headers-generic,image,image-extra) packages, due to their naming:

linux-headers-3.2.0-36
linux-headers-3.2.0-36-generic
linux-image-3.2.0-36-generic

How do I block changes to all kernels starting with 3.2?

Related Question