I'm not asking about the algorithm - or how it goes about computing the checksum - I'm asking how it views/looks at the files it does the cksum on.
For instance:
Say you had a directory named "dir_A"
And within this directory you had some files.
So:
dir_A
- file1
- file2
- file3
Do you have to step through dir_A and compute a cksum for EACH individual file?
For instance:
% cd dir_A
% cksum file1
% return some number
% cksum file2
% return some number
% cksum file3
% return some number
Or, can I just compute the cksum for the whole directory?
For instance:
% cksum dir_A
% return some number
If one of the files within dir_A changes and I redo the cksum is it safe to say that a valid cksum will be computed for the whole directory? What if file1 WITHIN dir_A changed - will the cksum change?
Or, do you have to compute a cksum for each individual file?
You can cksum or md5 a directory. I am able to accomplish this on FreeBSD, but under Slackware, it does not appear to work.
If you want you can redirect the md5 into a txt file, so you can check it later.
Changing a file in the directory won't change the cksum, md5. (correction), but adding or removing files will.
you can issue cksum A_dir md5 A_dir
Last edited by locustfurnace; 10-28-2004 at 12:28 PM..
I believe that the cksum is being computed on the directory entry itself - i.e. the actual "file" on disk that contains a list of the files that the directory contains.
e.g. under HP-UX 10.20
If you do
$ sum dir_A
2022 2 dir_A
This is the same as
$ cat dir_A | sum
2022 2
Then,
So, from what I can see, only the addition and removal of files within the directory (thus changing the directory entry) will actually modify the checksum. If you change the contents of a file, this won't make a difference.
It looks you would have to do something like (as previously mentioned)
$ sum dir/* >list # or cksum dir/*, md5sum dir/*, whatever
To get a list of checksums and then periodically verify those.
Same results seem to appear with cksum.
I don't know if this helps/answers any questions, but it's a result of my probing around.
Oh, some versions of Linux/UNIX don't allow you to compute checksums on directories, also mentioned above....
Originally posted by zazzybob I believe that the cksum is being computed on the directory entry itself - i.e. the actual "file" on disk that contains a list of the files that the directory contains.
I don't know if this helps/answers any questions, but it's a result of my probing around.
Oh, some versions of Linux/UNIX don't allow you to compute checksums on directories, also mentioned above....
That's what I was curious about.
I got mixed results when I tested it myself, but was unable to figure out what was going on.
Is cksum the right command to calculate the crc32 checksum value? I tried it for a number of files now and every time the results dont match. So there is nothing wrong with the file. Also, cksum gives me an all numerical value while crc32 is alpha numeric. What am I doing wrong?
Thanks (9 Replies)
Hi all,
So I have a binary file and I need to generate an expected EEPROM checksum for it. Ideally, I would like to input the file (with the path) and output a computed checksum. Ive been using (cksum file1) with no avail and I was just curious as to whether there is such thing as EEPROM cksum,... (1 Reply)
Hi guys,
I have a service directory with a lot of files in.
I have to cksum the whole directory and compare it to a release note document.
However the problem I have is the files are listed in different lines when running cksum as they are in the release doc. Therefore cksum shows... (1 Reply)
Hi,
On what factors does the cksum depend.
If i build 2 machines exactly the same, then can i get the checksum of 2 compiled files same.
Thanks (3 Replies)
hi,
I am trying to use the cksum feature in unix. when i make a call to it i get returned something along the lines of:
4603435 14 file3
how do i get the first part of this response only; i.e:
4603435
I'm trying to use at a way without the use of sed and creating temp... (4 Replies)
Hi,
I have a working script, well it works on my machine but when I try it on others the cksum section does not work properly (I know the scripting is not of a high quality but I'm just trying to get it working)
Heres the script:
#!/bin/sh
case $# in
0) echo "usage: enshar filename... (7 Replies)
Hi there,
I have a query about cksum. I'm running a script on the Unix box and in a script the cksum result differs from when I run it manually. As far as I can see the file is not being changed, is there any other times that the cksum would be different. (4 Replies)
Every time we build an executable the date and time are put into the file, I need to run checksum on just the working lines.(IE, no header files)
Is this even possible, if so how would I go about it?
I am using a HP-UX server any help you can give me will be greatly appreciated.
Thanks (6 Replies)
I know I can run the cksum command for multiple files in a directory and send the results to a new file.
EX.)
# cd /usr
# cksum *_ex* > /tmp/cksumusr.txt
But I can't figure out how to run this command on multiple files in all directories on drive. Is it possible to do this, without having... (2 Replies)