Freedup scans and navigates through selected directories to provide a comprehensive overview of file trees.
The syntax for freedup is straightforward and involves several options that can be used. These options include providing compatibility to freedups by William Stearns, counting file space savings per file, requiring modification time stamps to be equal, requiring the path-stripped file names to be equal, showing help, only touching larger files, not really performing links, passing an option string to the initially called find command, requiring file permissions to be equal, generating symlinks although some given paths are relative, requiring user and group to be equal, and displaying shell commands to perform linking.
Freedup works in several steps. Firstly, it scans all directory trees recursively for all regular files. Then, it builds a list of those files and keeps their name, lstat(), and arg position. After this, it sorts the files by comparing their sizes using qsort(). In case the comparison has to report equal file size, additional properties are compared, and most property checks have to be added using command line options. If all demands are fulfilled, the files are compared block by block (4k), and if both files are identical and on the same file system, they will be renamed, hard linked, and renamed file removed. If hardlinking is not possible, soft links are tried, except one of the paths is not starting at the root.
Freedup's latest release removes leftover debugging statements and provides HTML documentation with the RPM file. Additionally, the installation preparation for the new Web interface can be tested, but be aware that there is currently no usable Web interface to start freedup.
Version 1.5-3: N/A