Komparator — a comparing tool for KDE
[ Monday, 7 April 2008, michalrz ]
Komparator is an application, that can compare and synchronize the content of two (local or remote) folders. Contrary to popular belief this activity is popular among users of all platforms, but in Linux you have to use unfriendly console apps (such as diff) to do the job.
Komparator offers a simplified approach to this, as it is equipped with an interface similar to these known from popular file managers or FTP clients.
Komparator requires at least KDE 3.4 to be able to work correctly. The newest - 0.9 - version of Komparator can be downloaded from: its sourceforge page
Short description of the program
The interface is quite straightforward, however, it may be found a little bit chaotic, because the functions are organized in tabs, and not hidden somewhere in the menu. It is highly time-effective, but one really needs to get acquainted with this application to draw the profits from such a solution. It would be best to try Komparator in action on some test data at the very beginning.
There are three main tabs which define the search and program options, and three tabs featuring the lists of duplicates, newer and missing files.
The reference folder (the one that should remain unchanged), and the one we want to actualize, are set in the upper right corner by choosing the location for the right or the left column. There are also widgets used for saving and proceeding presets, of e.g. searching schemes, in the upper right corner.
The localizations can be local folders, or FTP and even SMB shares (which allows the application to be used for backup from either Windows or Linux workstations). To set the FTP localization, type:
ftp://username@host.ftp
into appropriate location field.
Komparator is able to compare the data by a variety of methods. Two files are defined as identical when not only their size, but also their MD5 sums equal. Furthermore the program is able to compare the files on binary level, however, this is the slowest solution, and it is off by default.
Unfortunately, it is required to download the files from the remote localization to compare two files correctly, which is time consuming if the bandwidth is too low.
A typical comparing process of 5 MB of data on the ftp to the local copy (searching of duplicates, missing files, and files with different modification date) lasts several minutes, but hardly more than the amount of time needed to download the data to the hard drive. The accuracy can be adjusted, so that Komparator does not check the MD5 sums, but the sizes only. It is recommended to turn on the ‘Komparator text color theme’ option in the ‘Settings’ tab of searching options. It enables the usage of more contrasting colours for marking the filenames.
Search results:
Used colours inform, whether the very file is a duplicate or a missing file and so on.
In the tab responsible for displaying the duplicates, all files which occur exactly two times, and have the same relative access path, are marked with black colour. Files which are duplicates, as far as MD5 sums and/or binary check is concerned, but which are located in different subfolders, are marked blue. When a filename is marked, the list of identical files appears. On this list the filename can be green, if it is a reference file, or blue if it is not.
All files, which appear only once, are called ‘missing files’. If in our local copy exists no such file, which means it could have been uploaded (for example on ftp) by someone else, it will be displayed on this list.
You can check which files were modified in the reference folder, while searching for ‘newer versions of files’. Newer versions will be displayed in black, whereas elder in blue. It happens, however, that such comparison does not work properly, if the dates of file creation and of modification are the same. This can happen on filesystems where only modification date is recorded, or when the file is newly uploaded and has not been changed since. Therefore, if two files are recognized as duplicates, the older one will be marked purple.
On the other hand, if the path and modification date are the same, but the files still differ, they will be marked red.
The screen is divided into two columns, one of which is the reference folder, in the missing and newer files view. While at it, you are able to move and delete the files - by moving them to trash or by deleting them permanently. You can also assign a filter, to the view to see only the files owned by a specified user, having a proper size and so on.
To sum up:
Komparator is a quite useful tool which is fast and stable. I would advise to exercise the operating skills on some test data, since the author’s understanding of the ‘duplicate’ word might differ from the one of the user.
Translated by Filip Pałuba, proof-read by Łukasz Sokół
Subscribe to RSS feed for this article!
8 Comments
- A hyperlink: <a href="polishlinux.org">GNU/Linux for everyone!</a>,
- Strong text: <strong>Strong text</strong>,
- Italic text: <em>italic text</em>,
- Strike: <strike>
strike</strike>, - Code: <code>
printf("hello world");</code>, - Block quote: <blockquote>Block quote</blockquote>














Meld, a GTK program has been doing this for a long time… Even has three way compare. But glad to see another useful tool for the QT base.
hmm
maybe I am wrong but it seems that rsync does this in a much clever way…
rsync -avz … … datzz all
/Jens
What about compare/synchronize folders/disks offline? Like take snapshot on one PC, store the list in a file/database, put that snapshot to another PC, and compare it with the local folders/disks…
Any program for that?
to take and compare a snapshot you can use the md5deep suite (http://md5deep.sourceforge.net/), an MD5, SHA-1, SHA-256, Tiger, or Whirlpool files generator.
bye
—
Stefano Spinucci
there’s also http://kdiff3.sourceforge.net/ since long time and it works greatly.
cheers
Komparator uses KDiff3.
“Krusader” can do the same thing and lot more. For me, it is a real swiss army knife for Linux. It is a file manager, ftp/scp/ssh client, directory synchronizer, etc… It can use of the following diff-frontends: Kompare, Kdiff3 and Xxdiff.
Try Unison - works using rsync (including network syncing), much more faster and elegant solution:
http://www.cis.upenn.edu/~bcpierce/unison/