是否可以通过网络安装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.cfg
的pxelinux.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,软件包更新,电源管理,配置管理编排等等。