Sponsored Content
Full Discussion: Anyone know how cksum works?
Top Forums Shell Programming and Scripting Anyone know how cksum works? Post 57453 by zazzybob on Thursday 28th of October 2004 09:09:59 AM
Old 10-28-2004
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,
Code:
$ sum dir_A
2022 2 dir_A
$ touch dir_A/foo
$ sum dir_A
2492 2 dir_A
$ vi dir_A/foo		# add two hundred lines of whatever
$ sum dir_A
2492 2 dir_A		# see - file has changed, but checksum hasn't
$ rm dir_A/foo
$ sum dir_A		
2022 2 dir_A		# now checksum has returned to previous value

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....
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

cksum all executables on drive

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)
Discussion started by: crazykelso
2 Replies

2. UNIX for Dummies Questions & Answers

cksum parts of a file

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)
Discussion started by: crazykelso
6 Replies

3. Shell Programming and Scripting

cksum question

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)
Discussion started by: rjsha1
4 Replies

4. Shell Programming and Scripting

The cksum Problem

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)
Discussion started by: Dim-Wit
7 Replies

5. Shell Programming and Scripting

using cksum

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)
Discussion started by: leeRoberts2007
4 Replies

6. UNIX for Advanced & Expert Users

Cksum dependencies

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)
Discussion started by: vibhor_agarwali
3 Replies

7. UNIX for Dummies Questions & Answers

sorting cksum output.

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)
Discussion started by: Stin
1 Replies

8. Shell Programming and Scripting

EEPROM CKSUM? what is this?

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)
Discussion started by: TeamUSA
1 Replies

9. UNIX for Dummies Questions & Answers

cksum does not give me crc32

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)
Discussion started by: utamav
9 Replies
sum(n)							     Cyclic Redundancy Checks							    sum(n)

__________________________________________________________________________________________________________________________________________________

NAME
sum - Calculate a sum(1) compatible checksum SYNOPSIS
package require Tcl 8.2 package require sum ?1.1.0? ::crc::sum ?-bsd | -sysv? ?-format fmt? ?-chunksize size? [ -filename file | -channel chan | string ] _________________________________________________________________ DESCRIPTION
This package provides a Tcl-only implementation of the sum(1) command which calculates a 16 bit checksum value from the input data. The BSD sum algorithm is used by default but the SysV algorithm is also available. COMMANDS
::crc::sum ?-bsd | -sysv? ?-format fmt? ?-chunksize size? [ -filename file | -channel chan | string ] The command takes string data or a file name or a channel and returns a checksum value calculated using the sum(1) algorithm. The result is formatted using the format(n) specifier provided or as an unsigned integer (%u) by default. OPTIONS
-sysv The SysV algorithm is fairly naive. The byte values are summed and any overflow is discarded. The lowest 16 bits are returned as the checksum. Input with the same content but different ordering will give the same result. -bsd This algorithm is similar to the SysV version but includes a bit rotation step which provides a dependency on the order of the data values. -filename name Return a checksum for the file contents instead of for parameter data. -channel chan Return a checksum for the contents of the specified channel. The channel must be open for reading and should be configured for binary translation. The channel will no be closed on completion. -chunksize size Set the block size used when reading data from either files or channels. This value defaults to 4096. -format string Return the checksum using an alternative format template. EXAMPLES
% crc::sum "Hello, World!" 37287 % crc::sum -format 0x%X "Hello, World!" 0x91A7 % crc::sum -file sum.tcl 13392 AUTHORS
Pat Thoyts BUGS, IDEAS, FEEDBACK This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category crc of the Tcllib SF Trackers [http://sourceforge.net/tracker/?group_id=12883]. Please also report any ideas for enhancements you may have for either package and/or documentation. SEE ALSO
cksum(n), crc32(n), sum(1) KEYWORDS
checksum, cksum, crc, crc32, cyclic redundancy check, data integrity, security, sum COPYRIGHT
Copyright (c) 2002, Pat Thoyts <patthoyts@users.sourceforge.net> crc 1.1.0 sum(n)
All times are GMT -4. The time now is 09:34 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy