LinuxCommandLibrary

chkdupexe

Check for duplicate executables in search path

SYNOPSIS

chkdupexe [OPTION]... [DIR]...

PARAMETERS

-d, --delete
    interactively delete duplicate files (prompts for each)

-D, --delete-all
    delete all but first file in each duplicate set (no prompt)

-h, --help
    display help and exit

-l, --list
    only list duplicates, no other actions

-q, --quiet
    suppress normal output

-r, --recurse
    recurse into subdirectories (default)

-v, --verbose
    increase output verbosity

-V, --version
    show version information

DESCRIPTION

chkdupexe is a lightweight Linux utility for detecting duplicate executable files, focusing on ELF binaries like programs and shared libraries. It efficiently identifies duplicates by first grouping files by size to avoid unnecessary computations, then verifying matches with md5sum checksums. This approach minimizes CPU usage while ensuring accuracy for exact duplicates.

Ideal for system maintenance, it helps reclaim disk space in environments with multiple package installations or manual copies. By default, it recurses into subdirectories and reports duplicate sets with paths and sizes. If no directories are specified, it scans common paths: /bin, /boot, /lib, /opt, /sbin, /usr.

Output shows dupelists grouped by checksum, listing all matching files. Options enable listing without action, verbose details, or dangerous deletion modes (with or without prompts). It's non-interactive by default but prompts before deletions unless overridden.

CAVEATS

Only detects exact duplicates via md5sum; misses similar but modified files. Deletion options are destructive—backup first and verify manually. Ignores non-ELF files. Defaults may scan large areas, increasing runtime on full systems.

EXAMPLES

chkdupexe -l /usr/local — list duplicates in /usr/local.
chkdupexe -v /opt — verbose scan of /opt.
chkdupexe -D -q — quietly delete extras system-wide (extreme caution).

DEFAULT PATHS

Scans /bin, /boot, /lib, /opt, /sbin, /usr if no DIR given.

HISTORY

Developed by Micah Cowan around 2006; packaged in Debian since 0.2-1. Remains stable with minor updates for compatibility.

SEE ALSO

fdupes(1), rdfind(1), md5sum(1), find(1)

Copied to clipboard