拒绝手搓系统!Ubuntu 26.04自动安装实战:让电脑自己“卷”起来

我们已经演示了最新的Ubuntu 26.04 LTS桌面版系统的图形化安装方式(Ubuntu 26.04桌面版部署),也演示了服务器版系统的安装方式(仅占752MB内存!Ubuntu 26.04 Server版上手:这才是服务器该有的样子!)。对于这种手动档安装攻略,不少小伙伴直呼:技术太硬,手太酸。

因为技术水平有限,有些用户并不能独立快速完成Ubuntu系统的部署。当然,对于追求效率的极客或者需要批量下饺子的运维老兵来说,一遍遍点鼠标简直是挥霍生命。这时候,如果有一个能够自动完成安装部署的系统镜像,让用户插上U盘就能自动执行部署操作,全程不用人工干预,泡杯咖啡的功夫,系统就自己跑通了,那该多轻松啊,就像下面这个视频展示的一样。

当然,对于KVM环境,我们直接挂载镜像并启动虚拟机,然后静静等待安装完成即可,既不用连VNC,也不用连串口,岂不是美滋滋。

那这个ISO安装镜像是如何定制的呢?今天,我们参考之前的自动安装配置参考手册(解锁Ubuntu高效部署!自动安装配置文件YAML全解析),还有Ubuntu 24.04服务器版系统的定制过程(插上U盘自动装系统?一文掌握Ubuntu服务器版自动安装镜像制作),尝试实现这套无人驾驶的自动安装方案。同时看看Ubuntu 26.04 LTS系统,相比之前系统有哪些变化。

按照我们以往的经验,首先要注意:自动安装文件autoinstall.yaml使用YAML格式,对缩进格式要求极高,少一个空格,系统就可能给你表演一个原地罢工,千万不要搞错了。

其次,配置文件中需要重点关注我们在部署过程中做了选择、做了改变的选项。回顾一下:

第1步,语言我们选择的是默认的【English】,没做调整。

第2步,键盘布局,我们使用的是默认的跟English配套的【English(US)】,没做调整。

第3步,安装类型我们依旧使用默认的【Ubuntu Server】,不作调整。

第4步,使用自动安装系统时,网络配置不建议使用静态IP地址。所以,网络设置我们直接使用默认的DHCP就可以了,不作调整。

第5步,默认情况下也不需要配置网络代理,不作调整。

第6步,配置APT软件源,默认的软件源有可能因为在国外影响使用。

所以,这里我们可以使用显式配置方式指定软件源,如https://mirrors.tuna.tsinghua.edu.cn/ubuntu/。在使用自动配置参数apt指定时,示例如下:

autoinstall:
apt:
primary:
– arches: [default]
uri: http://mirrors.tuna.tsinghua.edu.cn/ubuntu/
第7步,存储设备选择这里,如果只有一块存储盘,则无需调整。

第8步,默认情况是只使用一半的存储空间,需要显式指定为使用全部磁盘空间。

所以,在使用自动配置参数storage指定时,我们配置direct直接使用整个磁盘,不留空闲空间,类似于LVM全分配。示例如下:

autoinstall:
storage:
layout:
name: direct
第9步,设置账户信息,这里需要配置一个非root用户。

需要注意的是,在使用自动配置参数identity指定时,密码不能使用明文,需要使用whois包中的mkpasswd或openssl passwd工具来生成加密密码。比如使用openssl passwd计算tt@2025.的加密密码。

root@tt:~# openssl passwd tt@2025.
$1$XdP.XBYr$yXkHTxen28g3t74wNJ6N40
然后我们将得到的密码和系统的主机名ttserver、用户名tt一块,写入到autoinstall配置中:

autoinstall:
identity:
hostname: ttserver
password: “$1$XdP.XBYr$yXkHTxen28g3t74wNJ6N40”
username: tt
第10步,启用Ubuntu Pro这里,默认选项就是跳过,不作调整。

第11步,OpenSSH可是服务器的灵魂窗口,我们需要手工配置。

对应的,在配置自动配置参数ssh指定时,我们可以指定安装SSH服务器,并直接指定允许使用密码认证。

autoinstall:
ssh:
install-server: true
allow-pw: true
第12步,安装其他软件包,默认都没有选择,不作调整。

在图形化安装过程中,完成上面的操作就可以等待系统安装完成了,最后一个操作是选择【Reboot Now】执行重启操作。对应的,自动配置参数shutdown的默认值是reboot,表示安装完成后,请求系统自动重新启动,所以我们就不用单独配置了。

既然是定制,那就得整点私货,我们还可以指定一些额外的系统参数。

比如,我们想在部署时指定系统的时区为【Asia/Shanghai】,同时禁用内核崩溃转储(Kdump),节省磁盘和内存(用轻量应用服务器的注意了,0.5GB内存的规格请谨慎使用)。可以写入以下配置:

autoinstall:
timezone: “Asia/Shanghai”
kernel-crash-dumps:
enabled: false
同时,因为默认软件包调整,我们想让系统默认安装一些软件包,比如openVPN、WireGuard等,则可以写入以下配置:

autoinstall:
packages:
– openvpn
– wireguard
当然,我们也想让系统自动调整root用户配置,强制修改root密码;并允许使用密码进行SSH登录,则可以写入以下配置:

autoinstall:
user-data:
chpasswd: {list: “root:tt@2025.”, expire: False}
runcmd:
– sed -i ‘s/#PermitRootLogin prohibit-password/PermitRootLogin yes/’ /etc/ssh/sshd_config
– systemctl restart ssh
这就完了吗?考虑到上次我们介绍的KVM配置(手搓KVM虚拟化!Ubuntu 26.04 + KVM 7.0.0,告别VMware的低成本玩法),我们还可以使用late-commands强制将新系统的GRUB也配置为支持串口输出,方便以后通过virsh console进行连接。

autoinstall:
late-commands:
– curtin in-target — sed -i ‘s/GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT=”console=tty0 console=ttyS0,115200n8″/’ /etc/default/grub
– curtin in-target — update-grub
把前面这些自动配置参数整合到一起,就得到了自动配置所需的autoinstall.yaml文件了。

cloud-config

autoinstall:
version: 1
identity:
hostname: ttserver
password: “$1$XdP.XBYr$yXkHTxen28g3t74wNJ6N40”
username: tt
storage:
layout:
name: direct
network:
network:
version: 2
ethernets:
en_all:
match:
name: “en” dhcp4: true ssh: install-server: true allow-pw: true apt: primary: – arches: [default] uri: http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ packages: – openvpn – wireguard kernel-crash-dumps: enabled: false timezone: “Asia/Shanghai” user-data: chpasswd: {list: “root:tt@2025.”, expire: False} runcmd: – sed -i ‘s/#PermitRootLogin prohibit-password/PermitRootLogin yes/’ /etc/ssh/sshd_config – systemctl restart ssh late-commands: – curtin in-target — sed -i ‘s/GRUB_CMDLINE_LINUX_DEFAULT=./GRUB_CMDLINE_LINUX_DEFAULT=”console=tty0 console=ttyS0,115200n8″/’ /etc/default/grub
– curtin in-target — update-grub
最后,将这个文件拷贝到安装镜像的根目录下,你就能跟我一样实现Ubuntu系统的自动化部署了。

经过测试,在嵌套虚拟化环境下,从开机到部署完成,一共用时767秒。

登录新装的系统,检查系统配置,openVPN和WireGuard都已经成功安装,切换到root用户提权,密码设置也都安排得明明白白,完全符合预期。

测试SSH远程登录,一切顺利。

怎么样?你刷个短视频的时间,一台预装了VPN软件、配好了SSH和用户密码、调优了内核参数的Ubuntu 26.04服务器就脱颖而出了。

此时此刻,你只需要动动手指,就能复刻这套全自动流水线,也可以根据自己的癖好随意魔改。技术的终极奥义不是卷工作量,而是卷效率,把人从重复劳动中解放出来,去摸鱼、去喝咖啡、去思考更有深度的问题。

声明:来自铁军哥,仅代表创作者观点。链接:https://eyangzhen.com/7844.html

铁军哥的头像铁军哥

相关推荐

添加微信
添加微信
Ai学习群
返回顶部