View Single Post
  #2   (View Single Post)  
Old 17th January 2010
s0xxx's Avatar
s0xxx s0xxx is offline
Package Pilot
 
Join Date: May 2008
Posts: 192
Default

I somehow got into a hurry when I was writing this so I guess I didn't pick a good example. So hopefully here is a better one; say you want to donwload a FreeBSD iso file. There is a file in the same directory called CHECKSUM.MD5 that holds md5 hashes of files so you could check the integrity. Off course, as a smart guy you always check the file:
Code:
$ ftp ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.0/8.0-RELEASE-i386-disc1.iso
$ ftp ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.0/CHECKSUM.MD5
$ ls
8.0-RELEASE-i386-disc1.iso       CHECKSUM.MD5       md5_check.sh
$ ./md5_check.sh 8.0-RELEASE-i386-disc1.iso CHECKSUM.MD5
OK: (8.0-RELEASE-i386-disc1.iso)
$
Script is much useful if you got more files, say a FreeBSD source:
Code:
$ ftp -V ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/8.0-RELEASE/src/
Trying 87.51.34.132...
ftp> get CHECKSUM.MD5
ftp> mget *.a*
mget sbase.aa [anpqy?]? a
Prompting off for duration of mget.
^C
ftp> 
ftp> quit
$ ll
total 16930
drwxrwxrwt   2 soxxx   soxxx  -     360 Jan 16 23:52 ./
drwxr-xr-x  21 soxxx   soxxx  -     512 Jan 15 15:54 ../
-rw-r--r--   1 soxxx  soxxx  -    5758 Nov 21 17:07 CHECKSUM.MD5
-rwxrwxrwx   1 soxxx  soxxx  -     192 Jan 16 23:31 md5_hash.awk*
-rw-r--r--   1 soxxx  soxxx  -   75919 Nov 21 17:07 sbase.aa
-rw-r--r--   1 soxxx  soxxx  -  521808 Nov 21 17:07 sbin.aa
-rw-r--r--   1 soxxx  soxxx  -  976127 Nov 21 17:07 scddl.aa
-rw-r--r--   1 soxxx  soxxx  - 1425408 Nov 21 17:07 scontrib.aa
-rw-r--r--   1 soxxx  soxxx  - 1425408 Nov 21 17:07 scontrib.ab
-rw-r--r--   1 soxxx  soxxx  - 1425408 Nov 21 17:07 scontrib.ac
-rw-r--r--   1 soxxx  soxxx  - 1425408 Nov 21 17:07 scontrib.ad
-rw-r--r--   1 soxxx  soxxx  - 1425408 Nov 21 17:07 scontrib.ae
-rw-r--r--   1 soxxx  soxxx  - 1425408 Nov 21 17:07 scontrib.af
-rw-r--r--   1 soxxx  soxxx  - 1425408 Nov 21 17:07 scontrib.ag
-rw-r--r--   1 soxxx  soxxx  - 1425408 Nov 21 17:07 scontrib.ah
-rw-r--r--   1 soxxx  soxxx  - 1425408 Nov 21 17:07 scontrib.ai
-rw-r--r--   1 soxxx  soxxx  - 1425408 Nov 21 17:07 scontrib.aj
-rw-r--r--   1 soxxx  soxxx  - 1425408 Nov 21 17:07 scontrib.ak
-rw-r--r--   1 soxxx  wheel  -       0 Jan 16 23:51 scontrib.al
-rw-r--r--   1 soxxx  wheel  -   55920 Jan 16 23:51 scontrib.am
$ ./md5_hash.awk "s*" CHECKSUM.MD5                                                                                                             
OK: (sbase.aa)
OK: (sbin.aa)
OK: (scddl.aa)
OK: (scontrib.aa)
OK: (scontrib.ab)
OK: (scontrib.ac)
OK: (scontrib.ad)
OK: (scontrib.ae)
OK: (scontrib.af)
OK: (scontrib.ag)
OK: (scontrib.ah)
OK: (scontrib.ai)
OK: (scontrib.aj)
OK: (scontrib.ak)
ERROR: (scontrib.al)
ERROR: (scontrib.am)
$
__________________
The best way to learn UNIX is to play with it, and the harder you play, the more you learn.
If you play hard enough, you'll break something for sure, and having to fix a badly broken system is arguably the fastest way of all to learn. -Michael Lucas, AbsoluteBSD
Reply With Quote