How to free up disk space on Ubuntu Server
Tags: ubuntu, security, devops, server
Published: 2020-12-15 11:04:47

<!--
Title: How to free up disk space on Ubuntu Server
Tags: ubuntu, security, devops, server
 -->

# Introduction

So you have been running your Ubuntu Server for a while and **recently found out that the disk usage is already at 70%!?** Then lets free some space up.

This tutorial will help you liberate space on your system without breaking anything in the process.

---

## Before we start

### Preface

While this tutorial is focused on **Ubuntu Server**, it can be used for many other distributions that use the same packages, like Ubuntu Desktop, Debian, Linux Mint, etc.

### Requisites

- An Ubuntu server
- Access to your server

---

## Clean packages

Packages are archived and stored, if these versions can't be downloaded anymore --_because there is a newer version or any other reason_--, they end up being unnecessary. So lets clean lingering packages.

```sh
# Find no longer available packages and remove them
sudo apt autoclean -y
```

---

## Remove packages

Chances are that **when you update and upgrade your system, some packages end up being unnecessary**. But your system won't remove them, so lets tell it to do that.

```sh
# Find unnecessary or redundant packages and remove them
sudo apt autoremove -y
```

---

## Logs

Application logs keep increasing the disk usage of your server, **specially if it is a busy one**. But if we don't care much about keeping records, we can just delete them.

```sh
# Check current logs disk usage
sudo journalctl --disk-usage

# Rotate logs so they are saved to disk
sudo journalctl --rotate

# Clean any log that is older than one second
sudo journalctl --vacuum-time=1s

# One liner
sudo journalctl --rotate && sudo journalctl --vacuum-time=1s
```

---

## Biggest files

Now we are switching to a more manual approach, lets find out what the biggest files on our system are.

```sh{12}
# Find biggest files in "/" and show their size in human readable format
sudo du -a -h /

# Sort the output
sort -n -r

# Show only the top 15 results
head -n 15

# Combined in a one liner
sudo du -a -h / | sort -n -r | head -n 15
```

And then delete them

```sh
# Delete a file
sudo rm /path/to/file
```

⚠ Be careful to not delete any important file, in case of doubt, don't do it. ⚠

---

## End

### What next?

You can now search for more specific guides.

For example, if you are using Docker, you might want to learn [how to remove unnecessary resources](https://blog.akbal.dev/how-to-remove-unused-docker-resources).

<!-- INCLUDE -->

### Self promotion

If you have found this useful then you should follow me, I will be posting more interesting content! 🥰

- [GitHub](https://redirect.akbal.dev/github)
- [Twitter](https://redirect.akbal.dev/twitter)
- [Dev.to](https://redirect.akbal.dev/dev.to)
- [Medium](https://redirect.akbal.dev/medium)
- [LinkedIn](https://redirect.akbal.dev/linkedin)

Or support me financially. 💸

- [GitHub Sponsors](https://redirect.akbal.dev/github/sponsor)
- [LiberaPay](https://redirect.akbal.dev/liberapay)
- [PayPal](https://redirect.akbal.dev/paypal)

<!-- /INCLUDE -->

### Conclusion

Today you have learned how to free up space on your system by removing packages, logs and files.

**Let me know how much space you have recovered in the comments!**