答案1
您可以使用预建虚拟机以获得相同的效果。创建、自定义然后保存为您的基本模板。就像您使用具有首选设置(字体、页面设置等)的空白办公文档一样,您可以创建一个虚拟机(使用任何虚拟化技术),当您需要新实例时,您可以轻松复制和自定义它。多年来,我有一个针对不同版本和风格的 Linux、Windows 和 Macintosh 的基本操作系统库。
答案2
您可以简单地创建一个光学成像使用 VirtualBox 应用程序,然后多次导入:
- 创建符合您所有偏好的虚拟机 - 安装您喜欢的软件(例如,顶部)并根据您的需要进行配置(例如,启用无密码 sudo,设置
UseDNS No
为/etc/ssh/sshd_conf
加快登录速度,并在 中设置较小的超时时间/boot/grub/grub.cfg
)。 - 安装 SSH 服务器并上传你的 SSH 密钥。
- 在 Linux 上,运行
sudo rm -rf /etc/udev/rules.d/
以删除持久网络名称关联(否则,您必须重新配置网络)。 - 关闭机器(您可能需要先删除一些缓存,以减少机器尺寸)。
- 导出虚拟机,可以通过 GUI 使用“文件”->“导出设备”或使用
VBoxManage export VM_NAME -o ./myvm.ova
您现在可以根据需要随时导入创建的 ova 文件(使用文件 -> 导入应用程序或VBoxManage import
每次执行此操作时,VirtualBox 都会生成一个新的 VM 名称并允许您更改基本参数(CPU、RAM 大小、连接的磁盘等)。
但是,您必须手动编辑 ssh 端口转发规则。您可以使用以下脚本轻松完成此操作:
OVA=vm.ova # Change this to the name of your ova file
VM_NAME=$(VBoxManage import "$OVA" | sed -n 's#.*VM name "\(.*\)".*#\1#p')
sshport=$(python -c 'import random;print(random.randint(1025,65535))')
VBoxManage modifyvm $VM_NAME --natpf1 ssh,tcp,127.0.0.1,$sshport,,22
/bin/echo -e "\nHost vbox-$VM_NAME\n\tHostName localhost\n\tPort $sshport\n" \
>>~/.ssh/config
echo "Start the VM with VBoxManage startvm $VM_NAME"
echo "Then, type ssh vbox-$VM_NAME to log in to your VM"
现在,您可以使用 ssh 进入计算机ssh vbox-$VM_NAME
。如果要部署计算机,必须手动更改更改 SSH 服务器密钥。
除了导出和导入之外,您还可以克隆现有的机器。