今天 Ubuntu 20.04 LTS 发布了,因此在一个闲置的云服务器上尝尝鲜,顺便换掉让人不爽的阿里云魔改版系统。
准备工作:记录网络参数
备份好数据,记录 IP 地址、子网掩码、网关地址 。现在阿里云已经启用了内网 DHCP,如果没有特殊清空应该可以自动配置 IP 地址,但是为了防止内网 DHCP 失灵(毕竟阿里云没有官方文档说明内网 DHCP 的存在),因此还是进行一下备份。
1 | # route -n |
下载 Netboot 镜像
首先下载 Ubuntu 镜像,由于阿里云轻量用用云服务器不支持自定义镜像,所以使用 Netboot 镜像的方式安装比较方便。
1 | mkdir /boot/ubuntu-focal && cd /boot/ubuntu-focal |
下载完成后,需要将 NetBoot 文件加入 GRUB 引导。编辑 /etc/grub.d/40_custom
文件,在文件末尾加入:
1 | menuentry "Ubuntu 20.04 LTS Server Netboot Installer" { |
由于阿里云默认的系统在引导时加载了 PNG 背景图片,在 VNC 连接时会花屏,还需要禁用 GRUB 的图形模式。编辑 /etc/default/grub
文件,修改或添加以下配置:
1 | GRUB_TIMEOUT_STYLE=menu |
完成后,**不要忘记执行 update-grub
**。接着就可以重启服务器了。
1 | update-grub && reboot |
安装流程
启动服务器,使用阿里云控制面板的“救援连接”功能打开 VNC。GRUB 会自动停止在选择操作系统页面。选择 Ubuntu 20.04 LTS Server Netboot Installer
启动即可。接下来的安装流程就和正常安装 Ubuntu 一样了。
选择语言,虽然现在中文的 bug 比较少了,但是由于中文系统的报错信息也是中文,导致在搜索解决方案的时候存在一些不便,因此将语言设置为英文。
选择区域,这个区域也决定了系统的时区,因此我们选择东八区的香港。
选择键盘布局,不要使用自动探测,手动选择美式键盘。
顺便吐槽一下 Ubuntu 的键盘布局探测功能,步骤又多又麻烦,还不如直接选择键盘布局来的快。
一路 Continue,出现配置 hostname 页面(如下),表示可以成功配置网络。如果不能配置网络,会要求你手动输入 IP 地址等信息,输入之前记录的 IP 地址、子网掩码和网关地址即可。
随后配置 APT 软件源,阿里云有内网镜像,不占用出站流量,因此使用阿里云内网的镜像即可。
首先选择手动配置镜像:
然后输入镜像地址。阿里云内网镜像的地址是:mirrors.cloud.aliyuncs.com
,不用加 https
,不用加后缀。
配置用户名和密码。注意第一步让你输入的是用户全名(可以包含空格等字符)而不是用户名。第二步才是输入 UNIX 用户名。
分区,直接使用整个分区即可。
这一步是选择软件自动更新,服务器还是稳妥一点,不要自动更新了。
安装软件包,因为是服务器就只选 OpenSSH Server 和 Basic Ubuntu Server 了。
注意:一定要选上 OpenSSH Server,否则出了问题只能回滚重装了!
安装 GRUB,选是即可。
设置 UTC,依然选是即可。
安装完成,重启服务器。
安装后配置
安装后启动,VNC 会变成紫屏,卡住:
此时使用左上角的“发送远程命令”切换到 TTY 即可:
可以看到 TTY 变成金色的了(哇,金色传说):
和之前一样,安装新系统后依然要禁用 GRUB 的图形模式,防止 GRUB 花屏。编辑 /etc/default/grub
文件(新系统默认不是 root 了,不要忘记加 sudo
!),修改这一行:
1 | GRUB_TERMINAL=console |
然后重启服务器:
1 | sudo reboot |
接下来要配置 ssh,首先去阿里云控制台的防火墙,把 22 端口放通。由于换了服务器,要清除本地 known_hosts
里的相关记录,我这里就直接删除整个 known_hosts
了。
1 | rem 在 Windows 命令行中操作 |
使用 ssh 进入服务器,生成一个随机高位端口:
1 | $ echo $((RANDOM % (65535 - 30000) + 30000)) |
上面这个端口不是服务器实际使用的端口,不用试了,连不通的。编辑 /etc/ssh/sshd_config
,修改一下行:
1 | Port 62630 # 就是之前随机 roll 那个端口 |
重启 OpenSSH Server:
1 | sudo service sshd restart |
然后启用 UFW:
1 | sudo ufw allow 62630 |
体验新版软件
1 | $ lsb_release -a |