Comparing two DVDs
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
How to compare two DVDs? I mean really a binary comparison?
The problem: I have two DVDs containing a program, which should be the same. But I suspect one DVD to be modified. The sizes of the files and folders are the same, which does not mean that the content should be the same.
dvd
add a comment |
How to compare two DVDs? I mean really a binary comparison?
The problem: I have two DVDs containing a program, which should be the same. But I suspect one DVD to be modified. The sizes of the files and folders are the same, which does not mean that the content should be the same.
dvd
add a comment |
How to compare two DVDs? I mean really a binary comparison?
The problem: I have two DVDs containing a program, which should be the same. But I suspect one DVD to be modified. The sizes of the files and folders are the same, which does not mean that the content should be the same.
dvd
How to compare two DVDs? I mean really a binary comparison?
The problem: I have two DVDs containing a program, which should be the same. But I suspect one DVD to be modified. The sizes of the files and folders are the same, which does not mean that the content should be the same.
dvd
dvd
edited Mar 24 at 8:49
Sergiy Kolodyazhnyy
75.1k9155327
75.1k9155327
asked Sep 4 '13 at 20:51
BarbaraBarbara
61114
61114
add a comment |
add a comment |
4 Answers
4
active
oldest
votes
Try VBinDiff (Visual Binary Diff)
VBinDiff (Visual Binary Diff) displays files in hexadecimal and ASCII
(or EBCDIC). It can also display two files at once, and highlight the
differences between them. Unlike diff, it works well with large files
(up to 4 GB).
The single-file mode was inspired by the LIST utility of 4DOS and
friends. While less provides a good line-oriented display, it has no
equivalent to LIST’s hex display. (True, you can pipe the file through
hexdump, but that’s incredibly inefficient on multi-gigabyte files.)VBindiff
To download and more info visit VBindiff, and Github
Hello Mitch, thanks for the answer. But if the files are modified in that way that md5sum is the same.. I guess it will not work?
– Barbara
Sep 4 '13 at 21:06
If the md5sum matches the files are exactly the same. Only permissions and times could be different. Okay, there is a theoretical chance to hit a hash-collision but I think you can ignore that.
– Germar
Sep 4 '13 at 21:56
add a comment |
You could use regular cmp.
If the DVD is meant to be a perfect 1:1 copy (absolutely identical), you could compare the ISOs.
cmp dvd1.iso dvd2.iso
Otherwise on a file by file basis
cd /mnt/cdrom1
find -type f -exec cmp {} /mnt/cdrom2/{} ;
Both commands will only print something (filename and byte offset) if there are any differences. It's a byte-by-byte comparison, no checksums involved. Note that the method with find here doesn't detect surplus files on cdrom2, I assume you have already ruled that out.
Thank you for the answer, I guess that is the easy way to do it with the iso-files :)
– Barbara
Sep 4 '13 at 21:26
add a comment |
Try this:
- Insert and mount the first DVD
- Open a Terminal
- Type
cd ${PATH_OF_YOUR_DVD_MOUNT_POINT}(replacing ${PATH_OF_YOUR_DVD_MOUNT_POINT} with the path of the DVD mount point) - Type
find . -type f -exec md5sum {} ; >/tmp/md5sums.txtand wait until it finishes (may take a while) - Type
cdto return to the home directory - Unmount and eject your DVD
- Insert and mount the second DVD
- Again type
cd ${PATH_OF_YOUR_DVD_MOUNT_POINT}(replacing the mount point of the second DVD this time) - Type
md5sum --check --quiet /tmp/md5sums.txtand observe the output
You will get a list of files which were NOT binarily equivalent.
NOTE: Added correction from user Germar which for some reason was no accept in peer review.
Command from point 4 will fail on filenames that contain spaces.
– user280493
Jun 15 '14 at 12:34
1
@MikołajBartnicki This works fine, even for filenames containing spaces. For each found file,find's-execaction substitutes its path as a single word (i.e., without word splitting) in place of{}. Even if the name contains whitespace, it's passed to the command being executed (which in this case ismd5sum) as a single argument. Here's what it looks like, in action, handling a directory with filefoo barwithout a hitch.
– Eliah Kagan
Sep 7 '14 at 20:44
add a comment |
Insert DVD into drive and wait until Ubuntu auto-mounts it then go into directory where DVD is mounted:
$ cd /media/barbara/mydvd
Create a checksum file that contains checksums of all files on DVD:
$ find . -type f -print0 | xargs -0 sha1sum > /tmp/mydvd.sha1
Note, that above command properly handle filenames with spaces. Next, replace the DVD with the second one, and check against just created checksums:
$ sha1sum -c /tmp/myiso.sha1
If there is difference, sha1sum will print an error message about it.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f341436%2fcomparing-two-dvds%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
Try VBinDiff (Visual Binary Diff)
VBinDiff (Visual Binary Diff) displays files in hexadecimal and ASCII
(or EBCDIC). It can also display two files at once, and highlight the
differences between them. Unlike diff, it works well with large files
(up to 4 GB).
The single-file mode was inspired by the LIST utility of 4DOS and
friends. While less provides a good line-oriented display, it has no
equivalent to LIST’s hex display. (True, you can pipe the file through
hexdump, but that’s incredibly inefficient on multi-gigabyte files.)VBindiff
To download and more info visit VBindiff, and Github
Hello Mitch, thanks for the answer. But if the files are modified in that way that md5sum is the same.. I guess it will not work?
– Barbara
Sep 4 '13 at 21:06
If the md5sum matches the files are exactly the same. Only permissions and times could be different. Okay, there is a theoretical chance to hit a hash-collision but I think you can ignore that.
– Germar
Sep 4 '13 at 21:56
add a comment |
Try VBinDiff (Visual Binary Diff)
VBinDiff (Visual Binary Diff) displays files in hexadecimal and ASCII
(or EBCDIC). It can also display two files at once, and highlight the
differences between them. Unlike diff, it works well with large files
(up to 4 GB).
The single-file mode was inspired by the LIST utility of 4DOS and
friends. While less provides a good line-oriented display, it has no
equivalent to LIST’s hex display. (True, you can pipe the file through
hexdump, but that’s incredibly inefficient on multi-gigabyte files.)VBindiff
To download and more info visit VBindiff, and Github
Hello Mitch, thanks for the answer. But if the files are modified in that way that md5sum is the same.. I guess it will not work?
– Barbara
Sep 4 '13 at 21:06
If the md5sum matches the files are exactly the same. Only permissions and times could be different. Okay, there is a theoretical chance to hit a hash-collision but I think you can ignore that.
– Germar
Sep 4 '13 at 21:56
add a comment |
Try VBinDiff (Visual Binary Diff)
VBinDiff (Visual Binary Diff) displays files in hexadecimal and ASCII
(or EBCDIC). It can also display two files at once, and highlight the
differences between them. Unlike diff, it works well with large files
(up to 4 GB).
The single-file mode was inspired by the LIST utility of 4DOS and
friends. While less provides a good line-oriented display, it has no
equivalent to LIST’s hex display. (True, you can pipe the file through
hexdump, but that’s incredibly inefficient on multi-gigabyte files.)VBindiff
To download and more info visit VBindiff, and Github
Try VBinDiff (Visual Binary Diff)
VBinDiff (Visual Binary Diff) displays files in hexadecimal and ASCII
(or EBCDIC). It can also display two files at once, and highlight the
differences between them. Unlike diff, it works well with large files
(up to 4 GB).
The single-file mode was inspired by the LIST utility of 4DOS and
friends. While less provides a good line-oriented display, it has no
equivalent to LIST’s hex display. (True, you can pipe the file through
hexdump, but that’s incredibly inefficient on multi-gigabyte files.)VBindiff
To download and more info visit VBindiff, and Github
answered Sep 4 '13 at 21:00
Mitch♦Mitch
85.6k14174232
85.6k14174232
Hello Mitch, thanks for the answer. But if the files are modified in that way that md5sum is the same.. I guess it will not work?
– Barbara
Sep 4 '13 at 21:06
If the md5sum matches the files are exactly the same. Only permissions and times could be different. Okay, there is a theoretical chance to hit a hash-collision but I think you can ignore that.
– Germar
Sep 4 '13 at 21:56
add a comment |
Hello Mitch, thanks for the answer. But if the files are modified in that way that md5sum is the same.. I guess it will not work?
– Barbara
Sep 4 '13 at 21:06
If the md5sum matches the files are exactly the same. Only permissions and times could be different. Okay, there is a theoretical chance to hit a hash-collision but I think you can ignore that.
– Germar
Sep 4 '13 at 21:56
Hello Mitch, thanks for the answer. But if the files are modified in that way that md5sum is the same.. I guess it will not work?
– Barbara
Sep 4 '13 at 21:06
Hello Mitch, thanks for the answer. But if the files are modified in that way that md5sum is the same.. I guess it will not work?
– Barbara
Sep 4 '13 at 21:06
If the md5sum matches the files are exactly the same. Only permissions and times could be different. Okay, there is a theoretical chance to hit a hash-collision but I think you can ignore that.
– Germar
Sep 4 '13 at 21:56
If the md5sum matches the files are exactly the same. Only permissions and times could be different. Okay, there is a theoretical chance to hit a hash-collision but I think you can ignore that.
– Germar
Sep 4 '13 at 21:56
add a comment |
You could use regular cmp.
If the DVD is meant to be a perfect 1:1 copy (absolutely identical), you could compare the ISOs.
cmp dvd1.iso dvd2.iso
Otherwise on a file by file basis
cd /mnt/cdrom1
find -type f -exec cmp {} /mnt/cdrom2/{} ;
Both commands will only print something (filename and byte offset) if there are any differences. It's a byte-by-byte comparison, no checksums involved. Note that the method with find here doesn't detect surplus files on cdrom2, I assume you have already ruled that out.
Thank you for the answer, I guess that is the easy way to do it with the iso-files :)
– Barbara
Sep 4 '13 at 21:26
add a comment |
You could use regular cmp.
If the DVD is meant to be a perfect 1:1 copy (absolutely identical), you could compare the ISOs.
cmp dvd1.iso dvd2.iso
Otherwise on a file by file basis
cd /mnt/cdrom1
find -type f -exec cmp {} /mnt/cdrom2/{} ;
Both commands will only print something (filename and byte offset) if there are any differences. It's a byte-by-byte comparison, no checksums involved. Note that the method with find here doesn't detect surplus files on cdrom2, I assume you have already ruled that out.
Thank you for the answer, I guess that is the easy way to do it with the iso-files :)
– Barbara
Sep 4 '13 at 21:26
add a comment |
You could use regular cmp.
If the DVD is meant to be a perfect 1:1 copy (absolutely identical), you could compare the ISOs.
cmp dvd1.iso dvd2.iso
Otherwise on a file by file basis
cd /mnt/cdrom1
find -type f -exec cmp {} /mnt/cdrom2/{} ;
Both commands will only print something (filename and byte offset) if there are any differences. It's a byte-by-byte comparison, no checksums involved. Note that the method with find here doesn't detect surplus files on cdrom2, I assume you have already ruled that out.
You could use regular cmp.
If the DVD is meant to be a perfect 1:1 copy (absolutely identical), you could compare the ISOs.
cmp dvd1.iso dvd2.iso
Otherwise on a file by file basis
cd /mnt/cdrom1
find -type f -exec cmp {} /mnt/cdrom2/{} ;
Both commands will only print something (filename and byte offset) if there are any differences. It's a byte-by-byte comparison, no checksums involved. Note that the method with find here doesn't detect surplus files on cdrom2, I assume you have already ruled that out.
answered Sep 4 '13 at 21:19
frostschutzfrostschutz
664511
664511
Thank you for the answer, I guess that is the easy way to do it with the iso-files :)
– Barbara
Sep 4 '13 at 21:26
add a comment |
Thank you for the answer, I guess that is the easy way to do it with the iso-files :)
– Barbara
Sep 4 '13 at 21:26
Thank you for the answer, I guess that is the easy way to do it with the iso-files :)
– Barbara
Sep 4 '13 at 21:26
Thank you for the answer, I guess that is the easy way to do it with the iso-files :)
– Barbara
Sep 4 '13 at 21:26
add a comment |
Try this:
- Insert and mount the first DVD
- Open a Terminal
- Type
cd ${PATH_OF_YOUR_DVD_MOUNT_POINT}(replacing ${PATH_OF_YOUR_DVD_MOUNT_POINT} with the path of the DVD mount point) - Type
find . -type f -exec md5sum {} ; >/tmp/md5sums.txtand wait until it finishes (may take a while) - Type
cdto return to the home directory - Unmount and eject your DVD
- Insert and mount the second DVD
- Again type
cd ${PATH_OF_YOUR_DVD_MOUNT_POINT}(replacing the mount point of the second DVD this time) - Type
md5sum --check --quiet /tmp/md5sums.txtand observe the output
You will get a list of files which were NOT binarily equivalent.
NOTE: Added correction from user Germar which for some reason was no accept in peer review.
Command from point 4 will fail on filenames that contain spaces.
– user280493
Jun 15 '14 at 12:34
1
@MikołajBartnicki This works fine, even for filenames containing spaces. For each found file,find's-execaction substitutes its path as a single word (i.e., without word splitting) in place of{}. Even if the name contains whitespace, it's passed to the command being executed (which in this case ismd5sum) as a single argument. Here's what it looks like, in action, handling a directory with filefoo barwithout a hitch.
– Eliah Kagan
Sep 7 '14 at 20:44
add a comment |
Try this:
- Insert and mount the first DVD
- Open a Terminal
- Type
cd ${PATH_OF_YOUR_DVD_MOUNT_POINT}(replacing ${PATH_OF_YOUR_DVD_MOUNT_POINT} with the path of the DVD mount point) - Type
find . -type f -exec md5sum {} ; >/tmp/md5sums.txtand wait until it finishes (may take a while) - Type
cdto return to the home directory - Unmount and eject your DVD
- Insert and mount the second DVD
- Again type
cd ${PATH_OF_YOUR_DVD_MOUNT_POINT}(replacing the mount point of the second DVD this time) - Type
md5sum --check --quiet /tmp/md5sums.txtand observe the output
You will get a list of files which were NOT binarily equivalent.
NOTE: Added correction from user Germar which for some reason was no accept in peer review.
Command from point 4 will fail on filenames that contain spaces.
– user280493
Jun 15 '14 at 12:34
1
@MikołajBartnicki This works fine, even for filenames containing spaces. For each found file,find's-execaction substitutes its path as a single word (i.e., without word splitting) in place of{}. Even if the name contains whitespace, it's passed to the command being executed (which in this case ismd5sum) as a single argument. Here's what it looks like, in action, handling a directory with filefoo barwithout a hitch.
– Eliah Kagan
Sep 7 '14 at 20:44
add a comment |
Try this:
- Insert and mount the first DVD
- Open a Terminal
- Type
cd ${PATH_OF_YOUR_DVD_MOUNT_POINT}(replacing ${PATH_OF_YOUR_DVD_MOUNT_POINT} with the path of the DVD mount point) - Type
find . -type f -exec md5sum {} ; >/tmp/md5sums.txtand wait until it finishes (may take a while) - Type
cdto return to the home directory - Unmount and eject your DVD
- Insert and mount the second DVD
- Again type
cd ${PATH_OF_YOUR_DVD_MOUNT_POINT}(replacing the mount point of the second DVD this time) - Type
md5sum --check --quiet /tmp/md5sums.txtand observe the output
You will get a list of files which were NOT binarily equivalent.
NOTE: Added correction from user Germar which for some reason was no accept in peer review.
Try this:
- Insert and mount the first DVD
- Open a Terminal
- Type
cd ${PATH_OF_YOUR_DVD_MOUNT_POINT}(replacing ${PATH_OF_YOUR_DVD_MOUNT_POINT} with the path of the DVD mount point) - Type
find . -type f -exec md5sum {} ; >/tmp/md5sums.txtand wait until it finishes (may take a while) - Type
cdto return to the home directory - Unmount and eject your DVD
- Insert and mount the second DVD
- Again type
cd ${PATH_OF_YOUR_DVD_MOUNT_POINT}(replacing the mount point of the second DVD this time) - Type
md5sum --check --quiet /tmp/md5sums.txtand observe the output
You will get a list of files which were NOT binarily equivalent.
NOTE: Added correction from user Germar which for some reason was no accept in peer review.
edited Apr 13 '17 at 12:23
Community♦
1
1
answered Sep 4 '13 at 21:05
ntninjantninja
56629
56629
Command from point 4 will fail on filenames that contain spaces.
– user280493
Jun 15 '14 at 12:34
1
@MikołajBartnicki This works fine, even for filenames containing spaces. For each found file,find's-execaction substitutes its path as a single word (i.e., without word splitting) in place of{}. Even if the name contains whitespace, it's passed to the command being executed (which in this case ismd5sum) as a single argument. Here's what it looks like, in action, handling a directory with filefoo barwithout a hitch.
– Eliah Kagan
Sep 7 '14 at 20:44
add a comment |
Command from point 4 will fail on filenames that contain spaces.
– user280493
Jun 15 '14 at 12:34
1
@MikołajBartnicki This works fine, even for filenames containing spaces. For each found file,find's-execaction substitutes its path as a single word (i.e., without word splitting) in place of{}. Even if the name contains whitespace, it's passed to the command being executed (which in this case ismd5sum) as a single argument. Here's what it looks like, in action, handling a directory with filefoo barwithout a hitch.
– Eliah Kagan
Sep 7 '14 at 20:44
Command from point 4 will fail on filenames that contain spaces.
– user280493
Jun 15 '14 at 12:34
Command from point 4 will fail on filenames that contain spaces.
– user280493
Jun 15 '14 at 12:34
1
1
@MikołajBartnicki This works fine, even for filenames containing spaces. For each found file,
find's -exec action substitutes its path as a single word (i.e., without word splitting) in place of {}. Even if the name contains whitespace, it's passed to the command being executed (which in this case is md5sum) as a single argument. Here's what it looks like, in action, handling a directory with file foo bar without a hitch.– Eliah Kagan
Sep 7 '14 at 20:44
@MikołajBartnicki This works fine, even for filenames containing spaces. For each found file,
find's -exec action substitutes its path as a single word (i.e., without word splitting) in place of {}. Even if the name contains whitespace, it's passed to the command being executed (which in this case is md5sum) as a single argument. Here's what it looks like, in action, handling a directory with file foo bar without a hitch.– Eliah Kagan
Sep 7 '14 at 20:44
add a comment |
Insert DVD into drive and wait until Ubuntu auto-mounts it then go into directory where DVD is mounted:
$ cd /media/barbara/mydvd
Create a checksum file that contains checksums of all files on DVD:
$ find . -type f -print0 | xargs -0 sha1sum > /tmp/mydvd.sha1
Note, that above command properly handle filenames with spaces. Next, replace the DVD with the second one, and check against just created checksums:
$ sha1sum -c /tmp/myiso.sha1
If there is difference, sha1sum will print an error message about it.
add a comment |
Insert DVD into drive and wait until Ubuntu auto-mounts it then go into directory where DVD is mounted:
$ cd /media/barbara/mydvd
Create a checksum file that contains checksums of all files on DVD:
$ find . -type f -print0 | xargs -0 sha1sum > /tmp/mydvd.sha1
Note, that above command properly handle filenames with spaces. Next, replace the DVD with the second one, and check against just created checksums:
$ sha1sum -c /tmp/myiso.sha1
If there is difference, sha1sum will print an error message about it.
add a comment |
Insert DVD into drive and wait until Ubuntu auto-mounts it then go into directory where DVD is mounted:
$ cd /media/barbara/mydvd
Create a checksum file that contains checksums of all files on DVD:
$ find . -type f -print0 | xargs -0 sha1sum > /tmp/mydvd.sha1
Note, that above command properly handle filenames with spaces. Next, replace the DVD with the second one, and check against just created checksums:
$ sha1sum -c /tmp/myiso.sha1
If there is difference, sha1sum will print an error message about it.
Insert DVD into drive and wait until Ubuntu auto-mounts it then go into directory where DVD is mounted:
$ cd /media/barbara/mydvd
Create a checksum file that contains checksums of all files on DVD:
$ find . -type f -print0 | xargs -0 sha1sum > /tmp/mydvd.sha1
Note, that above command properly handle filenames with spaces. Next, replace the DVD with the second one, and check against just created checksums:
$ sha1sum -c /tmp/myiso.sha1
If there is difference, sha1sum will print an error message about it.
edited Jun 9 '17 at 21:14
Ravexina
33.5k1489118
33.5k1489118
answered Jun 15 '14 at 12:33
user280493
add a comment |
add a comment |
Thanks for contributing an answer to Ask Ubuntu!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f341436%2fcomparing-two-dvds%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown