Deleted old version of kernel to free up space - now getting nonstop errors
My /boot
partition was full, so I deleted an old version of the kernel to free up space, so I deleted the following files in /boot
:
abi-3.8.0-25-generic
config-3.8.0-25-generic
initrd.img-3.8.0-25-generic
System.map-3.8.0-25-generic
vmlinuz-3.8.0-25-generic
But now, whenever I do anything in apt-get, it throws errors, for example:
sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up linux-image-extra-3.8.0-25-generic (3.8.0-25.37) ...
Internal Error: Could not find image (/boot/vmlinuz-3.8.0-25-generic)
dpkg: error processing linux-image-extra-3.8.0-25-generic (--configure):
subprocess installed post-installation script returned error exit status 2
No apport report written because MaxReports is reached already
Errors were encountered while processing:
linux-image-extra-3.8.0-25-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
Is there any way I can fix this now that I stupidly didn't back up the files I deleted?
$ dpkg -l linux-image-*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===============================================-============================-============================-===================================================================================================
un linux-image-3.0 <none> (no description available)
rc linux-image-3.5.0-17-generic 3.5.0-17.28 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP
rc linux-image-3.5.0-25-generic 3.5.0-25.39 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP
rc linux-image-3.5.0-26-generic 3.5.0-26.42 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP
ii linux-image-3.5.0-27-generic 3.5.0-27.46 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP
rc linux-image-3.8.0-19-generic 3.8.0-19.30 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
ii linux-image-3.8.0-21-generic 3.8.0-21.32 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
ii linux-image-3.8.0-22-generic 3.8.0-22.33 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
ii linux-image-3.8.0-23-generic 3.8.0-23.34 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
ii linux-image-3.8.0-25-generic 3.8.0-25.37 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
ii linux-image-3.8.0-26-generic 3.8.0-26.38 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
ii linux-image-3.8.0-29-generic 3.8.0-29.42 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
ii linux-image-3.8.0-31-generic 3.8.0-31.46 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
ii linux-image-3.8.0-32-generic 3.8.0-32.47 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
rc linux-image-extra-3.5.0-17-generic 3.5.0-17.28 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP
rc linux-image-extra-3.5.0-25-generic 3.5.0-25.39 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP
rc linux-image-extra-3.5.0-26-generic 3.5.0-26.42 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP
ii linux-image-extra-3.5.0-27-generic 3.5.0-27.46 amd64 Linux kernel image for version 3.5.0 on 64 bit x86 SMP
rc linux-image-extra-3.8.0-19-generic 3.8.0-19.30 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
ii linux-image-extra-3.8.0-21-generic 3.8.0-21.32 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
ii linux-image-extra-3.8.0-22-generic 3.8.0-22.33 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
ii linux-image-extra-3.8.0-23-generic 3.8.0-23.34 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
iF linux-image-extra-3.8.0-25-generic 3.8.0-25.37 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
ii linux-image-extra-3.8.0-26-generic 3.8.0-26.38 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
ii linux-image-extra-3.8.0-29-generic 3.8.0-29.42 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
ii linux-image-extra-3.8.0-31-generic 3.8.0-31.46 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
ii linux-image-extra-3.8.0-32-generic 3.8.0-32.47 amd64 Linux kernel image for version 3.8.0 on 64 bit x86 SMP
ii linux-image-generic 3.8.0.32.50 amd64 Generic Linux kernel image
$ sudo apt-get --reinstall install linux-image-extra-3.8.0-25-generic
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 8 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
E: Internal Error, No file name for linux-image-extra-3.8.0-25-generic:amd64
Solution 1:
The package manager is complaining about being unable to delete a missing file. So, give it what it wants! I found even a zero length file will do. In /boot, recreate the missing files:
sudo touch vmlinuz-3.8.0-25-generic
... etc. Then simply run the purge on all associated packages:
sudo apt-get purge `apt-cache pkgnames | fgrep 3.8.0-25`
(You will be asked to confirm the removal).
Solution 2:
Please, don't delete anything in your /boot
directory by hand! For that there is the package manager. You should reinstall the package to fix this situation:
sudo apt-get --reinstall install linux-image-extra-3.8.0-25-generic