本节介绍如何设置您的服务器机器作为 Redhat Linux 的安装服务器。您可以设置任何 Linux 发行版作为 Redhat 安装服务器,这台机器不必一定运行 Redhat。
本指南从您已经安装了 Linux 且正在运行并连接到网络的机器开始。如果您需要安装 Linux 服务器的帮助,请查阅本 HOWTO 的“更多信息”部分,位于 附录 A。
为了使您的服务器充当 Redhat 网络安装服务器,您需要将执行完整安装您所提供的 Redhat 版本所需的所有数据都放在服务器上。例如,如果您习惯于使用 CD 安装 Redhat,那么您需要在服务器上拥有空间来复制 所有 CD 的内容到您的服务器上。
因此,在您甚至考虑将您的机器设置为安装服务器之前,您必须检查您是否有所需的可用空间。这听起来像是一件微不足道的事情,但它非常重要,并且在您进行设置时很容易被遗忘。
您所需空间量的指南将是您打算稍后从中复制的安装介质的空间量。这可能是以下示例之一
您的系统需要在某些本地文件系统上拥有足够的可用空间。这采取什么形式并不重要,无论是 RAID 设备、本地磁盘(SCSI 或 IDE),等等。确保您打算使用的空间已使用您选择的文件系统格式化并已挂载。
您可以使用以下命令检查此空间
df -h
如果此输出显示您有足够的空间来复制您的安装介质,那么太好了,您可以继续安装。如果不是,那么是时候考虑升级您的预期服务器机器了!
一旦您知道您有足够的可用空间,就可以开始将您的安装介质复制到您选择的文件系统和目录。为了本 HOWTO 的目的,我们将使用以下示例来表示我们的安装服务器将被设置和运行的目录
/install
将您的安装介质复制到 /install
。以下示例展示了如何将您的 Redhat CD 镜像复制到 /install
mount /mnt/cdrom
cp -av /mnt/cdrom /install
umount /mnt/cdrom
是时候让您的安装数据可供网络上的其他机器访问了。Redhat 可以通过网络使用 NFS、HTTP 和 FTP 协议进行安装。您可以在客户端安装时选择将使用哪种协议。如果其中一项服务未在机器上设置,它仍然可以被客户端选择,但安装将无法工作。因此,最好在您的服务器上启用所有三项服务(以便它们在每台客户端机器上都能工作),或者如果您不启用所有三项服务,那么请充分宣传这一事实,并说明您的特定安装服务器应使用哪项服务。
NFS 协议是唯一一个在安装客户端机器时可以与 Redhat 的图形安装方法一起工作的协议。因此,如果您想进行图形(而不是基于文本的)安装,那么您必须在您的服务器上启用此服务。
要通过 NFS 安装,您需要在服务器上满足某些条件
要导出您的安装目录,请编辑 /etc/exports
文件,并为 /install
添加一个条目。在我们的示例中,我们将使用以下行
/install *(ro)当您保存了您的 exports 文件后,您必须让您的 NFS 守护进程再次读取其配置文件,以便导出您刚刚添加的目录。通过运行以下命令来执行此操作
exportfs -r这为我们提供了最简单的只读导出到我们网络上的所有主机。如果您想在您的导出中包含更高级的选项,例如仅导出到网络上的某些主机或某个子网等,请参阅您的 exports 文件的手册页,即 exports (5)。
FTP 协议只允许您的客户端执行文本安装。这对于您的情况可能理想也可能不理想,但请牢记这一点。
要通过 FTP 安装,您需要允许 FTP 访问您在服务器上设置为安装目录的目录。这可以是匿名 FTP 访问,也可以是通过带有密码的命名帐户访问。除非您有理由通过密码保护您的安装服务器,否则匿名访问可能是最好的。
如果您希望匿名 FTP 指向不同的目录,那么您可以使用符号链接指向您在服务器上设置为安装目录的目录。这将允许 FTP 进入 chroot 环境,但仍然让您可以访问不同位置的安装镜像。
与 FTP 协议类似,HTTP 只允许客户端进行文本安装。如果您有一个 Web 服务器正在运行,并且想要启用 HTTP 访问您的安装服务器,那么从您的文档根目录到安装服务器目录添加符号链接,这将授予访问权限。如果您不熟悉 Web 服务器,或者对这种方法感到不舒服,那么请从您的安装服务器中排除 HTTP 访问,因为它相对于 NFS 或 FTP 安装没有提供任何优势,而后两者可能更易于设置。
如果您确实选择使用 HTTP,那么基本上您所要做的就是通过某种方式使安装目录在您的文档根目录下可见,从而使 Web 服务器可以访问该目录。
您现在已经完成了安装服务器的基本设置。
如果您愿意,您可以将您自己的软件包添加到 Redhat 发行版中,以便在您安装客户端时通过网络与 Redhat 一起安装它们。这样做的好处是,您不必花费时间为您可能想要安装但 Redhat 未包含的软件包配置每台机器。这方面的例子可能是您自己创建的 RPM 软件包或一些专门的软件包。
确保您的服务器上安装了 anaconda-runtime
软件包。如果您运行的是 Redhat,通常会安装此软件包,但如果您的服务器上有另一个发行版,那么您应该能够毫无困难地安装 Redhat RPM。要检查您是否安装了正确的软件包,请输入以下命令
rpm -q anaconda-runtime如果返回软件包的名称,则表示您已安装它,如果没有返回任何内容,则根据需要安装 RPM。
现在只需将您的 RPM 软件包文件复制到以下目录
/install/Redhat/RPMS此目录应已包含您在安装服务器上设置的 Redhat 版本的 Redhat 标准 RPMS。
复制您的自定义 RPMS 后,您需要重新生成 Redhat 可以安装的软件包列表。使用以下命令执行此操作
/usr/lib/anaconda-runtime/genhdlist /install此处使用的
/install
目录是我们到目前为止一直在使用的示例目录。将其替换为您复制 Redhat CD 镜像到的目录。该目录应该是 Redhat CD 集的基本目录,即包含名为 Redhat
的子目录,然后在名为 RPMS
的目录之前。您的自定义 RPM 软件包现在应该可供客户端使用。
除了将您自己的 RPMS 添加到 Redhat 之外,您还可以为安装过程创建 RPM 组。这些将类似于 Redhat 安装已经提供的标准组,例如“软件开发”组,它会将所有用于此目的的软件包安装到您的系统上。
这允许为您的系统上的特定目的快速安装许多 RPMS,并且这些组将在客户端安装时像正常的 Redhat 组一样可用(并以相同的方式使用)。
要创建您自己的组,您必须编辑一个名为 comps
文件的文本文件。在我们的示例中,它位于
/install/Redhat/base/comps
复制文件中已有的组的语法,您可以创建您自己的分组。这些可以包括来自标准 Redhat 安装的软件包或您可能已经添加的任何自定义软件包,即您可以包含 RPMS
目录中的任何软件包。
编辑完文件后,将其保存回原始文件(备份原始文件可能是一个好主意,但如果您需要它,它将始终在您的 CD 镜像上)。您现在必须再次运行上面解释的 genhdlist
命令。