服务器安装全新 Ubuntu 18.04

Ubuntu 18.04 Bionic Beaver 已经在 2018 年 04 月 27 号发布,而很多云厂商甚至都还没更新系统模板(被打死,作为更新强迫症,决定亲自动手重新安装服务器的系统。

本教程在阿里云、腾讯云实测成功,下面拿阿里云来开刀。

0、环境准备

打开阿里云服务器管理控制台,在云主机实例列表中找到需要重装的主机,为避免出现各种奇怪的问题,建议重置系统为本文实验环境 ubuntu 16.04.4 LTS(或者 Debian 9)

然后点击远程连接

使用 ip route 命令列出当前网卡信息,记录下来(专有网络大概可以忽略)

1、下载系统安装文件

新建文件夹 /boot/netboot 并且下载两个 netboot 文件

mkdir /boot/netboot && cd /boot/netboot
wget http://mirrors.aliyun.com/ubuntu/dists/bionic/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux
wget http://mirrors.aliyun.com/ubuntu/dists/bionic/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz

2、更新 grub

修改 /etc/default/grub 如下

# /etc/default/grub
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=Ubuntu
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 console=ttyS0,115200 console=tty0 panic=5 crashkernel=auto"
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"

修改后执行 update-grub 生成新的 /boot/grub/grub.cfg

update-grub

然后加入 netboot 的引导项

cat >> /boot/grub/grub.cfg << EOF
menuentry 'Ubuntu 18.04 Installer' {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    linux /boot/netboot/linux
    initrd /boot/netboot/initrd.gz
}
EOF

3、进入安装

打开 vnc 页面,确保看到界面后,在 ssh 上运行 reboot 执行重启,当 vnc 界面显示启动项选择时,选择 Ubuntu 18.04 Installer 回车进入。

选择语言,通常直接选择 English

然后选择国家,因为这会关系到后面的时区设置,所以我们选择 other -> Asia -> China

编码直接选择 English 即可

出现 Detect keyboard layout 界面,保持默认回车几次即可

接下来会安装程序尝试获取 DHCP

如果你是经典网络,很有可能会出现下面的错误,所以我们手工配置一下 IP 即可

填入之前 ip route 看到的 IP、网关地址即可

填写主机名,起个萌萌的名字比如 metolwl 什么的

填写域名,通常不需要,直接回车

选择镜像地址,尽量选择服务器所在区域,不然后面你会为网速气得直跺脚的

当然也可以选择使用阿里云镜像 mirrors.aliyun.com

接下来就看网速了

填写用户名

填写密码

接下来会尝试校准时间,然后确认即可

询问硬盘分区方案,没有特殊需求就选择整块硬盘吧,这一步千万别选错

看清楚后确认即可

接下来就是漫长的安装了

你可以选择出去外面玩、跑步、遛METO狗、或者。。不出去

安装完毕后会询问是否自动升级,这里选不

询问需要装哪些软件,这里只选择 OpenSSH server

继续安装软件

同样,你可以选择出去外面玩、跑步、遛METO狗、或者。。不出去

继续使用 grub,万一两年后的今天还要升级 ubuntu 20.04 呢?

确认硬件时间

完成安装

4、大功告成

5、一些变化

内核更新到了 Linux kernel 4.15,这就意味着新增了不少特性 bbr什么的

网络管理工具 ifupdown 已经彻底废弃,建议全面拥抱 ip 命令

DNS 由 systemd 全面接管,接口监听在 127.0.0.53:53,配置文件在 /etc/systemd/resolved.conf,修改后重启服务即可 systemctl restart systemd-resolved。不要听网上那些奇怪的教程教你如何修改 /etc/resolv.conf

由 swap 文件来替代 swap 分区

python2 不再默认安装,这也将是最后一个支持 python2 的 LTS 版本

6、PPA

这里附上一些常用的 PPA/源

name url
PHP https://launchpad.net/~ondrej/+archive/ubuntu/php
nginx http://nginx.org/en/linux_packages.html#mainline
Redis https://launchpad.net/~chris-lea/+archive/ubuntu/redis-server
MySQL https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb

参考资料


本文采用 CC BY-NC-SA 3.0 Unported 协议进行许可
本文链接:https://i-meto.com/netboot-ubuntu-18-04/