本节介绍如何设置您的服务器机器作为 Debian 的安装服务器。您可以设置任何 Linux 发行版作为 Debian 安装服务器,这台机器不一定需要运行 Debian。请不要忘记,已经有很多 Debian 镜像站点提供免费访问 Debian 软件仓库,所以除非您真的需要自己的软件仓库,否则最好使用已有的镜像站点。
本指南从您已经安装了 Linux 并已启动运行且连接到网络的机器开始。如果您需要关于在服务器上安装 Linux 的帮助,请查阅本 HOWTO 的“更多信息”部分,在附录 A中。
为了使您的服务器充当 Debian 网络安装服务器,您需要将您的机器设置为 Debian 软件仓库的镜像。与大多数 Linux 发行版不同,Debian 通常通过网络安装,因此您可能没有获得包含 Debian 的 CD 镜像集。镜像系统提供了一种方法,使您可以免费将所有必需的数据复制到您自己的服务器机器上。
在您甚至考虑将您的机器设置为安装服务器之前,您必须检查您是否有足够的可用空间。这听起来像是一件微不足道的事情,但它非常重要,并且在您进行设置时很容易被遗忘。
在撰写本文时,整个 Debian 软件仓库大约为 40Gb,但如果您要设置完整的镜像,请记住它会增长。您可以仅镜像 Debian 软件仓库的部分内容,并且您显然可以仅镜像您认为需要的部分。例如,如果您不使用某种机器架构,那么镜像软件仓库的这部分可能没什么意义。
关于 Debian 软件仓库大小的最新信息可从他们的网站 http://www.debian.org/mirror/size 获取。
您需要在本地文件系统的某个位置为您的系统提供足够的可用空间。空间的形式无关紧要,无论是 RAID 设备、本地磁盘(SCSI 或 IDE)等。确保您打算使用的空间已使用您选择的文件系统格式化并已挂载。
您可以使用以下命令检查此空间
df -h
如果此输出显示您有足够的空间,那就太好了,您可以继续。如果不是,那么是时候考虑升级您的目标服务器机器了!
当您确信您有足够的空间来镜像您想要镜像的数据时,您可以继续执行此步骤。如果您不确定您是否有足够的空间来镜像您想要的所有 Debian 软件仓库部分,那么您可以随时尝试此方法,然后,如果您耗尽空间,请从镜像中删除软件仓库的某些部分,然后重试。
Debian 维护着关于如何设置您自己的 Debian 镜像的指南。欢迎您访问 http://www.debian.org/mirror/ftpmirror 查看。以下步骤列表基于 Debian 指令,但是我自己对它们的解释,旨在易于使用和理解。
有很多 Debian 站点可以作为您的镜像源。您最好选择一个靠近您所在位置的站点,或者您知道带宽良好的站点。请记住,如果每个人都使用相同的站点作为自己的镜像源,那么速度将会非常慢,因此请仔细选择。
您可以从 http://www.debian.org/misc/README.mirrors 找到您可以选择镜像的站点列表
我建议使用名为 rsync
的程序将数据从您选择的服务器复制到您自己的服务器。这是一个非常适合从一个系统镜像数据到另一个系统的程序。如果您想了解有关 rsync
本身的更多信息,请参阅其网页或手册页。
Debian 在 http://www.debian.org/mirror/anonftpsync 提供了一个注释良好的脚本,它将为您执行镜像操作。转到此站点并将脚本下载到您的服务器机器,然后我们需要设置脚本以按照您的意愿镜像软件仓库。
现在通读整个脚本(不是很长)并查看每一行。决定您是否希望该行在您的脚本中处于活动状态。如果您不知道某行的作用,那么最好将其保留为默认设置。但是,您必须使用一些最低限度的设置来设置脚本才能使其正常工作。这些设置将包括您选择的服务器、将软件仓库放在您机器上的位置等。
一旦您使用脚本中请求的所有必要信息设置了脚本,您就可以运行它,它将开始从您选择的服务器复制数据到您自己的服务器机器。不要忘记更改脚本的权限,使其可执行,然后从命令行运行它。
Debian 软件仓库会定期更新,为了维护您自己的软件仓库并确保它是最新的,您需要定期再次运行脚本以复制所做的任何更改。注意:该脚本使用 rsync,这是一个单向事务,您永远无法从您的机器复制到您选择的服务器(因为您没有这样做的权限!)。最好每天运行该脚本,因此您可以编辑您的 crontab 来执行此操作,或者将脚本放在 /etc/cron.d/cron.daily
中,如果您的 Linux 发行版已设置此项。
现在可以使您的安装数据可供网络上的其他机器使用。Debian 可以使用 NFS、HTTP 和 FTP 协议进行安装。您可以在客户端安装时选择将使用哪种协议。如果其中一项服务未在机器上设置,它仍然可以被客户端选择,但安装将无法工作。因此,最好在您的服务器上启用所有三项服务(以便它们在每台客户端机器上都工作),或者如果您不启用所有三项服务,那么请很好地宣传这一事实,并说明应将哪项服务用于您的特定安装服务器。
要通过 NFS 安装,您需要在服务器上满足某些条件
要导出您的安装目录,请编辑 /etc/exports
文件,并为您已将 Debian 软件仓库复制到的目录添加一个条目。在本 HOWTO 的示例中,我们将使用以下行
/install *(ro)当您保存了 exports 文件后,您必须让您的 NFS 守护程序再次读取其配置文件,以便导出您刚刚添加的目录。通过运行命令来执行此操作
exportfs -r这为我们提供了最简单的只读导出,适用于我们网络上的所有主机。如果您想在导出中包含更多高级选项,例如仅导出到网络上的某些主机或某个子网等,请参阅 exports 文件的手册页,即 exports (5)。
要通过 FTP 安装,您需要允许 FTP 访问您在服务器上设置为安装目录的目录。这可以是匿名 FTP 访问,也可以是通过带有密码的命名帐户的访问。匿名访问可能是最好的,除非您有理由通过密码保护您的安装服务器。
如果您希望匿名 FTP 指向不同的目录,那么您可以使用符号链接指向您在服务器上设置为安装目录的目录。这将允许 FTP 进入 chroot 环境,但仍然允许您访问不同位置的安装镜像。
如果您运行了 Web 服务器并希望启用对您的安装服务器的 HTTP 访问,那么请从您的文档根目录添加指向安装服务器目录的符号链接,这将授予访问权限。如果您不熟悉 Web 服务器,或者对此方法不满意,那么请从您的安装服务器中省略 HTTP 访问,因为它与 NFS 或 FTP 安装相比没有提供任何优势,而后两者可能更易于设置。
如果您确实选择使用 HTTP,那么基本上您要做的就是使安装目录对您的 Web 服务器可见,方法是通过某种方式使其出现在文档根目录下。如果您使用的是 Apache Web 服务器,那么 Debian 建议将以下内容添加到您的 http.conf 文件中
<directory /org/ftp.debian.org/ftp> IndexOptions NameWidth=* +SuppressDescription DirectoryIndex . </directory>
您现在已经完成了安装服务器的基本设置。