Indeed, the issue is that rpm does not treat hardlinks in a special way when calculating the size. In case of glibc-locale, there are some inodes with more than 100 links, so RPMs size calculation is (NLINKS-1)*FILESIZE off, causing the discrepancy. This is even more extreme on NFS, where the (apparent) blocksize is much larger (>1 MiB) and each hardlink accounts for 1 block. making RPM believe that glibc-locale is almost 7 GiB big. (I have a workaround for that, I'm probably going to submit that soon) The question is now, how should this be fixed correctly?