|

7 Simple Ways to Free Up Space on Ubuntu and Linux Mint

Brief: Running out of space on your Linux system? Here are several ways you can clean up your system to free up space on Ubuntu and other Ubuntu based Linux distributions.

Over time, any operating system can become cluttered as programs are added and removed. If you have like a TB of storage capacity, you might not bother to clean up Ubuntu to make some disk space. But if your hard disk has limited space, like I have a 128 GB SSD laptop, freeing up disk space becomes a necessity.

In this article, I’ll show you some of the easiest tricks to clean up your Ubuntu system and get more space. I’ll also share some advanced tricks so that you’ll have choices.

But before that, let’s see how to find the free space remaining on Ubuntu.

Check free space on Ubuntu

It’s always a good idea to check the free disk space in Linux first. This is rather easy on Ubuntu. Just use the Disk Usage Analyzer tool. Search it in the menu and run the tool. You should see the disk space used and the free space remaining here:

Check free disk space on Ubuntu

Once you know the state of free space on your disk, it’s time to clean up your system and make some more free space here.

How to free up disk space in Ubuntu and Linux Mint

How to free up space on Ubuntu and Linux Mint

There are several ways you clean up disk space in Ubuntu and other Ubuntu-based system. I have discussed several command-line tricks here followed by some GUI options.

While I have mentioned several ways here, if you are a beginner, avoid the ones marked as ‘expert’. Not that you cannot use them, but it’s better to avoid them if you don’t know what you are doing.

I am using Ubuntu 16.04 while writing this tutorial but you can use the same steps for Ubuntu 18.04 and other Ubuntu versions, Linux Mint, elementary OS, and other Ubuntu-based Linux distributions.

If you prefer videos, I have made a video to show you how to clean Ubuntu.

1. Get rid of packages that are no longer required [Recommended]

If you read the apt-get commands guide, you might have come across the apt-get command option ‘autoremove’.

This option removes libs and packages that were installed automatically to satisfy the dependencies of an installed package. If that package is removed, these automatically installed packages are useless in the system.

It also removes old Linux kernels that were installed automatically in the system upgrade.

It’s a no-brainer command that you can run from time to time to make some free space on your Ubuntu system:

sudo apt-get autoremove

As you can see, this command is going to free up 300 Mb of free space in my system.

Free up space with autoremove command
Free up space with autoremove command

2. Uninstall unnecessary applications [Recommended]

We all have a few games and/or applications that we hardly use. Don’t trust me? Go and find all the installed software on your Ubuntu system.

Find installed software in Ubuntu
You can find installed apps in Software Center

Chances are that you have a number of apps installed that you seldom use. Maybe you installed them on the back of an awesome review, out of nosiness, or to handle a particular task.

If you need space more getting rid of the unused or lesser used applications is always a good idea.

You can remove a program in Ubuntu from the software centre or use the command below with the particular app names:

sudo apt-get remove package-name1 package-name2

3. Clean up APT cache in Ubuntu

Ubuntu uses APT (Advanced Package Tool) for installing, removing and managing software on the system, and in doing so it keeps a cache of previously downloaded and installed packages even after they’ve been uninstalled.

The APT package management system keeps a cache of DEB packages in /var/cache/apt/archives. Over time, this cache can grow quite large and hold a lot of packages you don’t need.

You can see the size of this cache with the du command below:

sudo du -sh /var/cache/apt 

As you can see, I have over 500 Mb of cache storage. When you are almost out of space, this 500 Mb can make a lot of difference.

Clean up cache in Ubuntu Linux
Cleaning up cache will free up space

Now, you have two ways to clean the APT cache.

Either remove only the outdated packages, like those superseded by a recent update, making them completely unnecessary.

sudo apt-get autoclean

Or delete apt cache in its entirety (frees more disk space):

sudo apt-get clean

4. Clear systemd journal logs [Intermediate knowledge]

Every Linux distribution has a logging mechanism that helps you investigate what’s going on in your system. You’ll have kernel logging data, system log messages, standard output and errors for various services in Ubuntu.

The problem is that over time, these logs take a considerable amount of disk space. You can check the log size with this command:

journalctl --disk-usage

Now, there are ways to clean systemd journal logs. The easiest for you is to clear the logs that are older than certain days.

sudo journalctl --vacuum-time=3d

Here’s an example:

[email protected]:~$ journalctl --disk-usage
Archived and active journals take up 1.8G in the file system.

[email protected]:~$ sudo journalctl --vacuum-time=3d
Vacuuming done, freed 1.7G of archived journals from /var/log/journal/1b9ab93094fa2984beba73fd3c48a39c

5. Remove older versions of Snap applications [Intermediate knowledge]

You probably already know that Snap packages are bigger in size. On top of that, Snap stores at least two older versions of the application (in case, you want to go back to the older version). This eats up a huge chunk of space. In my case, it was over 5 GB.

du -h /var/lib/snapd/snaps
4.0K    /var/lib/snapd/snaps/partial
5.6G    /var/lib/snapd/snaps

Alan Pope, part of Snapcraft team at Canonical, has created a small script that you can use and run to clean all the older versions of your snap apps.

What you have to do here is to create a new shell script and use the following lines in your script:

#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
snap list --all | awk '/disabled/{print $1, $3}' |
    while read snapname revision; do
        snap remove "$snapname" --revision="$revision"
    done

Give it execute permission, run the shell script with sudo and see the magic. The script removed the older Snap packages and freed over half of the 5 GB space used by Snap.

du -h /var/lib/snapd/snaps
4.0K    /var/lib/snapd/snaps/partial
2.5G    /var/lib/snapd/snaps

6. Clean the thumbnail cache [Intermediate knowledge]

Ubuntu automatically creates a thumbnail, for viewing in the file manager. It stores those thumbnails in a hidden directory in your user account at the location ~/.cache/thumbnails.

Over time, the number of thumbnails would increase dramatically. Moreover, the thumbnail cache will eventually contain many superfluous thumbnails of pictures that don’t exist anymore.

You can check the size of the thumbnail cache with the command below:

du -sh ~/.cache/thumbnails

For my system, the thumbnail cache is over 300 Mb in size.

Clean thumbnail cache to free up space in Ubuntu
size of thumbnail cache can be a sore thumb

So it’s a good practice to clear the thumbnail cache every few months or so. The quickest way is to use the terminal (please copy-paste the commands to avoid mistakes):

rm -rf ~/.cache/thumbnails/*

7. Find and remove duplicate files

Sometimes you may have duplicate files in different places in your system. Getting rid of the duplicates will certainly free up some space and clean your Ubuntu system.

You can use a GUI tool like FSlint or a command line tool like FDUPES for this task. I recommend reading this article to see how to use these tools to remove duplicate files.

fdupes-tutorials
FDUPES: finding and removing duplicate files
Other methods to clean up space [For experts]

Remove old Linux kernels that were manually installed [For Experts]

The command discussed in point 1 removes the old Linux kernel. But it won’t work if you manually installed the kernel in Ubuntu. But removing old, unused Linux kernels will still save you plenty of space.

So, if you manually installed a Linux kernel, perhaps you can manually uninstall it as well.

List all installed Linux kernels first:

sudo dpkg --list 'linux-image*'

Removing the old kernels is the same as removing any other package. I’m using shell expansion for the version numbers to save typing. It will prompt you with a list of packages that will be removed, so you can double check the list before continuing.

Note: Replace VERSION with the version of the kernel you want to remove.

sudo apt-get remove linux-image-VERSION

My recommendation is to keep at least two or preferably three kernels including the latest. This way, you will have at least one/two other kernels to boot with, if for whatever reason the latest kernel you are unable to boot with.

Remove orphaned packages [For Experts]

This step is best avoided if you are a beginner. I am not a fan of this method and I advise you to avoid it.

First, let’s see what is an orphaned package in Ubuntu.

Suppose you installed a package ‘myprogram’. But this package has a dependency on the library ‘mylib’. This lib will be usually installed automatically with ‘myprogram’. When you delete ‘myprogram’, mylib might still remain in the system. Thus mylib, in this case, becomes an orphaned package.

Now, the command listed in point 1 removes such orphaned packages. But imagine the case where you had manually installed mylib before installing myprogram. The command ‘apt autoremove’ might not remove the orphaned package in this case. And hence you’ll have to manually delete it.

You’ll have to find all the orphaned packages first and then remove them. Thankfully, we have a GUI tool to do that: gtkorphan, a graphical frontend for deborphan.

Install gtkorphan via the terminal:

sudo apt-get install gtkorphan

And to remove orphaned packages, search for Removed Orphaned Package tool and run it to find all the orphaned packages in your system:

Remove orphaned packages in Ubuntu
Find and remove orphaned packages in Ubuntu

Honestly, I won’t go for this option unless you really need every Mb of free space.

Bonus Tip: Using GUI tools to free space in Ubuntu

We saw a number of command-line options to make space in the Linux system but I understand if you don’t want to use the commands.

Remembering all the commands or using them all one by one may not be convenient for you. And this is why we have a number of GUI tools that will help you do that in a few clicks with an easy-to-use interface.

Stacer is one such tool that you could use. You can read this article to know how to use Stacer in Ubuntu.

Stacer - Dashboard
Stacer – Dashboard

You can check out more tools to clean up Ubuntu and make some free space easily.

Wrapping up

So, you saw a number of ways to clean up the Ubuntu system. Personally, I use apt-get autoremove more often than any other commands here. Regularly using this command keeps the system free from unnecessary files.

Donate Itsfoss

I hope this article helped you to make free space in Ubuntu, Linux Mint, and other such distributions. Do let me know if this worked for you or if you have some other tips to share.

Similar Posts

  • Thanks for sharing these tips and Stacer is a great app! On a different note I have a separate question: would you know how to identify/remove snapshot orphan files created by a backup solution? Unfortunately during a backup I had a power loss and some orphan files are left in the root volume taking more than 70% space. These are hidden and not sure how to find/locate and delete them. I know it is a bit of long shot! Just wondering if there is a simple way to find such files. The backup app only says is in the logs No enough space to create snapshot :) Thanks

  • Hi. This was quite helpful.
    I’m looking to build a script with all the commands listed here. Already started working on it but I would love to know if there’s a script already available so I can just use it instead. Thanks

  • This guide helped me to free almost 900mb & it makes alot of difference if you’re using Linux mint in Cheap old chromebook Acer C720P touch lol btw I’m the very beginner user of linux right now. Still learning the possibilities. btw, snap command is not working here.
    du -h /var/lib/snapd/snaps
    du: cannot access ‘/var/lib/snapd/snaps’: No such file or directory