How to roll-back or downgrade kernel on 14.04 (re: Wine stopped working)?
With a recent update (I'm on 14.04 LTS), Wine suddenly stopped working. It turns out this has already been reported at WineHQ where the related bug reports are linked.
The advice there is to downgrade the kernel while awaiting the fix, referring users back to their distros on advice for doing the "downgrade". There are quite a few Q&As about this, but the 14.04 specific ones don't appear to meet this need. (And the "similar questions" in the sidebar are often quite old.)
How should the kernel be safely downgraded while not prohibiting automatic updates (to catch the fix which is surely coming soon!)?
The problematic update in my case appears to be this one:
2015-07-28 14:08:18 upgrade linux-libc-dev:amd64 3.13.0-58.97 3.13.0-59.98
Solution 1:
When you first boot up your machine you should see the grub boot menu. At the grub boot menu choose the older Kernel you want to boot to - Once you have chosen the Kernel you want to keep and you have booted into it
uname -r
will tell you what kernel you are currently running on (measure twice cut once)
dpkg -l | grep linux-image
dpkg -l | grep linux-headers
will tell you what kernels/headers are saved on your system - I will also delete the headers - though they dont take up too much space i still purge them, why have them if I am deleting the kernel?
Be advised that it is important to NOT delete the Kernel you are running i.e uname -r
Deleting these kernel and header entries will make your system unusable
then just delete the ones you dont want:
sudo apt-get purge
I will copy the output of dpkg -l | grep linux-image
to a text document so that it is an un-messy process and i can clearly choose what i want to delete vs save
an example of what the full command will look like:
sudo apt-get purge linux-image-3.16.0-41-generic linux-image-3.16.0-41-lowlatency linux-image-extra-3.16.0-41-generic
sudo apt-get purge linux-headers-3.16.0-41 linux-headers-3.16.0-41-generic linux-headers-3.16.0-41-lowlatency
an example of what the output of dpkg -l | grep linux-headers will look like:
jason@casa-wesella:~$ dpkg -l | grep linux-headers
ii linux-headers-3.16.0-41 3.16.0-41.57~14.04.1 all Header files related to Linux kernel version 3.16.0
ii linux-headers-3.16.0-41-generic 3.16.0-41.57~14.04.1 i386 Linux kernel headers for version 3.16.0 on 32 bit x86 SMP
ii linux-headers-3.16.0-41-lowlatency 3.16.0-41.57~14.04.1 i386 Linux kernel headers for version 3.16.0 on 32 bit x86 SMP
ii linux-headers-3.16.0-43 3.16.0-43.58~14.04.1 all Header files related to Linux kernel version 3.16.0
ii linux-headers-3.16.0-43-generic 3.16.0-43.58~14.04.1 i386 Linux kernel headers for version 3.16.0 on 32 bit x86 SMP
ii linux-headers-3.16.0-43-lowlatency 3.16.0-43.58~14.04.1 i386 Linux kernel headers for version 3.16.0 on 32 bit x86 SMP
ii linux-headers-generic-lts-utopic 3.16.0.43.34 i386 Generic Linux kernel headers
ii linux-headers-lowlatency-lts-utopic 3.16.0.43.34 i386 lowlatency Linux kernel headers
Solution 2:
This answer isn't about rolling-back the kernel. But, FYI, the original problem that caused wine to malfunction seems to have been in the 3.13.0-59-generic kernel; and the new 3.13.0-61-generic version is now available.
I manually started Software Updater and it upgraded to 3.13.0-61-generic automatically; now my wine applications launch OK again.