Part of video game preservation is a catalog of video games. The emulation community has come up with auditing utilities to manage ROM collections. The best known seems to be the Good Utilities, bare DOS software. RomCenter and ClrMamePro offer GUIs.
These programs all act on a catalog of known ROMs with checksums and disposition. DATs are maintained separately: some sources are Rob's conversions and Logiqx. Unfortunately the Windows programs are awkward and slow, and no one seems to have a simple Linux port. May be a good job for Python.