It’s been about seven months since I setup a Wireless GitLab server. Since then I’ve figured out how to list updatable packages on Ubuntu Server. I’ve also performed several updates using sudo apt-get update && sudo apt-get upgrade
.
gzip: stdout: No space left on device
Today I ran into a new problem. Upon trying to perform an update I was presented with a peculiar error. It said gzip: stdout: No space left on device
and it told me to run apt-get -f install
to fix things up. So… that’s what I tried doing. I tried running the apt-get -f install
command but to no avail. The command would not complete successfully.
This is about the time when I start getting really annoyed with Linux and the command line and all the things associated with configuring things manually like do I really need to download the entirety of the Linux MAN files inside my HEAD? DO I NEED TO DO THAT? GAHasldkjsadljfsadfsdsdf!!!!
Calm yourself.
The /boot partition is 100% full
Ok, so it turns out that the apt-get process can fail if the /boot
partition becomes 100% full. There were a number of suggestions online that indicated you needed to clean out the /boot partition by removing old linux-images that you don’t need anymore. Many of these suggestions involved using sudo apt-get remove [package-name]
or using sudo apt-get autoremove
which are both completely valid options… IF APT-GET WERE WORKING. But apt-get is not working, that’s the problem.
So… I Googled a lot and dug through a lot of forums. Finally I stumbled on this uber helpful answer on askUbuntu. I’ll go ahead and paraphrase the answer below so that I can easily find it again. Yes. This is all about me.
Cleaning up the /boot partition
In the case where your /boot
partition becomes totally full you can use these steps to clean it up. (From flickerfly on AskUbuntu).
- Run the following command to get a list of the linux-image files that you don’t need anymore.
sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r`
- Create a command to remove the folders you don’t need anymore. You can do that with a command like this (where brace-expansion is used to save keystrokes). Use the output from the command above to build your command.
EXAMPLE sudo rm -rf /boot/*-3.2.0-{23,45,49,51,52,53,54,55}-*
- Now that apt-get has space to work with you can actually run
sudo apt-get -f install
to clean things up. - Use Purge to manually resolve issues with “Internal Errors” (if you get any internal errors).
EXAMPLE sudo apt-get purge linux-image-3.2.0-56-generic
- Run `sudo apt-get autoremove ` to clean up anything orphaned by the manual clean.
- Now you can finally proceed with those updates you were wanting to do.
sudo apt-get update && sudo apt-get upgrade
Party?
We can party now I think.