云主机手动安装最新版Debian 10系统

等了许久的Debian 10终于发布正式版了,但是各大云厂商都还没出Debian 10的系统模板,手痒又想升级到Debian 10系统试试,于是花了点时间折腾了下,过程并不复杂,而且在多个平台比如说阿里云、腾讯云、Vultr都成功安装了,这里记录一下,希望能给自己以及同样有需求的朋友提供一个思路。

开始之前

这里说的云主机手动安装,是指的在云主机已有系统的情况下,如果是裸机,建议使用ISO文件安装,或者先利用云厂商的系统模板安装好系统,Debian9或者CentOS7都可以,Ubuntu系列没试过,按道理最新的几个Ubuntu也支持,毕竟都是利用GRUB引导的。

准备工作

重装系统可能会导致云主机现有数据全部丢失,如果有重要数据的,建议先行备份再重装
因为有些云厂商比如国内的一些小水管主机都是提供内网镜像的,有些还是不提供DHCP的,需要安装过程自己手动配置IP及DNS等信息,基于如上考虑,我们安装之前最好是备份一下内网源镜像及IP及DNS信息,下面是相关命令。
当然,如果有DHCP服务,以及使用公网镜像,如下操作也可省略。

查看内网源镜像地址

root@AliyunSWAS:~# cat /etc/apt/sources.list
deb http://mirrors.cloud.aliyuncs.com/debian/ stretch main
deb-src http://mirrors.cloud.aliyuncs.com/debian/ stretch main
deb http://security.debian.org/debian-security stretch/updates main
deb-src http://security.debian.org/debian-security stretch/updates main
deb http://mirrors.cloud.aliyuncs.com/debian/ stretch-updates main
deb-src http://mirrors.cloud.aliyuncs.com/debian/ stretch-updates main

查看云主机IP及内网DNS等信息

查看IP地址、子网掩码、网关等信息:

root@AliyunSWAS:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:16:3e:0a:1f:f5 brd ff:ff:ff:ff:ff:ff
    inet 172.16.19.xxx/18 brd 172.16.xxx.255 scope global dynamic ens3
       valid_lft 315355236sec preferred_lft 315355236sec
    inet6 fe80::216:3eff:fe0a:xxx/64 scope link
       valid_lft forever preferred_lft forever

查看DNS信息:

root@AliyunSWAS:~# cat /etc/resolv.conf
nameserver 100.100.2.138
nameserver 100.100.2.136

下载安装所需文件

其实安装最新版Debian系统所需要的只有两个文件,基本上每个公网镜像都提供,直接登录SSH使用wget下载就行,保存位置随意,只要能记住路径就行,建议是/boot/或者/root/等。
国内云主机推荐阿里云镜像:

cd /boot/
wget http://mirrors.aliyun.com/debian/dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz
wget http://mirrors.aliyun.com/debian/dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux

国外可选镜像就多了,这里以Debian官方为例:

cd /boot/
wget http://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz
wget http://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux

开始安装

准备好引导文件之后,只需要登录云主机的图形化管理界面,阿里云是叫救援模式,腾讯云是VNC,Vultr直接叫Console,反正是能直接看到服务器的登录界面的就行。
登录之后,点击页面上发送的Ctrl+Alt+Delete或者到SSH里面执行重启命令使系统重启,然后迅速切换到云主机的图形化管理界面,在启动项倒计时结束之前按任意键使倒计时暂停,如图:
grub-choose-timeout.png
如果手速实在不够快,可以SSH进入系统修改下启动的timeout的值,让系统在启动界面多停留几秒。
然后上下键选择任意一个启动项,建议第一个,然后按e键进入编辑界面,进入之后,把除了第一行之后的内容全部删除,然后输入如下两行内容:

linux /boot/linux
initrd /boot/initrd.gz

如图:
grub-edit.png
输入完毕之后,按F10或者Ctrl+X就可以启动,如果有报错也没关系,根据错误提示进行修改就好。
如果一切正常,应该会来到如下图的安装界面,看到如下界面说明安装引导已经成功了:
manual-reinstall-debian.png
接下来就是和普通安装过程一样了,一步一步根据自己的需要进行安装就行了,没啥难度。
如果安装过程中自动获取IP及DNS出错,只需要手动输入上面备份好的IP及DNS等信息即可。
如果安装过程后悔想放弃,只需要在格式化硬盘这一步之前给云主机发送重启命令或者退出安装过程就行,只要不格式化硬盘,之前的操作是不会对现有的系统造成影响的。

安装之后

安装过程默认是不给自定义安装源的,安装之后记得把源仓库的地址改回原先系统的内网镜像地址,当然,如果是国外的大水管主机,改不改都不要紧。
其实这种方法不一定只能安装Debian 10,由于Debian官方经常更新这个引导镜像,利用这个方法,我们能安装最新的Debian稳定版系统。
对于有强迫症的朋友,可以用这个方法安装纯净版的系统,国内主机来说,还能完全去掉某些云监控程序,作用你懂的哈哈。