Over time, as you use your Ubuntu system, it can accumulate unnecessary files, packages, and old updates that take up valuable disk space. Cleaning up your system regularly helps maintain its performance and free up space for important files.
In this article, we will explore several terminal commands that you can use to clean up your Ubuntu system easily.
Why Clean Up Your Ubuntu System?
Cleaning up your Ubuntu system is essential for several reasons:
- Free Up Space: Unnecessary files, caches, and packages can take up a significant amount of disk space. By removing them, you can make room for new applications or files.
- Improve Performance: Removing old files and packages can help speed up your system by reducing clutter and unnecessary background processes.
- Security and Stability: Removing old or unused packages ensures that your system is not running outdated or unnecessary software that could introduce vulnerabilities.
1. Using apt for Package Cleanup
The apt command is one of the most commonly used package managers in Ubuntu, which helps manage software installations, updates, and removals.
a. Remove Unused Packages
When you install packages, some of them bring along dependencies that you might not need after uninstalling the main package.
To remove these unnecessary packages, use the following command:
sudo apt autoremove
This will remove packages that were installed as dependencies but are no longer required by any installed programs. This is an important cleanup step because it helps free up disk space.
b. Remove Unnecessary Dependencies
Sometimes, packages leave behind configuration files or dependencies that are no longer needed.
To remove these, you can use the following command, which will delete old versions of installed packages that are no longer needed and help clear out unnecessary files from the package cache.
sudo apt autoclean
c. Clean Package Cache
Ubuntu stores downloaded package files in the cache for future use. Over time, these cached files can take up a lot of space.
To clean out this cache, use the following command which will remove all the package files from the cache, freeing up space.
sudo apt clean
2. Using dpkg for Removing Packages
If you want to remove a specific package and its associated files, you can use the dpkg command as shown.
sudo dpkg --remove <package_name>
Replace <package_name>
with the name of the package you want to remove.
If you want to completely remove the package, including its configuration files, use:
sudo dpkg --purge <package_name>
This ensures that the package and all related files are removed from your system.
3. Using apt to Remove Old Kernels
When you update the Linux kernel, Ubuntu keeps the older versions on your system, which takes up significant space.
To remove old and unused kernels, you can use the following command:
sudo apt --purge remove linux-image-<version>
You can check the currently running kernel by using:
uname -r
Make sure you don’t remove the kernel that is currently in use.
4. Removing Unused Snap Packages
Snap packages are self-contained applications that include everything needed to run the software. However, they can accumulate over time and take up a lot of space.
To list all installed snap packages, use:
snap list
To remove a snap package you no longer need, use:
sudo snap remove <snap_name>
This helps you clean up unnecessary snap applications from your system.
5. Removing Old Log Files
Log files are useful for debugging and monitoring your system, but they can accumulate and consume space if not cleaned up regularly.
To remove old log files, use the following command:
sudo journalctl --vacuum-time=7d
This command will remove all system logs older than 7 days. You can adjust the time frame to suit your needs (e.g., 30d for 30 days).
If you want to clear the entire systemd journal log database, use:
sudo journalctl --vacuum-size=100M
This will remove logs until the total size of the journal logs is under 100 MB.
6. Using bleachbit for Deep Cleanup
BleachBit is a graphical and command-line tool that can clean your system by removing caches, temporary files, logs, and other unnecessary files.
To install bleachbit, use:
sudo apt install bleachbit
Once installed, you can run bleachbit
from the terminal with root privileges for a deep system cleanup:
sudo bleachbit
This tool provides an easy way to clean up many system files and applications in one go, but be careful, as it may delete certain files you may want to keep.
7. Using du to Check Disk Usage
Before cleaning up, it’s helpful to check which directories are consuming the most space. You can use the du command to inspect disk usage.
For example, to see the disk usage of your home directory:
du -h --max-depth=1 ~
This will show the disk usage for directories within your home directory. You can explore other directories similarly to locate large files or folders that you may want to clean up.
8. Removing Orphaned Packages with deborphan
Over time, orphaned packages (unused libraries) can accumulate on your system. These packages are no longer needed but still remain installed.
To find and remove orphaned packages, first install deborphan:
sudo apt install deborphan
Then, run the command to list orphaned packages:
deborphan
To remove these orphaned packages, use:
sudo apt-get remove --purge $(deborphan)
This will help you clean up unnecessary packages that were once needed by other programs but are no longer required.
9. Cleaning Up Thumbnails Cache
Ubuntu creates thumbnail previews of images, videos, and documents for quick access. Over time, these thumbnails can build up and consume space.
To remove them, use the following command:
rm -rf ~/.cache/thumbnails/*
This deletes all the cached thumbnails on your system.
Conclusion
Regularly cleaning up your Ubuntu system is essential for maintaining a fast, responsive, and efficient operating system. By using the commands outlined above, you can easily remove unnecessary packages, clean up old files, and free up valuable disk space.
Remember, always be cautious while using these commands, especially when removing packages or deleting files. Double-check what you are deleting to ensure that you don’t accidentally remove important files or software.
This is just freeing up disk space though, not actually removing anything that would create running processes as far as I know.
I can’t imagine there is any measurable difference in real world use unless the partition/drive has less than 25-30% of free disk space. Am I wrong here?
@Nader,
You’re correct that cleaning up unused packages primarily frees up disk space, but it can also remove unnecessary libraries or dependencies that could be loaded into memory by other processes.
While the performance impact is minimal in most cases, a cluttered system might experience slower boot times or increased background activity. Keeping the system clean helps avoid potential conflicts and ensures smoother updates.
I believe in minimalism, so I uninstall any packages I do not need or want as soon as I finish an installation. As far as I know, none of the packages installed during the default installation of any distro based on Ubuntu can be uninstalled without compromising the system.
For example, I have tried to uninstall “cowsay” and “fortune” from many Ubuntu-based distros, with the same unvarying result—the “ubuntu-minimal” package is always marked for removal along with “cowsay” and “fortune“.
Other, more consequential packages fare as poorly (or in this case, as badly) as “cowsay” and “fortune.” “ubuntu-minimal” and other system files/packages are scheduled to be removed.
Therefore, I avoid Ubuntu-based distros…
@dragonmouth,
Ubuntu-based distros tightly integrate packages like ubuntu-minimal to ensure system stability, which is why removing even non-essential packages often triggers their removal. A more customizable minimal distro might suit your needs better!