我正在开发一些我想在各种Linux发行版上testing的软件,能够说我知道它适用于它们。 该软件通过USB和蓝牙与硬件设备连接,所以我宁愿在真实的硬件上而不是在虚拟机上使用它。
一种方法当然是下载我感兴趣的发行版,并将它们刻录到CD / DVD上,或者将这些文件复制到USB密钥上,并且我已经使用了两种方法来取得良好的效果。 我用得上的U盘只有512 MB,而且我可以根据需要随机安装OS安装程序,但我担心我会开始复制文件,分散注意力,稍后再回来安装OS。 我真的很想开始,忘记它。 (不可否认,我希望不得不input一个用户帐户,主机名,时区等)。
通过局域网启动PXE对我来说是有意义的。
我所看到的大部分指令都是build立你自己的DHCP服务器,并且使用它来代替任何设备发送DHCP地址,或者把它放在它自己的小型局域网上。 我想离开我现有的DHCP服务器运行*,我也想要安装的计算机能够从互联网**获得更新。 我遵循了一些关于使用dnsmasq来做到这一点的指示,并遇到了困难。 (我现在没有确切的步骤,这可能会走上错误的道路,如果这是一个好的方法,我会很乐意提供进一步的细节)。 ,我看到有很多可能性,从红帽的kickstart到gPXE。
我应该指出,我并不是真正意义上的机器 – 我只是想把不同的发行版放在光盘上,可以这么说,而不是像调整企业桌面的方式。 (作为一名Macpipe理员,我经常设置金主,并制作了硬盘的磁盘映像,然后通过networking复制出来,或者使用基本的操作系统映像并添加了软件包。因为在这里更类似于通过LAN提供安装程序,而不是完整的驱动器映像)。
我还想补充一点,我不反对有一个告诉计算机的启动介质(USB,DVD):“这是服务器,询问它安装了哪个操作系统”。 同样,能够同时运行两台或三台计算机(是的,小规模的,但是n> 1)是一个优点,这也是我认为通过networking来做这件事的另一个原因。
有没有人有关于如何快速,轻松地将不同的Linux发行版部署到testing机器的build议,例如,一旦设置好了,我就可以开始安装机器,稍后再回来testing它们的软件? (它并不一定要通过networking,但经过一次性设置后,这似乎是最简单的方式给我)。
*我正在testing我的家庭networking,而我的有线调制解调器/无线基站则提供DHCP地址。 我知道我可以把它关掉,让其他电脑做,但我一直没有在家里24/7运行一个盒子,这似乎是愚蠢的,只为DHCP。
**这使得使用一个更小的,独立的networking更加棘手,除非我桥接两个networking,并且没有两个NICS用于一个盒子,这听起来像比我希望花费更多的努力。 实际上,我可以将操作系统安装在一个单独的networking上,然后将其移动到networking上,并实时访问互联网,但这与启动并忘记相反。
正如你所提到的,PXE是我为你所谈论的事情而运气非常好的。 你投入工作的扳手是你不想改变你的DHCP服务器…这意味着在系统上的股票PXE是不会工作的,因为它会期望DHCP服务器给它一个“下一个服务器”和“文件名”属性(PXE客户端用于引导)。
所以,你需要做的是抓住gPXE或iPXE(gPXE的替代品),并定制它包括“下一个服务器”和“文件名”属性,然后将其刻录到USB或CD并从中启动。 这将允许你给这些属性,而不必让DHCP服务器把它们交出来。 这在embedded式脚本的iPXE网页上有logging。
那么你需要build立一个TFTP或HTTP服务器(gPXE / iPXE将支持HTTP,股票PXE往往只支持TFTP)。 该服务器提供启动和安装所需的文件。 我喜欢用菜单文件来获得所有的幻想和连锁“pxelinux.o”。 Linux杂志似乎在PXE菜单上有一篇很好的文章 ,第2页正在讨论菜单。 我为每个发行版(Fedora,CentOS,Ubuntu)和一些实用程序(memtest)设置了菜单,然后这些菜单有版本select(Hardy,Lucid,32位,64位),那么这些菜单有select用于“安装”和“救援”,或者“服务器”与“桌面”。
input链接描述hereBoot.FedoraProject.org服务器可以是有用的,你可以指向你的iPXE最初,或使用它的指示,得到它的味道,然后拉下你所需要的,并添加其他发行版。
如果你真的想自动安装,所以你可以select一个菜单项,然后让它从那里接pipe,你需要使用“预置”(基于Debian的)或kickstart(基于Fedora的),你可以告诉安装程序到底该做什么,包括格式化光盘(危险:-),软件包,configuration等…
PXE实际上并不那么难,它使得许多这样的事情变得如此简单。 我已经运行了近10年的PXE服务器,而且我很less刻录媒体。 另外,从大型networking服务器上拔下的networking比从中安装的CD或DVD更快。 CentOS安装花费3分钟的情况并不罕见。
像其他人一样,使用PXE + DHCP有巨大的优势
但是有很多手动步骤可以完成“完成”PXE + DHCP部署。 你需要做一些脚本,pipe道录音到你想要的地方。
您可以使用现有的PXE / DHCP自动化工具,而不是尝试将自己的解决scheme放在一起。 因为如果您推出自己的解决scheme,您将无法利用开源工具提供的新function。
像Cobbler ,负责pipe理几个手动任务,如DHCPlogging添加,TFTPconfiguration,kickstart模板等
Foreman是另一个同样用途的伟大工具。 它有一个不同的方法来解决同样的问题,并且与Puppet有很深的整合(Puppet with Foreman的使用并不是强制性的,但有帮助)。您需要Foreman-Proxy组件来为您处理DHCP / TFTP。 这里是Foreman提供虚拟机的屏幕截图,但这同样适用于物理主机。 另一个安装指南 。
随着一切就绪,安装服务器成为一个非常简单的任务与鞋匠或工头。 他们有API,所以你可以编写一些剩余的手动任务。
完成所有这些设置可能需要一些时间,但是一旦你这样做,你就可以自由地专注于你的主要任务。
我听说过有关皮匠的好消息。
它的目标是尽可能地自动化安装,并实现紧密的pxeboot集成,并为PXE的使用configurationTFTP,DHCP等方面的繁重工作。
当你把它设置为基本的使用,它也有一个很酷的cobbler import
命令,从CD / DVD汲取发行,并准备好使用。
为什么不使用虚拟机呢? 这将比DHCP服务器和重新映像服务器更方便。 即使你采用pxe路由,与虚拟化相比,也需要更多的努力。 我build议你评估你的要求,如果可行的话考虑VM方法。
Virtualbox是免费的。