zoukankan      html  css  js  c++  java
  • AIX和Solaris上查看文件MD5

      数据库迁移需要在数据传输时做MD5验证,下面记录了提前进行测试的过程。

      一、首先查看AIX的版本,为5.3:

    # oslevel
    5.3.0.0

      该台AIX为已不再使用的机器,没找到合适的测试文件,需要dd命令生成一个test.dmp文件用来测试:

    # df -m
    Filesystem    MB blocks      Free %Used    Iused %Iused Mounted on
    /dev/hd4       10240.00   3942.29   62%     8927     1% /
    /dev/hd2        2304.00    562.10   76%    36037    22% /usr
    /dev/hd9var       64.00     52.94   18%      392     3% /var
    /dev/hd3         512.00    510.85    1%      116     1% /tmp
    /dev/hd1          64.00     24.67   62%       25     1% /home
    /proc                 -         -    -         -     -  /proc
    /dev/hd10opt   12800.00   5188.66   60%    38948     4% /opt
    /dev/ftp_lv     3200.00    590.58   82%     4662     4% /ftproot
    # pwd
    /
    # dd if=/dev/hd2 of=/test.dmp ibs=1M count=3000
    2304+0 records in.
    4718592+0 records out.
    # ls -l |grep test
    -rw-r--r--   1 root     system   2415919104 Apr 15 21:18 test.dmp
    # 

      生成的文件大小为2415919104/1024/1024 = 2300MB。AIX自带的命令csum可以计算MD5,但是无法处理大于2GB的文件,处理大文件时可以手动编辑一个perl脚本md5sum.pl。

     1 #!/usr/bin/perl
     2 
     3 use Digest::MD5;
     4 use IO::File;
     5 
     6 my $chk = Digest::MD5->new();
     7 foreach my $file (@ARGV)
     8 {
     9     $chk->addfile(IO::File->new($file));
    10     print "$file->",$chk->hexdigest,"\n";
    11 }
    12 ~

      下面测试此命令对于一个普通小文件的MD5计算,可以看到两者结果时一样的:

    # csum -h MD5 smit.log
    6177d1a15805d2ac45723ad7a490c898  smit.log
    # ./md5sum.pl smit.log   
    smit.log->6177d1a15805d2ac45723ad7a490c898
    # 

      再测试两者对于刚生成的文件的MD5的计算:

    # csum -h MD5 test.dmp
    csum: 1493-010 Unable to open test.dmp.
    csum: 1493-001 Unable to access one or more specified files.
    # ./md5sum.pl test.dmp
    test.dmp->e40fc9e573519f685f5939d297f5afdf
    # 

      经过自己计时,共花费了48s,平均速度为48MB/s。

      二、查看Solaris版本,为Solaris 10:

    $ uname -a
    SunOS t-ora 5.10 Generic_111111-11 sun4v sparc sun4v ---处理过了:)

      经过查询资料,在10中md5sum已经在光盘中了,但是本机没有安装,需要使用digest 命令,该机上有合适的文件用于测试就不需要进行创建了:

    $ md5sum
    md5sum: not found
    $ ls -l |grep eis
    -rw-r--r--   1 root     root     6946582528 Dec 28 10:05 eis-dvd3.4.4-1.iso
    $ digest -a md5 -v eis-dvd3.4.4-1.iso
    md5 (eis-dvd3.4.4-1.iso) = 8ca90a7d389b69a41148fc2dcf5ec5b9

      经过自己计时,共花费了138s,文件大小为 6946582528/1024/1024 =6624MB 平均速度为48MB/s。

  • 相关阅读:
    Leetcode Excel Sheet Column Number
    AlgorithmsI PA2: Randomized Queues and Deques Subset
    AlgorithmsI PA2: Randomized Queues and Deques RandomizedQueue
    AlgorithmsI PA2: Randomized Queues and Deques Deque
    AlgorithmsI Programming Assignment 1: PercolationStats.java
    hdu多校第四场 1003 (hdu6616) Divide the Stones 机智题
    hdu多校第四场 1007 (hdu6620) Just an Old Puzzle 逆序对
    hdu多校第四场1001 (hdu6614) AND Minimum Spanning Tree 签到
    hdu多校第三场 1007 (hdu6609) Find the answer 线段树
    hdu多校第三场 1006 (hdu6608) Fansblog Miller-Rabin素性检测
  • 原文地址:https://www.cnblogs.com/opalyao/p/3022979.html
Copyright © 2011-2022 走看看