Closed Justinzobel closed 1 month ago
Hello,
There is no point in looking after files that are spread across filesystems: they will never be deduplicated, so the whole task is worthless. Because of this, duperemove
locks itself on the filesystem that stores the first file it encounters.
There are no good way to get a filesystem persistent identity, on Linux (the fsinfo() call etc are not merged, as far as I know).
As a better-than-nothing solution, the filesystem UUID is retrieved. To do that, the filesystem must be read: so either duperemove
is run as root (in which case, the block device can be opened and the UUID can be retrieved) or duperemove
is run as a regular user, in which case the UUID is retrieved from the cache (/run/blkid/blkid.tab
on Debian).
This cache is built when you run blkid
as root, and lives until reboot. Of course, if you mount your filesystem, blkid
must be rerun to grab the newly entry.
I hope the clean the situation, feel free to give me suggestions of improvements or reopen the issue if the explanation is not enough
Best regards,
duperemove . folder2 Gathering file list... libblkid could not get uuid for device /dev/mapper/luks-49330a12-6c14-4ada-a015-f990c2965b26. Run blkid as root to populate the cache. libblkid could not get uuid for device /dev/mapper/luks-49330a12-6c14-4ada-a015-f990c2965b26. Run blkid as root to populate the cache. Hashfile "(null)" written