在无头服务器上安装 Linux 或替代操作系统

在无头服务器上安装 Linux 或替代操作系统

问题简述:
如何在无头服务器上安装替代操作系统(首选 Debian)以及家庭媒体/数据服务器应使用什么操作系统。

我现在的问题是:

怎么做? 在救援模式下,服务器将通过 tftp 接受 PXE 启动映像。但从那时起,整个过程需要完全自动运行,直到服务器接受 ssh 登录为止,因为如果不拆开服务器并焊接 VGA 电缆,就绝对不可能将显示器连接到该服务器。

解决方案: 最后我使用了 PXE 预置启动...我将 preseed.cfg 打包到 initrd.gz 文件中,并通过 DHCP/TFTP 将所有内容推送到网络启动时的机器。

答案1

你所描述的是预置 PXE 安装。只需确保您正确填写种子文件(使用示例)否则安装将停止。

答案2

这里是一篇相当详细的文章(一年前),介绍了如何使用 Fedora(作为源和目标)来实现这一点。他通过告诉 pxe 映像连接到源计算机上的监听 vnc 客户端来实现这个技巧,这样它就可以通过网络与(图形)安装程序进行交互。

显然,Debian 不支持以这种方式使用 vnc,尽管我能找到的唯一来源拼写错误,并且来自嵌入式系统供应商。

不过,在不同的 Linux 安装中安装 Debian 也是完全有可能的。这个过程甚至被描述在一份看似官方手册

如果您选择尝试,我建议您先在虚拟机上尝试。

答案3

根据文章仅使用 SSH 安装 Debian

为了使此过程正常工作,应将无头机器设置为从 CD 启动。

A. 下载您的netinst cd 映像变体,例如:

wget http://cdimage.debian.org/debian-cd/6.0.4/i386/iso-cd/debian-6.0.4-i386-netinst.iso

B. 将 ISO 挂载到一个文件夹,我们称之为 isoorig

mkdir isoorig
mount -o loop -t iso9660 debian-6.0.4-i386-netinst.iso isoorig

C. 解压到名为 isonew 的新文件夹

mkdir isonew<br>
rsync -a -H –exclude=TRANS.TBL isoorig/ isonew

D. 更改菜单以默认在启动时加载 SSH

/isonew# nano isolinux/txt.cfg

删除:从“标签安装”中删除“菜单默认”
添加:

label netinstall
menu label ^Install Over SSH
menu default
kernel /install.386/vmlinuz
append auto=true vga=normal file=/cdrom/preseed.cfg initrd=/install.386/initrd.gz locale=en_US console-keymaps-at/keymap=us

变更:将“默认安装”改为“默认网络安装”

编辑以下两个文件,将“timeout 0”更改为“timeout 4”,以使其自动选择 netinstall

nano isolinux/isolinux.cfg
nano isolinux/prompt.cfg

E.创建preseed.cfg文件

nano isonew/preseed.cfg

F. 将其粘贴到预置文件中:

#### Contents of the preconfiguration file
### Localization
# Locale sets language and country.
d-i debian-installer/locale select en_US
# Keyboard selection.
d-i console-keymaps-at/keymap select us
### Network configuration
# netcfg will choose an interface that has link if possible. This makes it
# skip displaying a list if there is more than one interface.
d-i netcfg/choose_interface select auto
# Any hostname and domain names assigned from dhcp take precedence over
# values set here. However, setting the values still prevents the questions
# from being shown, even if values come from dhcp.
d-i netcfg/get_hostname string newdebian
d-i netcfg/get_domain string local
# Disable that annoying WEP key dialog.
d-i netcfg/wireless_wep string
# The wacky dhcp hostname that some ISPs use as a password of sorts.
#d-i netcfg/dhcp_hostname string radish
d-i preseed/early_command string anna-install network-console
# Setup ssh password
d-i network-console/password password install
d-i network-console/password-again password install

G.重新创建md5sum.txt文件

md5sum `find -follow -type f` > md5sum.txt

H. 创建你的新 iso 映像

mkisofs -o ../custom_install.iso -r -J -no-emul-boot -boot-load-size 4 -boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat ../isonew

镜像已准备好刻录。这将自动加载所有内容并转到 SSH 屏幕。

相关内容