用rsync修复不完整的Linux光盘映像文件

2008-02-23 07:25:56来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  1、光盘映像下载过程中的验证码问题存在的原因;

  有时是因为下载工具不支持所致使,比如有些下载工具不支持大于2G的文件,所以会出现本来是3G的文件,结果他就下载了2G,文件的不完整导致验证码的不一致;另外一方面有时我们选择的下载地址所提供的文件有问题,也会导致下载的file.iso与官方所提供的验证码不一致;

  举例:

  比如,我们在Fedora 官方看到的Fedora Core 5.0 的SHA1验证码如下:

  ed9a852cf77250c3ae111c621d350af5c0b0a29b FC-5-i386-DVD.iso

  当我们在某个FTP下载后发现与官方的不一致,结果完全不能安装使用;这时我们是重新下载,还是找一种办法来解决?答案当然是找办法来解决;所以我们这时引入了rsync 这个工具;

  2、用rsync工具同步解决映像不完整问题;

  大家都知道rsync 最主要的功能就是同步备份和镜像功能,前提是得有rsync服务器;我所说的意思是rsync并不能同步ftp服务器上的内容,我想这个大家应该明白;目前大多数Linux发行版都有rsync服务器,我们就可以利用rsync服务器上的源来同步不完整的光盘映像;

  当然也能用rsync下载rsync服务器上的文件,我们用rsync的同步修复功能来解决我们所面对的问题,说实在的这个功能真的不错;

  2.1 寻找Linux发行版的rsync服务器;

  因为rsync 并不能同步ftp和web服务器上的映像文件,所以我们根本没有能力用光盘映像所处的FTP或WEB服务器上的地址;我们得找有类似下面的地址;

  rsync://mirrors.kernel.org

  只有在rsync服务器上找到我们所需要的映像才能行,寻找的办法是去官方发行版所提供的服务器列表上去找;

  2.2 rsync 进入服务器的方法;

  比如我通过wget下载的FC-5-i386-DVD.iso有问题,我想用rsync 来同步解决;所以首先就要找拥有FC-5-i386-DVD.iso的rsync服务器;于是我到Fedora.redhat.com 的下载列表中寻找 ,发现 rsync://mirrors.kernel.org 上有这个文件;所以我们先要进入这台服务器;请不要把地址后面的/省略,这样不会列出服务器或服务器目录中的文件;

  [root@localhost beinan]# rsync rsync://mirrors.kernel.org/

  mirrors All mirror sites debian Debian Linux distribution mirror redhat RedHat mirror fedora Fedora - RedHat community project fedora.us fedora.us - Additional stuff for Fedora centos CentOS - An Enterprise-class Linux distribution opensuse OpenSUSE - Novell's community project

  我们发现在这个服务器上有fedora的镜像;所以我们一级一级的进去;执行下面的命令;

  [root@localhost beinan]# rsync rsync://mirrors.kernel.org/fedora/ drwxr-xr-x 4096 2005/02/03 08:05:26 . drwxr-xr-x 4096 2006/03/17 00:41:43 core drwxr-sr-x 4096 2006/03/18 03:05:05 extras

  …… ……

  [root@localhost beinan]# rsync rsync://mirrors.kernel.org/fedora/core/5/i386/iso/ drwxr-xr-x 4096 2006/03/15 13:39:03 . -rw-r——r—— 3253669888 2006/03/15 12:49:55 FC-5-i386-DVD.iso -rw-r——r—— 687235072 2006/03/15 12:47:10 FC-5-i386-disc1.iso -rw-r——r—— 700618752 2006/03/15 12:48:05 FC-5-i386-disc2.iso -rw-r——r—— 721016832 2006/03/15 12:50:35 FC-5-i386-disc3.iso -rw-r——r—— 720910336 2006/03/15 12:51:46 FC-5-i386-disc4.iso -rw-r——r—— 387753984 2006/03/15 12:52:16 FC-5-i386-disc5.iso -rw-r——r—— 79122432 2006/03/15 12:31:59 FC-5-i386-rescuecd.iso -rw-r——r—— 671 2006/03/15 13:38:25 SHA1SUM

  我们发现了FC-5-i386-DVD.iso,这时我们要进行下一个过程,同步文件;

  2.3 用rsync 同步文件的语法;

  首先我们要进入本地机存放以前下载好,但有问题的 FC-5-i386-DVD.iso的目录(还是接着前面的例子),然后再执行类似下面的命令;

  命令格式如下:

  rsync -vzP 映像文件的rsync地址 你以前下载下来的文件

  比如我以前下载的 FC-5-i386-DVD.iso的有问题,这时我想用rsync 同步来修正,所以我把FC-5-i386-DVD.iso文件放入了一个名为fc5iso的目录中;

  [root@localhost beinan]# cd fc5

  [root@localhost fc5]# ls -la drwxr-xr-x 2 root root 136 2006-03-26 04:05 . drwxr-xr-x 20 beinan beinan 472 2006-03-26 03:56 ……

  -rwxr-xr-x 1 beinan beinan 2276458496 2006-03-26 03:47 FC-5-i386-DVD.iso

  然后执行;

  [root@localhost fc5]#rsync -vzP rsync://mirrors.kernel.org/fedora/core/5/i386/iso/FC-5-i386-DVD.iso FC-5-i386-DVD.iso

  可能要等几分钟才相关的信息出现,也会出现下载提示之类的;如果有下载之类的信息,就不必管他了,这说明已经正常工作了;我们有的只是等待;如果我们再看一下这个目录都有什么,我们就明白了。rsync的原理是先从本地已存的文件中下载,然后对照服务器的文件,如果已经下载的文件不完整,他就从服务器上下载;如果有错误的,就修正;他会先产生一个临时文件,也就类似下面的…… ……

  [root@localhost fc5]# ls -la ls -la总用量 5253889 drwxr-xr-x 2 root root 136 2006-03-26 04:05 . drwxr-xr-x 20 beinan users 472 2006-03-26 03:56 ……

  -rwxr-xr-x 1 root root 2276458496 2006-03-26 03:47 FC-5-i386-DVD.iso -rwx—— 1 root root 3103522816 2006-03-26 08:59 .FC-5-i386-DVD.iso.SI37yU

  等完成后,会有类似下面这样的提示,然后rsync会自动删除。file临时文件,更新 FC-5-i386-DVD.iso.

  FC-5-i386-DVD.iso 3253669888 100% 164.78kB/s 5:21:22 (1, 100.0% of 1)

  wrote 381831 bytes read 953051797 bytes 48730.35 bytes/sec total size is 3253669888 speedup is 3.41

  经过这个简单的过程,我们就把有问题的文件同步更新了。然后我们再来检测文件的完整性;这样就可以修正存在问题的文件,是不是能行,只有尝试了才知道;

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Linux中文件内容查看工具的使用介绍

下一篇:网络OS显神威 认识Linux远程桌面控制