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


Answers:


11

您可以安装一个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从调用inetdtftpd-hpa 因此可以在启动时找到传递给它的选项/etc/inetd.conf

默认值对我们来说很好,您/etc/inetd.conf应该输入以下内容:

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

(尽管您可能需要编辑此文件并替换udpudp4,但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引导。


我需要在路由器中更改任何设置吗?
Enkouyami

4

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

网络安装程序

网络安装程序使您可以通过网络安装Ubuntu。例如,如果您有一台带有无法启动的CD-ROM的旧机器,或者一台不能运行基于图形界面的安装程序的计算机,这可能是有用的,因为它们不符合实时CD的最低要求。 / DVD,或者因为它们需要额外的配置才能使用图形桌面,或者您想一次在大量计算机上安装Ubuntu。的Ubuntu

下载适用于12.04 LTS的网络安装程序

下载适用于13.04的网络安装程序


4

有很多方法可以做到这一点。

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服务器一起使用。

3- NetworkConsole

从CD引导(也可以是TFTP或类似文件)并通过SSH安装系统。

4- 通过SSH快速安装

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

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


1

安装Ubuntu 18.04 LTS时对我有用的是基于Isabel Castello指南,该指南似乎基于Ubuntu Wiki的LocalNet指南,但对我而言更具可读性和可理解性。

先决条件

您必须在具有3个节点的网络上:

  1. 基本的DHCP路由器
  2. 您要在其中安装Ubuntu 的目标服务器。必须使用电缆(不是WiFi)将其连接到路由器。并且显然支持BIOS中的网络启动。
  3. 一个服务器,这将成为初始安装文件和服务。本指南假定它也是Ubuntu。当然也可以使用其他操作系统,但是命令显然会有所不同。

脚步

  1. 确保在目标BIOS中启用网络引导

    进入BIOS通常是通过按住或按住DelF2启动计算机来完成的。另外,按下F12通常可以以某种特定于供应商的方式更改引导顺序,这可能会有所帮助。

  2. 找出以下值:

    (您可能希望浏览/更改路由器上的DHCP设置以找出其中的一些设置。此外,如果在引导目标计算机时设法进入Network Boot阶段,则它可能至少会显示MAC地址,因此您可以记下来。)

    • 目标的MAC地址 -它的网卡的性能,
    • 目标的IP地址 -被分配给它的路由器
    • 网关IP -换句话说,路由器的IP,
    • 子网/网络掩码 -通常是在发现源的和/或路由器的网络设置。
  3. 主机上安装并配置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上面显示的路径不同,请相应地调整此步骤和下一步中列出的命令中的值。

  4. 同样在主机上安装,配置和运行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
    
  5. 重新启动目标计算机,同时确保启用了网络启动功能(F12如果需要,请按,否则按,或按BIOS要求的其他任何键)。

    基于文本的交互式Ubuntu 18.04安装程序应立即在目标计算机上启动。就像正常安装Ubuntu一样继续。

  6. 附加:为安全起见,在完成安装后,您应确保将目标BIOS中的网络启动功能切换回禁用状态。

希望这可以帮助!


0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.