是否可以通过网络安装Ubuntu?

我想为近120个用户安装Ubuntu。 但是使用USB和驱动器非常困难。

有什么建议?

您可以安装一个Ubuntu系统(通常是Ubuntu Server系统,但不一定是这样),然后将其用作PXE引导和安装其他系统的服务器。 客户端(您要安装Ubuntu的位置)上的BIOS必须支持PXE(即网络引导 )才能使用。 但是现在大多数BIOS都这样做了。

你应该可以使用非Ubuntu系统作为主机,如果你已经有了这个设置,并且你知道如何在非Ubuntu系统上配置必要的服务器。


PXEInstallServer Ubuntu帮助wiki文章解释了如何将Ubuntu系统设置为PXE服务器,以及如何在其他系统上安装Ubuntu。 总结要点很难 – 细节非常重要。 所以这是整个事情(有轻微的格式和标点符号更改):

介绍

这将指导您将Ubuntu服务器作为PXE安装服务器运行。 您需要在网络上运行DHCP服务器,不一定是此服务器,但您确实需要一台服务器。

安装所需的包

您需要安装以下软件包: inetutils-inetd (以前的netkit-inetd ), tftpd-hpa (请参阅InstallingSoftware )。

  • 对于Ubuntu 10.04, inetutils-inetd存在一个错误。 它只侦听IPv6,而不是IPv4。 作为一种快速解决方法,您可以使用openbsd-inetd

如果这也是您的DHCP服务器,请安装以下包中包含的dhcp服务器: dhcp3-server (请参阅InstallingSoftware )。

配置tftpd-hpa

你需要告诉tftpd-hpa启动它的守护进程(默认情况下不会)。 为此,编辑/etc/default/tftpd-hpa文件,并确保它看起来像这样:

 #Defaults for tftpd-hpa RUN_DAEMON="yes" OPTIONS="-l -s /var/lib/tftpboot" 

然后,运行启动脚本以实际启动守护程序:

 /etc/init.d/tftpd-hpa restart 

配置dhcpd

如果你的pxe服务器也是你的dhcp服务器,你需要在/etc/dhcp3/dhcpd.conf这样的东西:

 subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.200; filename "pxelinux.0"; } 

如果您有现有的dhcp服务器,则应通过执行以下操作将其指向您的pxe服务器:

 subnet 192.168.0.0 netmask 255.255.255.0 {  filename "pxelinux.0"; next-server ; } 

请务必重新启动dhcp服务器以使更改生效:

 sudo /etc/init.d/dhcp3-server restart 

配置tftpd-hpa

inetd调用tftpd-hpa 。 因此,在/etc/inetd.conf中可以找到启动时传递给tftpd-hpa的选项

默认值对我们来说很好,你的/etc/inetd.conf应该有这样的条目:

 tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot 

(虽然您可能需要编辑此文件并将udp替换为udp4 ,因为tftpd-hpa现在似乎需要IPv6地址。)

现在我们将从Ubuntu CD中复制所需的文件:

 sudo cp -r /media/cdrom/install/netboot/* /var/lib/tftpboot/ 

如果您的dhcp服务器发出正确的网络信息,并且您的pxe客户端将具有网络访问权限,那么此时您将能够使用Internet存储库进行Ubuntu安装。

我想更进一步,然后从安装服务器安装所有内容,并自定义一些要安装的软件包。

安装apache

目前nfs安装不受支持(如果我错了请纠正我)所以我们将安装在http上。 为此,我们在安装服务器上也需要一个Web服务器:安装以下软件包: apache (参见InstallingSoftware )。

复制Ubuntu文件

在刚刚安装的apache文档根目录下创建一个ubuntu目录,并将Ubuntu Alternate CD的所有内容复制到该目录:

 mkdir /var/www/ubuntu cp -r /media/cdrom/* /var/www/ubuntu/ 

自定义安装

有一个名为system-config-kickstart的包,它是创建kickstart文件的GUI前端。 kickstart文件告诉安装程序从哪里获取其软件包,安装什么以及许多其他有用的设置。 有关详细信息,请参阅KickstartCompatibility 。

此软件包不必安装在您的安装服务器上,它可以安装在方便的Ubuntu桌面上。

使用system-config-kickstart创建自定义ks.cfg ,请务必在“安装方法”下指定HTTP。 提供安装服务器的IP并制作HTTP Directory /ubuntu/ 。 保存文件并将其复制到/var/www/html/下的安装服务器。

一个极简主义的`ks.cfg文件,它只使用安装服务器上的安装文件并询问所有其他问题,如下所示:

 install url --url http://192.168.0.1/ubuntu/ 

使用你的ks.cfg

为了让您的网络Ubuntu安装使用您的kickstart文件,您必须告诉它在哪里找到它。 编辑/var/lib/tftpboot/pxelinux.cfg/default并将ks=http:///ks.cfg添加到追加行。 它应该看起来像这样(请注意附加行是一行):

 label linux kernel ubuntu-installer/i386/linux append ks=http://192.168.0.1/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=16432 

root = / dev / rd / 0 rw –

在Jaunty [并且可能是后来的版本中,包括您可能使用的任何版本] 1默认文件已被分解为包含。 附加行可以在/ubuntu-installer/i386/boot-screens/text.cfg找到:

 label install menu label ^Install (from my http server) menu default kernel ubuntu-installer/i386/linux append ks=http://192.168.0.1/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz -- quiet 

启动并安装

您现在应该能够通过网络在局域网上启动另一台PC并让它自动安装Ubuntu。 :)您可以改变tftp和http安装点,以便在您的网络上安装多个版本的Ubuntu。

直接使用CD(或.iso)

您也可以在不实际复制任何文件的情况下实现上述目的。 您可以安装CD(或.iso),然后使用--bind选项执行其他安装。 优点是您可以升级CD(或.iso)而无需更新安装服务器文件。

例如,将CD(或.iso)挂载到/media/cdrom/ ,可以将ubuntu文件挂载到web目录:

 mount --bind /media/cdrom/ /var/www/ubuntu/ 

同样,您可以使用tftproot执行相同的tftproot

 mount --bind /media/cdrom/install/netboot/ /var/lib/tftpboot/ 

如果要使用适当的默认文件创建pxelinux.cfg目录,则可以将其安装在已安装CD的顶部,以便tftp服务器提供pxelinux.cfg / default文件。 例如, ~/pxelinux.cfgpxelinux.cfg目录可以像这样挂载:

 mount --bind ~/pxelinux.cfg /var/lib/tftpboot/pxelinux.cfg 

(请注意,在上面的示例中,目录的实际安装点最终将为/var/lib/tftpboot/ubuntu-installer/i386/pxelinux.cfg因为pxelinux.cfg是CD上的符号链接(或.iso) ))。

– PXEInstallServer ,具有轻微的格式,标点符号和大小写更改,主要用于容纳Ask Ubuntu格式。

那篇文章来自Ubuntu文档维基 。 它由“Ubuntu文档维基的贡献者”编写,并根据CC-BY-SA 3.0进行 许可 ,允许包含在此处,并具有适当的归属。

1 [括号斜体文字]不是原文; 这是我的评论。


请注意此方法与Mitch建议的方法之间的区别。 该方法涉及从CD / DVD或USB闪存驱动器启动,然后通过网络安装系统。 默认情况下,这个网络是互联网; 要使该方法合理安装到网络上的数百台计算机,您可能希望在网络上创建和托管Ubuntu存储库,并将安装指向该网络。

这样做所需的工作量和基础设施与PXE引导机器所需的工作量和基础设施相当,如上所述。 因此,虽然这种方式可能满足您的需求,但如果您确实需要在没有“物理媒体”的情况下安装,我建议您考虑使用PXE启动。

您可以使用net install方法通过网络启动Ubuntu安装。 在Netboot安装中描述

网络安装程序

网络安装程序允许您通过网络安装Ubuntu。 例如,如果您的旧计算机具有不可引导的CD-ROM或计算机无法运行基于图形界面的安装程序,则这很有用,因为它们不符合Live CD的最低要求/ DVD或因为在使用图形桌面之前需要额外配置,或者如果要同时在大量计算机上安装Ubuntu。 Ubuntu的

下载12.04 LTS的网络安装程序

下载13.04的网络安装程序

有很多方法可以实现这一目标。

1 – Netboot

您必须修改此HOWTO中的主机名和IP地址以进行自己的设置。 此处描述的原则适用于下面描述的其他DHCP和TFTP服务器; 使用备用服务器软件留给读者练习。

有关如何将Windows计算机用作TFTP和DHCP服务器的说明,请转至Installation / WindowsServerNetboot。

这个HOWTO将帮助您运行安装程序; 如果要执行Ubuntu的自动或无人值守安装,请参阅Installation / LocalNet。

2 – LocalNet

此安装方法使用DHCP / BOOTP,TFTP和FTP / HTTP来获取安装源。 安装程序本身由Linux内核和initrd组成。 这些文件通过DHCP / TFTP引导过程传输。

其余的安装源可以通过FTP或HTTP传输。 如果目标机器具有Internet访问权限,则可以直接从Ubuntu镜像中提取这些源。 或者,您可以下载其中一个安装ISO,环回安装它们,并使用本地HTTP / FTP服务器提供它们。

3 – NetworkConsole

从CD引导(可能是TFTP或类似的)并通过SSH安装系统。

4 – 通过SSH快速安装

通过ssh在专用服务器上安装Hardy Ubuntu 12.04的快速指南。

查看服务器和网络安装的完整文档

Cobbler是一个Linux安装服务器,可以快速设置网络安装环境。 它粘合在一起并自动执行许多相关的Linux任务,因此在部署新系统时,您不必在许多不同的命令和应用程序之间跳转,在某些情况下,还需要更改现有的系统。 Cobbler可以帮助配置,管理DNS和DHCP,软件包更新,电源管理,配置管理编排等等。