Answers:
您要问2个不同的问题,或者问题上有2个不同的标签-存储库和镜像。
大多数答案已经解决了镜子背后的原因和方式。作为另一个轶事(而且轶事是数据!),我运行了Mint,Ubuntu和Debian的镜像,只是为了在我所授课的计算机实验室中提供更快的访问权限。20个人都同时获得更新或进行网络安装或...以千兆位的速度比建筑物的5mb互联网快得多。
但是存储库...
回购的Ubuntu背后的想法其实都开始在Debian(在Ubuntu中主要基于)和Debian的包管理系统,其中包括apt
在各种版本和化身(公用事业apt
,apt-get
,aptitude
,等)。使用Debian软件包管理系统,一个标准的基本系统被告知从何处获取软件包和更新。这可以是任何数量的来源-硬盘驱动器,CD-ROM / DVD,网络共享或通过诸如http(s),ftp和rsync之类的网络协议。这些信息的一部分包括可用的软件,以及哪些软件包取决于所有其他软件包,直至基础系统。
这样,您可以运行以下命令apt-get install task-mate-desktop
,并且程序包管理系统显示“嗯,您需要安装此版本的libraryA,该版本的libraryB和foo版本3.14和...”,因为它知道您已安装了什么。 ,它知道需要从源中检索什么(很可能是您要询问的那些镜像之一),并且它获取了所需的东西并安装了所有东西。请注意,Ubuntu等中的GUI软件管理工具。都只是apt和dpkg的前端。
现在,Debian / Ubuntu / Mint / etc。并非只有这样的人。BSD版本pkg
,yum
用于Redhat和类似发行版的ports集合以及该工具,来自Gentoo的portage集合,以及其他工具。
您几乎可以将其关闭-镜像保留主服务器上所有数据的重复副本。这是为了冗余和提高速度。从广义上讲,镜像只是出于相同目的的某些数据的副本。但是,出于此答案的目的,我将仅关注镜像服务器。
在Canonical的情况下(大多数情况下),镜子在战略位置遍布全球。这使服务器可以分别处理较少的负载,并允许每个人都连接到最近的服务器。
在互联网上,距离很重要。实际上,这很重要。较长的连接会导致高延迟,较慢的连接速度,以及几乎所有数据需要穿越海洋和半大洲旅行时遇到的所有其他经典问题。因此,我们有这些分布式镜像。人们可以连接到物理上最接近的位置(通常是最快的位置-有些情况除外),以实现最低的延迟和最高的下载速度。其他时候,用户连接到几个镜像,然后手动比较速度并选择最快的一个。在极少数情况下,用户可能会手动覆盖以使用并非最快的特定镜像-通常是出于可靠性或对该特定服务器的特殊要求。
在某些情况下,公司将托管自己的Apt存储库内部镜像。它们的存在是为了保留敏感知识产权或仅允许员工使用特定版本。镜像不一定是父服务器的精确副本。
您自己发现时,镜像就是另一台服务器,它可以镜像/克隆主服务器中的所有内容。
使用镜子有很多好处,例如:
简短的答案:冗余,更高的可靠性,备份,容错能力,资金,性能,速度等等。
您可以选择位于您所在国家或附近的镜子,或者通过其他任何方式来更可靠,更快速地访问它。
我们有冗余。冗余只是意味着拥有(硬件或软件)资源(复制/备份)以上的资源,从而带来更高的可靠性。当我可以访问成千上万个镜像时,错过某些东西或失去对存储库的访问的可能性非常低。
通过冗余,可以帮助我实现容错能力,这意味着在发生意外的情况下,我的服务都可以正常使用并可供用户使用。
它有助于降低服务器成本。如果我们都使用相同的镜像,则它应该具有巨大的资源和带宽,因此所有者应为此付出很多钱。
它通过不让数百万人使用服务器来帮助我们实现更好的性能。
我们可以将其镜像到我们的本地网络,并且数百台机器都可以使用该存储库,而无需访问Internet。
等等
镜像可以指的是与其他计算机具有相同数据的服务器,例如Ubuntu存储库镜像...,但也可以指“磁盘镜像”或RAID。
用最简单的话来说...
磁盘镜像是指如何设置磁盘子系统以获得最大的正常运行时间和可靠性。试想一下,如果您有一个运行公司薪资或库存系统的关键任务计算机系统。它必须有100%的正常运行时间。在非镜像环境中,如果将启动硬盘松动到硬件故障,通常系统会随之崩溃。如果您松开数据库驱动器,则数据将消失,系统将无法运行,需要更换硬盘,并且需要从备份中还原数据库。数据丢失很有可能。
在同一示例中,如果引导硬盘上有一个镜像(另一个磁盘的数据与引导硬盘的数据完全相同),并且您将主引导硬盘丢失了而导致硬件故障,则该镜像可以“拾取”确切的位置。损坏的磁盘停止,并且计算机系统保持运行状态。这也使系统管理员可以使有故障的硬盘脱机,修复并重新使用,而不会破坏计算机系统。