长话短说 - 我必须通过网络在 PC 上远程安装任意 Linux 发行版。这不是服务器,我将安装桌面环境。
问题是我无法实际接触这台机器,它也没有显示器、键盘或鼠标 - 所以我唯一能从机器那里得到帮助的人那里得到的帮助就是将它插入网络并打开。最重要的是,这台电脑是全新的,所以它没有现有的操作系统。
好的一面是,我可以通过 root SSH 访问与 PC 位于同一本地网络中的 Linux 服务器……
我该如何安装操作系统,同时远程完成整个过程?
提前致谢!
答案1
无论如何,您都需要现场进行物理干预,那么为什么不在启动机器之前请现场人员将 USB 密钥(由您准备,或使用您制作的 ISO 写入)插入机器呢?如果您使用监听 netcat 准备此密钥,那么您可以直接从网络写入 HD。
一旦启动 Live OS,它就会自动启动
nc -l 3000 | dd bs=1M of=/dev/sda
它还应该 ping 你的本地机器,这样你就可以猜出它的 IP。
获得 IP 后,您可以从本地机器运行:
dd bs=1M if=/images/myimage | nc remoteIP 3000; 结束命令
这会将 /images/myimage 直接转储到远程 /dev/sda。“end command” 是一个 sendmail 命令或任何可以向您确认操作已完成的命令。
您也可以执行相反的操作,在本地计算机上运行 netcat 作为服务器并从远程机器转储图像,这应该使绕过防火墙变得更容易。
它需要一台 DHCP 服务器和一个人来插入 USB 密钥,仅此而已。没有 PXE,没有(或很少有)惊喜。
答案2
这是一个难题。我认为最简单的方法是准备一个装有完整配置操作系统的硬盘,然后将其运送到远程位置,让他们将其安装到这台机器上。毕竟,这不是什么高深的科学,未经培训的人在适当的指导下也可以做到。
如果这不可能的话,你将要至少需要向该机器的 DHCP 服务器(next-server
和filename
)添加一些语句,以允许从 Linux 服务器通过 PXE 启动,以及从 DHCP 为机器添加一个静态 IP 地址。
之后,我将尝试通过 PXE 启动实时系统,并使用它来下载已安装系统的映像并将其放到磁盘上dd
或类似的东西上。
还应该可以为 CentOS(或 Fedora)准备一个 kickstart 文件,以便完全安装系统而无需任何交互(通过 PXE),但正确完成这项工作将花费大量时间。