登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Q超越兔子的蜗牛O--逸云沙鸥Linux

飘飘何所似,天地一沙鸥;落霞与孤鹜齐飞,秋水共长天一色~~

 
 
 

日志

 
 

[转]如何用rsync修复不完整的Linux光盘映像文件  

2009-12-19 11:31:50|  分类: 转载知识 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

转载处:http://www.linuxsir.org/main/node/179

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

作者:北南南北
来自:LinuxSir.Org
提要:当我们下载Linux安装盘的映像文件file.iso时,有时会出现光盘映像下载完成后,与官方提供的验证码不一致;还可能本来是3G大小的文件,下载下来却是2G。如果我们一切从头开始下载,代价实在是太大了。所以我们必须找一个工具来同步这个文件,使其与官方提供的验证码相对应;这时我们就引出了rsync工具; 目录
++++++++++++++++++++++++++++++++++
正文
++++++++++++++++++++++++++++++++++

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

举例:
比如,我们在Fedora 官方看到的Fedora Core 5.0 的SHA1验证码如下:
de style="font-size: 1em; "<ed9a852cf77250c3ae111c621d350af5c0b0a29b FC-5-i386-DVD.isode<
当我们在某个FTP下载后发现与官方的不一致,结果完全不能安装使用;这时我们是重新下载,还是找一种办法来解决?答案当然是找办法来解决;所以我们这时引入了rsync 这个工具;

2、用rsync工具同步解决映像不完整问题;
大家都知道rsync 最主要的功能就是同步备份和镜像功能,前提是得有rsync服务器;我所说的意思是rsync并不能同步ftp服务器上的内容,我想这个大家应该明白;
目前大多数Linux发行版都有rsync服务器,我们就可以利用rsync服务器上的源来同步不完整的光盘映像; 当然也能用rsync下载rsync服务器上的文件,我们用rsync的同步修复功能来解决我们所面对的问题,说实在的这个功能真的不错; 
2.1 寻找Linux发行版的rsync服务器;
因为rsync 并不能同步ftp和web服务器上的映像文件,所以我们根本没有能力用光盘映像所处的FTP或WEB服务器上的地址;我们得找有类似下面的地址;
de style="font-size: 1em; "<rsync://mirrors.kernel.org de<
只有在rsync服务器上找到我们所需要的映像才能行,寻找的办法是去官方发行版所提供的服务器列表上去找; 
2.2 rsync 进入服务器的方法;
比如我通过wget下载的FC-5-i386-DVD.iso有问题,我想用rsync 来同步解决;所以首先就要找拥有FC-5-i386-DVD.iso的rsync服务器;于是我到Fedora.redhat.com 的下载列表中寻找 ,发现 rsync://mirrors.kernel.org 上有这个文件;所以我们先要进入这台服务器;请不要把地址后面的/省略,这样不会列出服务器或服务器目录中的文件;
de style="font-size: 1em; "<[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 projectde<
我们发现在这个服务器上有fedora的镜像;所以我们一级一级的进去;执行下面的命令;
de style="font-size: 1em; "<[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 extrasde<
... ...
de style="font-size: 1em; "<[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 SHA1SUMde<
我们发现了FC-5-i386-DVD.iso,这时我们要进行下一个过程,同步文件;

2.3 用rsync 同步文件的语法;
首先我们要进入本地机存放以前下载好,但有问题的 FC-5-i386-DVD.iso的目录(还是接着前面的例子),然后再执行类似下面的命令; 
命令格式如下:

de style="font-size: 1em; "<rsync -vzP  映像文件的rsync地址    你以前下载下来的文件de<
比如我以前下载的 FC-5-i386-DVD.iso的有问题,这时我想用rsync 同步来修正,所以我把FC-5-i386-DVD.iso文件放入了一个名为fc5iso的目录中;
de style="font-size: 1em; "<[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.isode<
然后执行;
de style="font-size: 1em; "<[root@localhost fc5]#rsync -vzP rsync://mirrors.kernel.org/fedora/core/5/i386/iso/FC-5-i386-DVD.iso FC-5-i386-DVD.isode<
可能要等几分钟才相关的信息出现,也会出现下载提示之类的;如果有下载之类的信息,就不必管他了,这说明已经正常工作了;我们有的只是等待;如果我们再看一下这个目录都有什么,我们就明白了。rsync的原理是先从本地已存的文件中下载,然后对照服务器的文件,如果已经下载的文件不完整,他就从服务器上下载;如果有错误的,就修正;他会先产生一个临时文件,也就类似下面的... ...
de style="font-size: 1em; "<[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.SI37yUde<
等完成后,会有类似下面这样的提示,然后rsync会自动删除.file临时文件,更新 FC-5-i386-DVD.iso。
de style="font-size: 1em; "<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.41de<
经过这个简单的过程,我们就把有问题的文件同步更新了。然后我们再来检测文件的完整性;这样就可以修正存在问题的文件,是不是能行,只有尝试了才知道; 注意:同步文件时,要有大一点的空间;因为同步的过程中,rsync会创建一个和你下载文件同等大小的临时文件; 
3、rsync 的版本简说;
rsync有Windows版本,Linux大多发行版都有自带,安装上就OK了;不过我得说一下Windows版本;下载客户端就行; http://www.samba.org/rsync/download.html 
4、关于本文;
一切为了应用,前几天下载了FC5的DVD后,发现DVD不能用,所以想到了rsync可能同步修复它,于是就尝试了,结果能行,所以写此文。呵。。我写的太多了,其实就是一句话就OK,我却写了好多。看来水平... ... :( 
5、参考文档;
http://www.samba.org/rsync/documentation.html 
6、相关文档;


问题是rsync什么知道你下载下来的iso

问题是rsync什么知道你下载下来的iso里哪些文件是好的哪些是坏的呢。

  • 由 Anonymous (未验证) 在 2006/05/06 - 01:35 发表
  •  
  • 要发表评论,请先登录 或 注册

其实rsync镜像太多了。

因为我们已经下载到了一定体积的ISO,只是同步一下,并不是全新下载。同步应该是很快的。总有一个正常的ISO

  • 由 北南南北 在 2006/05/06 - 09:16 发表
  •  
  • 要发表评论,请先登录 或 注册

好文章

我也是下载了这个DVD,幸好看到了这篇文章,不然又得重新下了,呵呵。谢谢楼主

  • 由 LinuxSir 在 2006/04/22 - 09:30 发表
  •  
  • 要发表评论,请先登录 或 注册

  评论这张
 
阅读(967)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018