2

I frequently run into the issue described in Not enough free disk space when upgrading, because the boot partition created by the Ubuntu installation is too small. When cleaning up as described in the accepted answer, I found a bunch of things that look like they belong to older kernels.

$ uname -r
3.19.0-51-generic
$ ll /boot
total 96958
drwxr-xr-x  4 root root     3072 Apr 14 09:54 ./
drwxr-xr-x 23 root root     4096 Mar  2 10:08 ../
-rw-r--r--  1 root root  1271904 Jan 22 04:40 abi-3.19.0-49-generic
-rw-r--r--  1 root root  1271993 Feb 27 00:51 abi-3.19.0-51-generic
-rw-r--r--  1 root root   177800 Jan 22 04:40 config-3.19.0-49-generic
-rw-r--r--  1 root root   177800 Feb 27 00:51 config-3.19.0-51-generic
drwxr-xr-x  5 root root     1024 Apr 14 09:54 grub/
-rw-r--r--  1 root root  9796008 Jan 21 11:09 initrd.img-3.19.0-31-generic
-rw-r--r--  1 root root 32580082 Feb 17 13:02 initrd.img-3.19.0-49-generic
-rw-r--r--  1 root root 32580270 Mar  2 10:08 initrd.img-3.19.0-51-generic
drwx------  2 root root    12288 Apr 17  2015 lost+found/
-rw-r--r--  1 root root   164216 Mar  6  2015 memtest86+.bin
-rw-r--r--  1 root root   165892 Mar  6  2015 memtest86+.elf
-rw-r--r--  1 root root   166396 Mar  6  2015 memtest86+_multiboot.bin
-rw-------  1 root root  3624223 Jan 22 04:40 System.map-3.19.0-49-generic
-rw-------  1 root root  3624551 Feb 27 00:51 System.map-3.19.0-51-generic
-rw-------  1 root root  6625856 Jan 22 04:40 vmlinuz-3.19.0-49-generic
-rw-------  1 root root  6627648 Feb 27 00:51 vmlinuz-3.19.0-51-generic
$ dpkg -l | grep 3.19.0
ii  linux-generic                                        3.19.0.51.50                               amd64        Complete Generic Linux kernel and headers
ii  linux-headers-3.19.0-26                              3.19.0-26.28                               all          Header files related to Linux kernel version 3.19.0
ii  linux-headers-3.19.0-26-generic                      3.19.0-26.28                               amd64        Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
ii  linux-headers-3.19.0-28                              3.19.0-28.30                               all          Header files related to Linux kernel version 3.19.0
ii  linux-headers-3.19.0-28-generic                      3.19.0-28.30                               amd64        Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
ii  linux-headers-3.19.0-30                              3.19.0-30.34                               all          Header files related to Linux kernel version 3.19.0
ii  linux-headers-3.19.0-30-generic                      3.19.0-30.34                               amd64        Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
ii  linux-headers-3.19.0-31                              3.19.0-31.36                               all          Header files related to Linux kernel version 3.19.0
ii  linux-headers-3.19.0-31-generic                      3.19.0-31.36                               amd64        Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
ii  linux-headers-3.19.0-32                              3.19.0-32.37                               all          Header files related to Linux kernel version 3.19.0
ii  linux-headers-3.19.0-32-generic                      3.19.0-32.37                               amd64        Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
ii  linux-headers-3.19.0-33                              3.19.0-33.38                               all          Header files related to Linux kernel version 3.19.0
ii  linux-headers-3.19.0-33-generic                      3.19.0-33.38                               amd64        Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
ii  linux-headers-3.19.0-37                              3.19.0-37.42                               all          Header files related to Linux kernel version 3.19.0
ii  linux-headers-3.19.0-37-generic                      3.19.0-37.42                               amd64        Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
ii  linux-headers-3.19.0-42                              3.19.0-42.48                               all          Header files related to Linux kernel version 3.19.0
ii  linux-headers-3.19.0-42-generic                      3.19.0-42.48                               amd64        Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
ii  linux-headers-3.19.0-43                              3.19.0-43.49                               all          Header files related to Linux kernel version 3.19.0
ii  linux-headers-3.19.0-43-generic                      3.19.0-43.49                               amd64        Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
ii  linux-headers-3.19.0-49                              3.19.0-49.55                               all          Header files related to Linux kernel version 3.19.0
ii  linux-headers-3.19.0-49-generic                      3.19.0-49.55                               amd64        Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
ii  linux-headers-3.19.0-51                              3.19.0-51.58                               all          Header files related to Linux kernel version 3.19.0
ii  linux-headers-3.19.0-51-generic                      3.19.0-51.58                               amd64        Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
ii  linux-headers-generic                                3.19.0.51.50                               amd64        Generic Linux kernel headers
ii  linux-image-3.19.0-49-generic                        3.19.0-49.55                               amd64        Linux kernel image for version 3.19.0 on 64 bit x86 SMP
ii  linux-image-3.19.0-51-generic                        3.19.0-51.58                               amd64        Linux kernel image for version 3.19.0 on 64 bit x86 SMP
ii  linux-image-extra-3.19.0-49-generic                  3.19.0-49.55                               amd64        Linux kernel extra modules for version 3.19.0 on 64 bit x86 SMP
ii  linux-image-extra-3.19.0-51-generic                  3.19.0-51.58                               amd64        Linux kernel extra modules for version 3.19.0 on 64 bit x86 SMP
ii  linux-image-generic                                  3.19.0.51.50                               amd64        Generic Linux kernel image
ii  linux-libc-dev:amd64                                 3.19.0-51.58                               amd64        Linux Kernel Headers for development

It looks like there are some things left from older versions, like linux-headers-3.19.0-26 in the dpkg output. But there is also /boot/initrd.img-3.19.0-31-generic, which seems to be from a way older one, as mine is 3.19.0.51-generic currently.

Which of these things can I remove safely? Should I alsways apt-get purge them, or are there also things I can just rm?

simbabque
  • 727
  • 1
  • 11
  • 20

1 Answers1

1

You can safely purge all linux-headers packages with the old versions.

In your case versions 3.19.0-26 - 3.19.0-43.

And NEVER delete files installed by dpkg or apt manually using rm.

Pilot6
  • 90,100
  • 91
  • 213
  • 324
  • So I should keep 49 because it's the last one after the current? – simbabque Apr 14 '16 at 08:08
  • 2
    You have 49 kernel image installed, so it makes sense to keep the headers for it. But you do not HAVE to keep the previous kernels, but it is recommended to have one in case the last one fails to boot. – Pilot6 Apr 14 '16 at 08:10