如何通过不可靠的连接下载Ubuntu

我试图通过非常不可靠的连接下载64位Ubuntu 12.10 ISO。 不可靠,我的意思是每次我完成下载ISO并比较MD5哈希值时,我最终会得到一个关于不匹配的错误。

我正在使用Ubuntu 12.04来执行下载。 有没有一种工具可以以某种方式解决非常不可靠的连接?

在我的情况下,我的连接下降了很多,如果尝试直接下载ISO,我也会以MD5问题结束。 我建议通过torrent客户端下载ISO映像。

这样,即使在下载时,torrent客户端也会检查以确保它没问题。 有一个很好的种子列表可供使用,但如果你在Windows或Mac,我建议UTorrent 。 如果您是从安装了Ubuntu的计算机上执行此操作,Ubuntu会附带一个名为Transmission的默认torrent客户端 安装传输

你可以在ubuntu网站找到torrent下载文件,只需找到.torrent文件扩展名的文件。

除了bittorrent之外,您还可以使用zsync (免费工具)。

你可能想知道zsync是如何工作的,以决定你是否想要获取和使用它,所以我将首先解释它是如何工作的,然后是如何获得它。

如何使用zsync下载Ubuntu ISO映像

zsync允许您通过从另一个文件开始构建一个文件。 您可以从任何文件开始,但是为了提供优于仅下载所需文件的任何优势,您开始使用的文件应该您想要的文件类似

zsync仅适用于其提供程序已创建.zsync元文件的文件。 .zsync文件包含文件各部分的校验和,并使zsync实用程序能够确定您已匹配的文件的哪些部分以及哪些部分不匹配。 将再次下载不匹配的部件。 (实际上, zsync有点复杂 – 它也能够处理某些部分匹配但位于文件中不同位置的情况,而不必重新下载这些匹配的部分。这个特殊function在创建一个好的东西时并不常见但是,从损坏的下载文件。)

在某处下载(损坏的)ISO映像后,打开终端或(对于Windows)命令提示符( cmd.exe )并导航到其位置。 在大多数操作系统中,您可以在末尾键入带有空格的cd ,然后将文件夹拖到命令行,并粘贴文件夹的位置。 然后你可以按回车键,它会将D irectory改为该位置。 ( cd应该是小写的 – 在某些系统上,如Windows,大写将起作用,但在其他系统上,如OS X和Ubuntu,它不会。)

一旦你进入了包含该文件的文件夹 – 运行lsdir应该向你展示其中的所有内容,并运行ls *.isodir *.iso应该只显示以.iso结尾的文件,其中包括Ubuntu安装图像 – 然后运行:

 zsync URL-to-.zsync-file Ubuntu-iso-image-name .iso 

这将修复你已经损坏的文件(命名为Ubuntu-iso-image-name .iso – 例如,它可能被称为ubuntu-12.10-desktop-i386.iso )是正确的。 如果您运行它并且未进行任何更改,则表示您的文件正确无误。 zsync包含校验和,因此如果您说的话,您可以确保拥有完整,正确的文件。

要准确了解如何在多个平台上获取.zsync ,以及如何为每个Ubuntu ISO映像运行它,请继续阅读。

获取zsync实用程序

我写过关于在不同的上下文中获取和使用zsync来修复损坏的ISO映像。 这是一个较长的答案 ,其中大部分与此问题无关。 所以我摘录了与之相关的部分内容。

获取Windows的zsync

zsync传统上运行在类Unix系统上(实际上并不包括Windows)。 但是,最近创建了一个zsync的本机Windows端口 ,因此您可以使用它。

zsync是一个命令行程序,因此在Windows中,您可以在命令提示符下运行它。 (打开命令提示符的一种方法是在“开始”菜单的文本框中键入cmd.exe ,然后按Enter键 。或者,在Windows XP和更早版本中,单击“开始”>“运行”>“ cmd.exe 。)

另一种方式:为Cygwin获取zsync

如果zsync的Windows端口有任何问题,您可以随时使用Cygwin版本。 Cygwin为Windows提供类Unix环境。 它不允许运行已编译的可执行文件(例如,您不能使用Ubuntu软件包中的zsync ),而是使用从源代码编译的特殊版本的程序。 (编译为Cygwin中类Unix操作系统编写的程序比编译它更容易,因为它在Windows上本地工作。)

  1. 首先, 从这里获取Cygwin的安装程序( setup.exe ) (或使用此直接链接 )。
  2. 运行它,在第一个屏幕上单击“ 下一步 ”,然后选择“ 从Internet安装”并再次单击“ 下一步”
  3. 在接下来的两个屏幕上,将Cygwin和本地软件包目录放在任何你喜欢的位置(默认值通常都很好)。
  4. 选择您的Internet连接类型( 直接连接通常很好), setup.exe将下载镜像列表。
  5. 选择任何镜像,它将下载可用包的列表。 您可能会被警告此版本与前一版本的不同之处。 这不是问题,除非您在同一台机器上使用过以前版本的Cygwin。

    设置警报消息,了解这是您第一次安装此特定版本的Cygwin时的情况。如果您之前没有使用过Cygwin,可以忽略它。正如它所说,“如果这是你第一次在这个系统上安装Cygwin,那么你可以忽略这个消息。”

  6. 现在您可以选择要安装的软件包。 有一个用于按名称搜索包的文本框。 在那里键入zsync (但不要Enter键 -如果你这样做,就像点击Next一样 )。 将出现Net的条目。 通过单击它左侧的+展开它,您将看到跳过其下方的跳过 。 这意味着如果您不进行任何更改, setup.exe不会安装zsync

    Velma Dinkley在Cygwin中安装zsync,同时在“Siren's Song”中更新她的博客。

  7. 所以点击一下,它说Skip 。 现在它将为Cygwin安装最新的稳定版zsync

    在此处输入图像描述

  8. 再次单击“ 下一步”完成安装。 将下载并安装Cygwin环境和zsync 。 (如果要求您安装作为依赖项所需的软件包,请继续执行此操作。)

安装完成后,打开Cygwin shell。 你可以从那里运行zsync

参考

  • 安装和更新Cygwin (官方网站,非常一般的说明)
  • 如何在Windows中使用zsync更新到最新的Ubuntu 11.04 ISO (旧的和非官方的,但仍然有帮助)

请注意,虽然您可以在Cygwin邮件列表上发布Cygwin的问题(在阅读了它以及它告诉您阅读的材料之后),但可以理解的是它们支持非官方指令。 cygwin有很好的文档,所以像其他具有良好集中文档的项目(如OpenBSD)一样,他们希望寻求帮助的人能够阅读文档,并且正在开展工作(或者至少非常熟悉)。

(因此,如果您的指示有问题, 可以在这里询问最好的地方 。)

Ubuntu上的zsync

这不适用于您的特定情况,但对于想要在Ubuntu上使用zsync ,只需安装zsync 安装zsync 。 这可以在软件中心完成,也可以在终端窗口中运行( Ctrl + Alt + T ):

 sudo apt-get update && sudo apt-get install zsync 

现在您可以从终端运行它。

从我的答案 如何在损坏的Ubuntu ISO中识别和替换损坏的文件?

使用.zsync修复最常见的Ubuntu ISO文件

首先, cd到包含损坏的.iso映像的位置,如上所述(在如何使用zsync下载Ubuntu ISO映像中 )。

现在以这些方式之一运行zsync ,具体取决于它是哪个Ubuntu ISO映像:

  • 12.10,32位:

     zsync http://releases.ubuntu.com/quantal/ubuntu-12.10-desktop-i386.iso.zsync 
  • 12.10,64位:

     zsync http://releases.ubuntu.com/quantal/ubuntu-12.10-desktop-amd64.iso.zsync 
  • 12.04.1 LTS,32位:

     zsync http://releases.ubuntu.com/12.04.1/ubuntu-12.04.1-desktop-i386.iso.zsync 
  • 12.04.1 LTS,64位:

     zsync http://releases.ubuntu.com/12.04.1/ubuntu-12.04.1-desktop-amd64.iso.zsync 
  • 12.04 LTS(在12.04.1发布之前),32位:

     zsync http://old-releases.ubuntu.com/releases/precise/ubuntu-12.04-desktop-i386.iso.zsync 
  • 12.04 LTS(在12.04.1发布之前),64位:

     zsync http://old-releases.ubuntu.com/releases/precise/ubuntu-12.04-desktop-amd64.iso.zsync 

一旦你运行其中一个命令, zsync将自动修补你的ISO到正确的版本,你很高兴。

从我的答案 如何在损坏的Ubuntu ISO中识别和替换损坏的文件?

为其他(和未来)Ubuntu .iso映像编写zsync命令

一般语法是运行zsync然后运行服务器上.zsync文件的完整URL,该文件与您拥有版本并希望下载的文件具有相同的名称(当然,除了.zsync之外)。

如果有人想为任何其他Ubuntu版本(或同一版本的其他ISO文件,例如针对Mac正确启动的版本或基于ARM的移动设备的版本)执行此操作,这里是.zsync文件所在的规则位于:

  • 包含当前支持的安装程序的ISO映像,包括用于LTS版本的最新版本的ISO和用于当前支持的LTS版本的所有ISO,位于:

    http://releases.ubuntu.com/

  • 生命周期终止版本(无论如何不应使用)或支持的LTS版本的先前版本的ISO映像位于:

    http://old-releases.ubuntu.com/releases/

只需单击您的版本链接,然后向下滚动即可查看完整文件列表(或搜索.zsync页面)。 然后复制URL并将其粘贴到zsync命令中。

从我的答案 如何在损坏的Ubuntu ISO中识别和替换损坏的文件?

虽然它比这要广泛得多(我建议将它们视为重复!),如果你感兴趣,你可能想看看最初导致我在这里编写大部分文本的问题(即, blockquotes中包含的文字:

  • 如何在损坏的Ubuntu ISO中识别和替换损坏的文件?