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。

  • 相关阅读:
    我与酷派手机N900+的艰难之旅
    从ASPNET1.1迁移到了ASPNET2.0遇到ORA01000: 超出打开游标的最大数
    彩铃平台接口独立取得阶段性胜利
    中央音乐平台的MD5算法问题
    彩铃接口独立完毕
    'OraOLEDB.Oracle.1' provider is not registered on the local machine.错误的解决
    程序员的陷阱
    ASP NET页面下载程序
    从aspnet1.1升级到aspnet2.0的小问题
    彩铃平台接口的计费服务问题解决
  • 原文地址:https://www.cnblogs.com/opalyao/p/3022979.html
Copyright © 2011-2022 走看看