After few months or years later, you will notice unnecessary files, libraries and/or documentation eating up your disk space under Debian Linux. Try the following tips to free up disk space:
Remove cached .deb files
When you run apt-get command, it downloads and caches the package in /var/cache/apt/archives directory.
# cd /var/cache/apt/archives
# du –ch
8.0K ./partial 838M . 838M total
Next remove all cached *.deb files:
# rm –f *.deb
Remove Orphaned package
deborphan command finds packages that have no packages depending on them. The default operation is to search only within the libs and oldlibs sections to hunt down unused libraries.
Following command displays Orphaned package list:
$ deborphan -sz
- -s: Show the sections the packages are in.
- -z: Show the installed size of the packages found.
You can remove orphaned package with apt-get remove command:
# apt-get remove packagename
Alternatively, remove all orphaned package in one command:
# apt-get remove $(deborphan)
# apt-get remove --purge $(deborphan)
If you find command line hard to use try orphaner command which is nothing but a neat frontend for deborphan displaying a list of orphaned packages with dialog or whiptail. Packages may be selected for removal with apt-get which is then called to do the work. After removal a new list of orphaned packages is gathered from deborphan. The program ends when either "Cancel" is pressed or no package is marked for removal.
However some packages are important and if you want to keep them forever, use editkeep command which is a frontend for deborphan displaying a list of orphaned packages (-a for all-sections is implied) and packages which are tagged to never been shown using dialog or whiptail:
cruft is a program that goes over the Debian packaging system's database, and compares the contents of that with the files actually on your system, and produces a summary of the differences. For example, you can clean spool with following command:
# cruft –k
Read the cruft man page for advance usage.
Remove log files
Backup log files and remove them from /var/log directory. To truncate log file you can run for loop:
# cd /var/log/squid
# for i in *; do >$i; done
Also, consider rotating log files using logroate facility.
- Linux: Debian package management cheat sheet
- How do I rotate log files?
- Read the man pages for editkeep, cruft, deborphan, and apt-get commands.
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012
- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop