我想为将近120个用户安装Ubuntu。但是使用USB和驱动器非常困难。
有什么建议?
我想为将近120个用户安装Ubuntu。但是使用USB和驱动器非常困难。
有什么建议?
Answers:
您可以安装一个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
(请参阅 InstallationSoftware)。
- 对于Ubuntu 10.04,存在一个错误
inetutils-inetd
。它仅侦听IPv6,而不侦听IPv4。作为一种快速的解决方法,您可以openbsd-inetd
改用。如果这也将是您的DHCP服务器,请安装以下软件包中包含的dhcp服务器:(
dhcp3-server
请参阅 InstallationSoftware)。配置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 { <other config here> filename "pxelinux.0"; next-server <pxe host>; }
确保重新启动dhcp服务器,以使更改生效:
sudo /etc/init.d/dhcp3-server restart
配置tftpd-hpa
tftpd-hpa
从调用inetd
。tftpd-hpa
因此可以在启动时找到传递给它的选项/etc/inetd.conf
默认值对我们来说很好,您
/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
请参阅 InstallationSoftware)。复制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桌面上安装。
创建自定义
ks.cfg
使用system-config-kickstart
,确保在“安装方法”来指定HTTP。提供安装服务器的IP并创建HTTP目录/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://<installserver>/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中,默认文件已分解为include。附加行可以在以下位置找到
/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
: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文档Wiki。它是由“ Ubuntu文档Wiki的撰稿人”编写的,并根据CC-BY-SA 3.0进行了许可,该CC-BY-SA 3.0允许将其包含在此处,并带有适当的署名。
1 [括号中的斜体文本]不是原始的;这是我的评论。
注意此方法与Mitch建议的方法之间的区别。该方法涉及从CD / DVD或USB闪存驱动器启动,然后通过网络安装系统。默认情况下,该网络是Internet;为了使该方法合理地安装到网络上的数百台计算机上,您可能需要在网络上创建并托管Ubuntu存储库,然后将安装指向该存储库。
这样做所需的工作量和基础结构与上述PXE引导计算机所需的工作量和基础结构相当。因此,尽管这种方式可以满足您的需求,但如果您确实需要在没有“物理介质”的情况下进行安装,我建议您考虑使用PXE引导。
您可以使用net install方法通过网络开始Ubuntu的安装。在Netboot安装中描述
网络安装程序
网络安装程序使您可以通过网络安装Ubuntu。例如,如果您有一台带有无法启动的CD-ROM的旧机器,或者一台不能运行基于图形界面的安装程序的计算机,这可能是有用的,因为它们不符合实时CD的最低要求。 / DVD,或者因为它们需要额外的配置才能使用图形桌面,或者您想一次在大量计算机上安装Ubuntu。的Ubuntu
有很多方法可以做到这一点。
1- 网络启动
您必须为自己的设置在此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服务器一起使用。
从CD引导(也可以是TFTP或类似文件)并通过SSH安装系统。
4- 通过SSH快速安装
通过SSH在专用服务器上安装Hardy Ubuntu 12.04的快速指南。
查看服务器和网络安装的完整文档
安装Ubuntu 18.04 LTS时对我有用的是基于Isabel Castello的指南,该指南似乎基于Ubuntu Wiki的LocalNet指南,但对我而言更具可读性和可理解性。
您必须在具有3个节点的网络上:
确保在目标BIOS中启用网络引导。
进入BIOS通常是通过按住或按住Del或F2启动计算机来完成的。另外,按下F12通常可以以某种特定于供应商的方式更改引导顺序,这可能会有所帮助。
找出以下值:
(您可能希望浏览/更改路由器上的DHCP设置以找出其中的一些设置。此外,如果在引导目标计算机时设法进入Network Boot阶段,则它可能至少会显示MAC地址,因此您可以记下来。)
在源主机上安装并配置tftp:
$ sudo apt-get install tftpd-hpa
$ grep TFTP_DIRECTORY /etc/default/tftpd-hpa
TFTP_DIRECTORY="/var/lib/tftpboot"
$ wget http://archive.ubuntu.com/ubuntu/dists/bionic-updates/main/installer-amd64/current/images/netboot/netboot.tar.gz
$ sudo tar xzvf netboot.tar.gz -C /var/lib/tftpboot/
$ rm netboot.tar.gz
如果grep
上面显示的路径不同,请相应地调整此步骤和下一步中列出的命令中的值。
同样在源主机上安装,配置和运行bootp:
注意:将$TARGET_MAC
等值替换为上面步骤2中收集的适当值。该$TARGET_MAC
地址应该是用冒号,如:00:00:39:2B:54:B5
和$SUBNET_MASK
点缀,如255.255.255.0
。
$ sudo apt-get install bootp
$ vim ./bootptab
client: ha="$TARGET_MAC": ip=$TARGET_IP: gw=$GATEWAY_IP: sm=$SUBNET_MASK: td=/: hd=/: bf=pxelinux.0
$ sudo bootpd -d 4 -c /var/lib/tftpboot -s $PWD/bootptab
重新启动目标计算机,同时确保启用了网络启动功能(F12如果需要,请按,否则按,或按BIOS要求的其他任何键)。
基于文本的交互式Ubuntu 18.04安装程序应立即在目标计算机上启动。就像正常安装Ubuntu一样继续。
附加:为安全起见,在完成安装后,您应确保将目标BIOS中的网络启动功能切换回禁用状态。
希望这可以帮助!