GICT knowledge base
Cleaning Up APT Package Cache: Freeing Storage Space in Ubuntu
Published
Introduction
When you install or update software in Ubuntu, the system downloads package files and stores them on your computer for future use. Over time, these cached files can accumulate and take up several gigabytes of valuable disk space. These files remain on your system even after the software is installed.
This article shows you how to safely clean up Ubuntu’s APT package cache to free storage space. You will learn different methods to remove cached packages, understand what files are safe to delete, and discover how to prevent excessive cache buildup in the future.
Prerequisites
Before following this article, ensure you have:
- An Ubuntu machine (any version)
- Administrative privileges (ability to use
sudo) - Basic knowledge of using the terminal
Understanding APT Package Cache
APT (Advanced Package Tool) is Ubuntu’s package management system that handles software installation and updates. When you install software, APT downloads package files and stores them in a cache folder for later use.
Why APT Keeps Cached Files
Ubuntu stores these files because:
- Faster Reinstallation: If you need to reinstall software, Ubuntu can use the cached file instead of downloading it again.
- Offline Installation: Cached packages allow installation without an internet connection.
- Dependency Resolution: Helps resolve software dependencies more efficiently.
Where Cache Files Are Stored
APT stores downloaded packages in /var/cache/apt/archives/. These are .deb files that contain the actual software packages.
Check Your Current APT Cache Size
Before cleaning up, see how much space your APT cache is currently using.
-
- Open the terminal by pressing
Ctrl + Alt + T. - Check the size of your APT cache:
- Open the terminal by pressing
$ sudo du -sh /var/cache/apt/archives/
This shows the total size of all cached package files. You might be surprised by how much space they’re using!
-
- See how many package files are cached:
$ ls /var/cache/apt/archives/*.deb 2>/dev/null | wc -l
This counts the number of .deb package files in your cache.
-
- Look at the largest cached packages:
$ sudo ls -lhS /var/cache/apt/archives/*.deb 2>/dev/null | head -10
This shows the 10 largest package files in your cache, helping you see which ones take up the most space.
Clean APT Package Cache
Ubuntu provides several built-in commands to clean up the package cache safely. Each method removes different types of files.
Complete Cache Cleanup
This approach removes all cached package files, providing maximum space recovery.
-
- Remove all cached packages:
$ sudo apt clean
This command deletes all .deb files from /var/cache/apt/archives/, freeing up the most space possible.
-
- Check how much space you freed:
$ sudo du -sh /var/cache/apt/archives/
You should see a much smaller number now, showing how much space you recovered.
Partial Cache Cleanup
This approach only removes outdated cached packages while keeping current ones.
-
- Remove only outdated cached packages:
$ sudo apt autoclean
This removes cached packages that are no longer available in the repositories but keeps packages that might still be useful.
-
- Check the difference in cache size:
$ sudo du -sh /var/cache/apt/archives/
Preview Before Cleaning:
Before actually removing files, you can preview what would be deleted.
-
- See what
autocleanwould remove without actually deleting:
- See what
$ sudo apt-get autoclean --dry-run
This shows which files would be removed without actually deleting them.
Remove Unused Packages
Besides cached files, you can also remove packages that were installed automatically but are no longer needed.
Remove Orphaned Packages
When you uninstall software, sometimes supporting packages get left behind. These are called “orphaned” packages.
-
- See what packages can be automatically removed:
$ apt list --installed | grep -c automatic
This shows how many automatically installed packages you have.
-
- Remove packages that are no longer needed:
$ sudo apt autoremove
This removes packages that were installed as dependencies but are no longer required by any installed software.
-
- Remove packages and their configuration files completely:
$ sudo apt autoremove --purge
This does the same as above but also removes configuration files, freeing up additional space.
Create a Complete APT Cleanup Routine
You can combine multiple cleanup commands for maximum space recovery.
-
- Update your package list first:
$ sudo apt update
-
- Run a complete cleanup sequence:
$ sudo apt clean
$ sudo apt autoremove --purge
$ sudo apt autoclean
-
- Check your total space savings:
$ echo "APT cache size now:"
$ sudo du -sh /var/cache/apt/archives/
$ echo "Checking if any packages can still be removed:"
$ apt list --upgradable | wc -l
Monitor Your APT Cache Size
Keep track of your cache size to know when cleanup is needed.
Check Cache Size Regularly
Create a simple command to check cache status:
$ echo "=== APT Cache Status ==="
$ echo "Cache size: $(sudo du -sh /var/cache/apt/archives/ | cut -f1)"
$ echo "Cached packages: $(ls /var/cache/apt/archives/*.deb 2>/dev/null | wc -l)"
$ echo "Available updates: $(apt list --upgradable 2>/dev/null | wc -l)"
Copy and paste these lines to get a quick status report of your APT cache.
Set Up Regular Cleanup Reminders
You can set a monthly reminder to clean your cache by adding it to your calendar or creating a simple reminder note.
Consider cleaning your APT cache:
- Monthly: For systems that install software frequently
- Quarterly: For systems with light software installation
- When disk space is low: Any time your system warns about low storage
Understand APT Cleanup Safety
All APT cleanup commands are completely safe to use. Here’s why:
What’s Safe to Delete
- Cached package files: Ubuntu can always re-download these if needed
- Orphaned packages: These aren’t being used by any software
- Outdated cache: Old package versions you no longer need
What Ubuntu Protects
- Currently installed software: Cleanup commands never remove software you’re using
- System files: APT cleanup only affects cached files, not system files
- Your data: Personal files and documents are never affected
When to Clean APT Cache
Clean your APT cache when:
- Low disk space warnings: When Ubuntu warns about storage space
- Before major updates: Clean cache before upgrading to newer Ubuntu versions
- After installing lots of software: When you’ve installed many new programs
- Regular maintenance: As part of monthly system maintenance
Signs You Need APT Cleanup
Check if cleanup is needed:
$ CACHE_SIZE=$(sudo du -sb /var/cache/apt/archives/ | cut -f1)
$ CACHE_MB=$((CACHE_SIZE / 1048576))
$ echo "APT cache is using ${CACHE_MB}MB"
$ if [ $CACHE_MB -gt 1000 ]; then echo "Consider running apt clean"; fi
If the cache is over 1000 MB (1 GB), it’s time for cleanup.
Prevent Excessive Cache Buildup
While APT cache serves a useful purpose, you can configure Ubuntu to manage it more efficiently.
Automatic Cache Limits
Ubuntu can automatically limit cache size, but this requires manual configuration through advanced settings. For most users, manual cleanup is simpler and more predictable.
Best Practices for Cache Management
- Regular Updates: Keep your system updated to avoid accumulating old packages:
$ sudo apt update && sudo apt upgrade - Clean After Major Installations: Run
sudo apt cleanafter installing large software packages. - Monitor Disk Usage: Use
df -hregularly to check available space. - Uninstall Unused Software: Remove programs you no longer use:
$ sudo apt remove package-name
Troubleshoot Common APT Issues
Sometimes APT cache can cause problems. Here’s how to fix common issues:
Fix Broken Package Cache
If you get package errors, try rebuilding the cache:
$ sudo apt update
$ sudo apt clean
$ sudo apt update
Clear Corrupted Cache Files
If packages seem corrupted, clear everything and start fresh:
$ sudo rm -rf /var/cache/apt/archives/*
$ sudo apt update
This removes all cached files and updates the package list.
Conclusion
Cleaning up APT package cache is one of the easiest ways to free up significant storage space on your Ubuntu system. You learned how to check cache size, use different cleanup methods, and remove unused packages safely.
Regular APT maintenance prevents storage problems and keeps your system running efficiently. The apt clean command provides maximum space recovery, while apt autoremove eliminates unused packages. Both commands are completely safe and can be run whenever you need to free up disk space.
Remember to check your APT cache size monthly and clean it when it exceeds 1 GB. This simple maintenance routine helps ensure your Ubuntu system has adequate free space for updates and new software installations.
Related guides
How to Restrict an SSH Key to One Command
Restrict an SSH key to one command with authorized_keys options. Protect the command and check that unwanted shell and forwarding access are denied.
Linux and CommandsSelf-Hosted Video Processing With FFmpeg: A Practical Guide
Learn how to self-host video processing on a VPS using FFmpeg, with practical commands for conversion, compression, thumbnails, and automated workflows.
Linux and CommandsHow to use nohup: Commands in Linux That Survive Terminal Closes
Keep commands running after you close the terminal. nohup examples with wget, Python, rsync, and Docker on any VPS.
Linux and CommandsHow to Fix “Too Many Open Files” Error on Linux Servers
Learn how to fix the "Too Many Open Files" error on Linux servers by understanding file descriptors, adjusting limits, and diagnosing leaks effectively.
