Here is the fix!! ( a big Thank You to @clarkej for putting me on the right path).
My boot partition in Ubuntu was almost completely full and there was no room for the Lets Encrypt packages to unpack and get setup. I think it currently requires about 28mb to setup everything and about 12mb of that is to go in the boot partition. My boot partition only had 8mb of remaining space.
It turns out that every time Ubuntu updates itself and new kernels are added, the old kernels are just left there “unused” in case you ever have to go backwards due to bugs or other disasters. In the mean time, this action of leaving all the old kernel files laying around is in itself a slow train wreck of a disaster in the making. Since the boot partition is only about 235mb in size, it doesn’t take much to start choking off the operating system with un-digested old kernels. There is no Tums or Rolaids for your Ubuntu server, just a lot of careful work to be done on some regular schedule.
So, after a bunch of reading I found a very concise set of instructions for cleaning up the mess left behind by the updates. These instructions were fist published by a user on GitHub called “ipbastola” about 2 years ago. His list is here:
Then around January of this year his original instructions were picked up by someone at Northwestern College (without proper acknowledgment of the original author) and republished with some expanded and very useful additions at the bottom> The Northwestern user goes by “rtn361” and his remake is listed here:
Now, I wanted to acknowledge everyone that came before me in relaying this information to you. I also want to make sure the instructions do not get lost like so many other links on this forum that get broken. So to that end I will copy post them here for posterity and the needs of our own community ![]()
Thank you to both previous authors!
Here are the instructions:
Case I: if /boot is not 100% full and apt is working
**Check the current kernel version**
$ uname -r
It will shows the list like below:
3.19.0-64-generic
2. Remove the OLD kernels
2.a. List the old kernel
$ sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r`
You will get the list of images something like below:
linux-image-3.19.0-25-generic
linux-image-3.19.0-56-generic
linux-image-3.19.0-58-generic
linux-image-3.19.0-59-generic
linux-image-3.19.0-61-generic
linux-image-3.19.0-65-generic
linux-image-extra-3.19.0-25-generic
linux-image-extra-3.19.0-56-generic
linux-image-extra-3.19.0-58-generic
linux-image-extra-3.19.0-59-generic
linux-image-extra-3.19.0-61-generic
2.b. Now its time to remove old kernel one by one as
$ sudo apt-get purge linux-image-3.19.0-25-generic
$ sudo apt-get purge linux-image-3.19.0-56-generic
$ sudo apt-get purge linux-image-3.19.0-58-generic
$ sudo apt-get purge linux-image-3.19.0-59-generic
$ sudo apt-get purge linux-image-3.19.0-61-generic
$ sudo apt-get purge linux-image-3.19.0-65-generic
When you’re done removing the older kernels, you can run this to remove ever packages you won’t need anymore:
$ sudo apt-get autoremove
And finally you can run this to update grub kernel list:
$ sudo update-grub
Case II: Can’t Use apt i.e. /boot is 100% full
NOTE: this is only if you can’t use apt to clean up due to a 100% full /boot
_Get the list of kernel images_
Get the list of kernel images and determine what you can do without. This command will show installed kernels except the currently running one
$ sudo dpkg --list ‘linux-image*’|awk ‘{ if ($1==“ii”) print $2}’|grep -v uname -r
You will get the list of images somethign like below:
linux-image-3.19.0-25-generic
linux-image-3.19.0-56-generic
linux-image-3.19.0-58-generic
linux-image-3.19.0-59-generic
linux-image-3.19.0-61-generic
linux-image-3.19.0-65-generic
linux-image-extra-3.19.0-25-generic
linux-image-extra-3.19.0-56-generic
linux-image-extra-3.19.0-58-generic
linux-image-extra-3.19.0-59-generic
linux-image-extra-3.19.0-61-generic
Prepare Delete
Craft a command to delete all files in /boot for kernels that don’t matter to you using brace expansion to keep you sane. Remember to exclude the current and two newest kernel images. From above Example, it’s
sudo rm -rf /boot/-3.19.0-{25,56,58,59,61,65}-
Clean up what’s making apt grumpy about a partial install.
sudo apt-get -f install
4. Autoremove
Finally, autoremove to clear out the old kernel image packages that have been orphaned by the manual boot clean.
sudo apt-get autoremove
5. Update Grub
sudo update-grub
6. Now you can update, install packages
sudo apt-get update
.
.
.
Alright folks. I hope that at least one other person find relief in this thread. I know it is really scary when you try to install Lets Encrypt and it fails. You begin to think there might be a serious problem with your server. The reality here is that it could just as easily be any other package you need to install. If some of it needs to go to the /boot partition and there is no room, then you will still trip over the same problem.
So, I’m done for the night. ![]()
BKM