Scroll to navigation

CRUFT(8) System Manager's Manual CRUFT(8)


cruft - Check the filesystem for cruft (missing and unexplained files)


cruft [-h] [-d DRIVES] [--chroots CHROOTS] [--ignore IGNORES] [-r REPORTFILE] [-m ADDRESS] [-k | -n | -N]


This manual page documents briefly the cruft command. Please see /usr/share/doc/cruft-common/README.gz for more information.

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.


The following options are recognized:

Show a summary of options and exit.
Search only the listed filesystems. DRIVES should be an absolute path, or a quoted, space-separated list of multiple absolute paths (eg, "/ /usr /home"). Multiple -d options are allowed as well. If not specified, cruft attempts to autodetect which filesystems to scan.
Do not perform validity checks on symlinks under these directories. Useful for whatever chroots are set up in the system.
Treat the directory trees in IGNORES as if they did not exist. IGNORES should be an absolute path, or a quoted, space-separated list of multiple absolute paths. Multiple --ignore options are allowed as well.
Output report to REPORTFILE instead of standard output.
Mail report to ADDRESS.
Only cleanup cruft's spool directory.
Generate input files for reporting, but do not generate a report.
Only generate a report, based on old input files.

With none of -k -n or -N cruft performs all the above three actions, that is cleans its own spool directory, generates new input files and produces a report. Please note that cruft never deletes any files outside its own spool directory.


It is possible to get some debugging information from cruft by setting the variable CRUFT_DEBUG to 1. If you need more detailed information on what cruft is doing, set it to 2.




This manual page was written by Anthony Towns <>, for the Debian GNU/Linux system (but may be used by others).