Need GUI based File checker

I am not too comfortable with command mode operations,hence i need a file checker which is GUI based.
My current system configuration is openSUSE 11.2,GNOME desktop

Sample need for my GUI based File checker would be as follows:-

I need to check validity of iso image and i have downloaded all of the below files:-

  • openSUSE-11.3-DVD-i586.iso
  • openSUSE-11.3-DVD-i586.iso.asc
  • openSUSE-11.3-DVD-i586.iso.md5
  • openSUSE-11.3-DVD-i586.iso.sha1

I need the file checker utility to use either the asc or md5 or sha1 files and verify the iso file mentioned above

Is there such a GUI tool that is available that i can install in my openSUSE 11.2,GNOME desktop ?

load them to your burning software it should check the sums. at least K3b does.

i understand that the burner does this:-
http://i116.photobucket.com/albums/o35/vazhavandan/Screenshot-BurnImageK3b.png
But i need to check or any file,i have a rpm file an a checksum file for same rpm file

How can it check any random file,not iso alone ?

Hello vazhavandan,

AFAIK there isn’t.

The fastest way is using the command line.
Just follow these steps:

  1. Start a terminal and go to the directory containing the md5 file.
  2. Run this command:
md5sum -c <MD5 File>

It should return something like:

test: OK

Good luck!:wink:

For linux many use the utility md5sum to calculate the checksum - so you might not come across much GUI based tools for such a simple operation.

Just follow these steps (assuming you’re using KDE):

  1. Press Alt + F2
  2. Type konsole and press enter
  3. Konsole application should startup.
  4. Now change the directory to the folder containing the file which you want to check - say it is in your home dir/Downloads. So type cd ./Downloads
  5. Now type md5sum FILENAME.rpm and it would tell the checksum of the file. Compare it against the one you might already know.
  6. Also if you have a checksum file directly, you could do md5sum -c CHECKSUMFILE - it should tell Valid or invalid accordingly.

@ Edward_Iii,@ gogalthorp

I thank you both for you replies

I am afraid that i would get a response lie

AFAIK there isn’t.

Yeah i have tried out command like them before creating this thread and i found that doing this on command line is cumbersome,so i needed a GUI based tool

Guess i feel the need for GUI based tool for everything as i am used to MS based OS

admin@linux-xpqs:~/Desktop/openSUSE-11.3-DVD-i586.iso> md5sum -c openSUSE-11.3-DVD-i586.iso.md5
openSUSE-11.3-DVD-i586.iso: OK
admin@linux-xpqs:~/Desktop/openSUSE-11.3-DVD-i586.iso> sha1sum -c openSUSE-11.3-DVD-i586.iso.sha1
openSUSE-11.3-DVD-i586.iso: OK

@ash25- Thanks for your reply,i believe that i clearly told everyone in the first post that i use a openSUSE 11.2,GNOME desktop,i have not tried KDE yet

Just because you use gnome, doesn’t mean that you can’t use kde apps. To install kde, go to yast2>software>s/ware management and search for k3b.
It will install k3b along with any kde dependencies it needs.

You will find that many things in linux built in and are quicker and easier to run from a command line, so give it a try. I’m sure you’ll get used to it. (Most of us came the same way - from windows - and got used to it.)

Hello vazhavandan,

I prefer the command line because it’s fast and simple.
But if you prefer a GUI then that’s your choice.

I couldn’t find a GUI for you so I made one.
Here’s the program: Md5Check.jar (my apologies for the advertisements)

How to start:

  1. Download the Md5Check.jar file.
  2. Double-click on the file and it should start. (if a archiving tool opens try opening the jar file with java).

To run from terminal:

java -jar Md5Check.jar

And here’s the source code.

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.border.Border;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;


public class Md5Check extends JFrame implements ActionListener {

    private JTextArea output;
    private JButton check;
    private JButton select;
    private JFileChooser file;
    private File md5 = null;

    public Md5Check() {
        super("Md5Check V0.01");
        this.setSize(200, 300);
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setLayout(null);

        select = new JButton("Select md5");
        select.setBounds(25, 0, 150, 50);
        select.addActionListener(this);
        this.add(select);

        output = new JTextArea();
        output.setBounds(0, 80, 200, 100);
        output.setBorder(BorderFactory.createEtchedBorder());
        output.setBackground(Color.BLACK);
        output.setForeground(Color.GREEN);
        output.setFocusable(false);
        this.add(output);

        check = new JButton("Check md5");
        check.setBounds(25, 220, 150, 50);
        check.setEnabled(false);
        check.addActionListener(this);
        this.add(check);

        file = new JFileChooser();
        file.setFileFilter(new FileNameExtensionFilter("md5 files", "md5"));

        this.setVisible(true);
    }


    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == select) {
            output.setText("");
            file.showOpenDialog(null);
            md5 = file.getSelectedFile();
            if(md5 != null) {
                check.setEnabled(true);
            } else {
                check.setEnabled(false);
            }
        }
        if(e.getSource() == check) {
            output.setText("");
            try {
                File directory = md5.getParentFile();
                String command = "md5sum -c " + md5.getAbsoluteFile();
                
                //Runtime.getRuntime().exec("/bin/cd " + directory);
                Process child = Runtime.getRuntime().exec(command, null, directory);

                InputStream in = child.getInputStream();
                int c;
                while ((c = in.read()) != -1) {
                    output.setText(output.getText() + (char)c);
                } 
                in.close();
            } catch (IOException ioException) {
                System.err.println("ERROR: Unable to read output!");
                ioException.printStackTrace();
                System.exit(0);
            }
        }

    }

    /**
     * @param args
     */
    public static void main(String] args) {
        Md5Check md5Check = new Md5Check();
    }


}

I hope you find it useful.
If you’ve got any questions feel free to ask.

Good luck!:wink:

A quick search found something called kmd5, don’t know if it’s actively maintained.

I don’t need something like this since I would do it at the CLI and I don’t do it often enough to need to integrate it with the desktop, but I can see that this functionality (generating various checksums for a file) could be a useful feature in a directory browser like dolphin or filezilla. Perhaps you might like to file an enhancement request at the websites of those programs so that it might be considered.

For ISO files, as mentioned already, k3b can do this.

@whych

Just because you use gnome, doesn’t mean that you can’t use kde apps. To install kde, go to yast2>software>s/ware management and search for k3b.
It will install k3b along with any kde dependencies it needs.

Thanks or reply,Yes infact i installed many Kde applications on to my gnome desktop 2 months ago.But since i am using a primitive, very low capacity harddisk i cannot afford to lose any space bya adding additional kde3,kde4 runtimes /libraries .Then i had removed all kde components.

@Edward_Iii

Thanks for GUI,Are there any inbuilt java classes to do the md5 check instead doing a native call?

Also the swing object(Text Area) seems to be too small to show the entire output :slight_smile:

That was a good effort though

Hello vazhavandan,

No, I just let java start this command:

md5sum -c /path/to/md5

That’s easy to solve I just needed to add a JScrollPane.
I didn’t notice it because I was testing it on files like these:

  • md5.md5
  • md6.md5

Here’s a new jar: Md5Check.jar
Here’s the new source:

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.border.Border;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;


public class Md5Check extends JFrame implements ActionListener {

    private JTextArea output;
    private JButton check;
    private JButton select;
    private JFileChooser file;
    private File md5 = null;

    public Md5Check() {
        super("Md5Check V0.01");
        this.setSize(200, 300);
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setLayout(null);

        select = new JButton("Select md5");
        select.setBounds(25, 0, 150, 50);
        select.addActionListener(this);
        this.add(select);

        output = new JTextArea();
        output.setBounds(0, 80, 188, 100);
        output.setBorder(BorderFactory.createEtchedBorder());
        output.setBackground(Color.BLACK);
        output.setForeground(Color.GREEN);
        output.setFocusable(false);
      **  output.setEditable(false);**
**        JScrollPane scrollingArea = new JScrollPane(output);
        scrollingArea.setBounds(0, 80, 188, 100);**
   **     this.add(scrollingArea);**

        check = new JButton("Check md5");
        check.setBounds(25, 220, 150, 50);
        check.setEnabled(false);
        check.addActionListener(this);
        this.add(check);

        file = new JFileChooser();
        file.setFileFilter(new FileNameExtensionFilter("md5 files", "md5"));

        this.setVisible(true);
    }


    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == select) {
            output.setText("");
            file.showOpenDialog(null);
            md5 = file.getSelectedFile();
            if(md5 != null) {
                check.setEnabled(true);
            } else {
                check.setEnabled(false);
            }
        }
        if(e.getSource() == check) {
            output.setText("");
            try {
                File directory = md5.getParentFile();
                String command = "md5sum -c " + md5.getAbsoluteFile();
                
                //Runtime.getRuntime().exec("/bin/cd " + directory);
                Process child = Runtime.getRuntime().exec(command, null, directory);

                InputStream in = child.getInputStream();
                int c;
                while ((c = in.read()) != -1) {
                    output.setText(output.getText() + (char)c);
                } 
                in.close();
            } catch (IOException ioException) {
                System.err.println("ERROR: Unable to read output!");
                ioException.printStackTrace();
                System.exit(0);
            }
        }

    }

    /**
     * @param args
     */
    public static void main(String] args) {
        Md5Check md5Check = new Md5Check();
    }


}

Good luck!:wink:

@ Edward_Iii

It is simple and fits the bill,many thanks

@thanks all , even though i probably was looking for a gtk or qt based simple integrirty checking app,i learned a piece of java code :wink:

Altlast found a GUI based tool to find hash based on md5,SHA1,MD4,it is built into a download manager called Fatrat

http://i116.photobucket.com/albums/o35/vazhavandan/openSUSE/Screenshot-Computehash.png

Hello vazhavandan,

Glad you’ve finally found a genuine checksum checker!:slight_smile:

One question though, is it possible to run it without running the download manager?

Edit: Just noticed that the DownThemAll also has the ability to verify checksums!

Good luck!:wink:

I think DownThemAll can use checksum feature only when we are downloading a file

But using the inbuilt checksum tool in FatRat we can check almost any file on our hard drive. File checking is independent of download

You need not download a file to use the checksum tool if that is what you meant by “is it possible to run it without running the download manager?”

Iam not too good in hacking the programs.You may try hacking out the tool out of the product i guess

If interested you can get the download manager here:-

software.opensuse.org: Search Results

If you are using GNOME you can try out nautilus-md5sum from here,but this can support checksum only for md5 algorithm and ISO files only.But it is available on right click of the file manager menu itself for ISO files(pretty cool)

software.opensuse.org: Search Results

http://i1183.photobucket.com/albums/x471/bloggs_j/Screenshot-2.png?t=1292450352

cool file manager.No wonder everyone likes KDE.Getting apps for GNOME is very difficult

vazhavandan wrote:
> cool file manager.No wonder everyone likes KDE.Getting apps for GNOME is
> very difficult

huh?
that is to say: KDE apps run in Gnome, right?
and, non-Gnome apps (like Firefox, Inkscape, GIMP and etc) also run in
Gnome, right?
and even some Windows apps run in Gnome (via WINE), right?


DenverD
CAVEAT: http://is.gd/bpoMD [posted via NNTP w/openSUSE 10.3]
I feel annoyed that I can’t put my wide range of languages on stupid
Facebook. For example, I speak Sarcasm, fluently spoken and written,
and Various Forms of Geek…