1

I have been using md5deep for a very long time, more than 10 years. It is a natural "go to" tool for me since it offers recursion, matching and missing modes, and even a triage which I do like.

I know about and have used the newer tool, hashdeep and have both installed on at least one machine.

I noticed I had differing versions on different boxes and didn't think much of it until I installed something else yesterday and noticed that md5deep was being "held back". Unsure why and quick research didn't find a dependancy issue, so I upgraded it. As a result hashdeep was installed (no problem, like I say, I have used it) but although it "appears" md5deep wasn't removed, it certainly feels that way.

me@home:~$ sudo apt-get install md5deep
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  hashdeep
The following NEW packages will be installed:
  hashdeep
The following packages will be upgraded:
  md5deep
1 to upgrade, 1 to newly install, 0 to remove and 105 not to upgrade.
Need to get 0 B/119 kB of archives.
After this operation, 1,123 kB disk space will be freed.
Do you want to continue? [Y/n] 
(Reading database ... 487441 files and directories currently installed.)
Preparing to unpack .../archives/md5deep_4.4-2_all.deb ...
Unpacking md5deep (4.4-2) over (4.2-1) ...
Selecting previously unselected package hashdeep.
Preparing to unpack .../hashdeep_4.4-2_amd64.deb ...
Unpacking hashdeep (4.4-2) ...
Processing triggers for man-db (2.7.4-1) ...
Setting up hashdeep (4.4-2) ...
Setting up md5deep (4.4-2) ...
me@home:~$ sudo find / -name md5deep
me@home:~$ 

As can be seen, it appears that no package was removed, 1 was installed (hashdeep) and one was upgraded (md5deep). But it appears as though it's not even there. I thought maybe it might be a wrapper for hashdeep but it's no longer available on my system at all. It actually looks like it HAS been removed.

I don't have a problem with upgrading to a newer version, even if it has a new name now, but if it had of been clear that it would remove the old one I would have done it differently.

I didn't want to run dual hashes over TBs of data, my assumption is it would take considerably longer and md5 was fine. I have done further testing with hashdeep and have to admit that I do like it, although I wouldn't quite say yet that I prefer it. I have a number of hash files that are single hashes (ie md5 as opposed to both md5 and sha1).

In researching downgrading packages, I found this post: https://askubuntu.com/questions/138284/how-to-downgrade-a-package-via-apt-get however when I run this, I only get the current version:

$ apt-cache showpkg md5deep

Package: md5deep
Versions: 
4.4-2 (/var/lib/apt/lists/au.archive.ubuntu.com_ubuntu_dists_wily_universe_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/au.archive.ubuntu.com_ubuntu_dists_wily_universe_binary-amd64_Packages
                  MD5: 03e121f5deb42145602b68fdf028531d
 Description Language: en
                 File: /var/lib/apt/lists/au.archive.ubuntu.com_ubuntu_dists_wily_universe_i18n_Translation-en
                  MD5: 03e121f5deb42145602b68fdf028531d


Reverse Depends: 
  hashdeep:i386,md5deep 4.4-1~
  hashdeep:i386,md5deep 4.4-1~
  krusader,md5deep
  hashdeep,md5deep 4.4-1~
  hashdeep,md5deep 4.4-1~
Dependencies: 
4.4-2 - hashdeep (0 (null)) 
Provides: 
4.4-2 - 
Reverse Provides: 
hashdeep 4.4-2

Question

Without uninstalling hashdeep, am I able to bring back a functioning md5deep to my system?

4

According to /usr/share/doc/hashdeep/README.md.gz, it's all one executable that acts differently depending on the name of the called program. If the program is called md5deep, it acts like md5deep.

I don't use it myself, but if I'm reading the docs right, you should be able to create a symlink to it that will produce the behavior you expect.

Do the following (as root / sudo / whatever): ln -s /usr/bin/hashdeep /usr/local/bin/md5deep

|improve this answer|||||
  • These are the little tricks I want to learn about. How did you come to look there? Creating the symlink works and gives me the desired result. I'd searched the man page and there's nothing there about the symlink although it does mention I can have hashdeep only produce md5, I wouldn't have thought to create the link. Thanks very much – Madivad Feb 10 '16 at 1:27
  • 2
    Debian-based systems install documentation to /usr/share/doc, and there's almost always a changelog. It's the first place to look if something has stopped working after an update. The Debian changelog had some clues, and the README.md (which comes from upstream) indicated that hashdeep acted as md5deep if called by that name. It's fairly common practice on UNIX systems - look at grep and busybox. – Jeff Spaulding Feb 10 '16 at 1:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.