在云服务器上安装最新版 Debian 系统
本文主要介绍如何在云服务器上安装最新版本的官方 Debian Linux。
引言
由于各大云服务器厂商(尤其是国内云服务器厂商)对系统镜像的更新较慢,并且其镜像经过厂商的修改。作为一个热爱纯净、有点洁癖的人来说,这显然是无法接受的,于是便有了这篇文章。
前置条件
- 服务器的虚拟化架构需是 KVM 或者 XEN 等可以更换内核的架构(当然,裸金属服务器也是可行的)。
- 你需要有完整的 root 权限
- 云服务器厂商提供了类似 VNC 的功能
保存主机的相关信息
我使用的服务器是腾讯云轻量应用服务器,配置为 1 核心 CPU、2 GB 内存、60 GB 硬盘,操作系统为 Debian Linux 10.2。理论上只要是使用 GRUB 作为引导程序的系统都可以,但是我并没有在 Cent OS 等其它 OS 上尝试过,不确保是否可以使用此方法。
由于腾讯云对轻量应用服务器提供了 DHCP,所以我几乎不需要保存多少信息,但是如果你使用的服务器的厂商并没有提供 DHCP 等服务(例如 CloudCone),则需要备份 IP、DNS 和其它你认为需要保存的信息。
备份内网软件源地址
cat /etc/apt/sources.list
这是我的回显:
deb http://mirrors.tencentyun.com/debian buster main contrib non-free
# deb-src http://mirrors.tencentyun.com/debian buster main contrib non-free
deb http://mirrors.tencentyun.com/debian buster-updates main contrib non-free
# deb-src http://mirrors.tencentyun.com/debian buster-updates main contrib non-free
deb http://mirrors.tencentyun.com/debian-security buster/updates main contrib non-free
# deb-src http://mirrors.tencentyun.com/debian-security buster/updates main contrib non-free
# deb http://mirrors.tencentyun.com/debian buster-backports main contrib non-free
# deb-src http://mirrors.tencentyun.com/debian buster-backports main contrib non-free
# deb http://mirrors.tencentyun.com/debian buster-proposed-updates main contrib non-free
# deb-src http://mirrors.tencentyun.com/debian buster-proposed-updates main contrib non-free
备份 IP、DNS 等网络配置信息
ip -c ad
cat /etc/resolv.conf
这是我的回显:
# ip -c ad
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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:7a:e1:19 brd ff:ff:ff:ff:ff:ff
inet 10.0.4.10/22 brd 10.0.7.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe7a:e119/64 scope link
valid_lft forever preferred_lft forever
# cat /etc/resolv.conf
nameserver 183.60.83.19
nameserver 183.60.82.98
找到安装 GRUB 的分区
lsblk
这是我的回显:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 141.2M 0 rom
vda 254:0 0 60G 0 disk
└─vda1 254:1 0 60G 0 part /
可以看到我的这台腾讯云的轻量服务器只有一个 /
分区。那么就可以判断出 GRUB 是安装在 /
分区内的。所以当我们处于 GRUB 引导界面时,它的起始分区为 /
。
下载内核文件和 Initrd
在确定了 GRUB 安装的位置后,我们进入 /
分区(也就是 GRUB 的安装分区),并下载内核文件和 Initrd(临时根文件系统),需要下载在 GRUB 的安装分区内,如果你的 GRUB 安装分区为 /boot
,那就将第一步的命令改为 cd /boot
。
由于我使用的是腾讯云轻量服务器,所以我是直接从腾讯云自建的内网源获取的文件,以下的下载链接请根据自己的情况修改。
cd /
wget http://mirrors.tencentyun.com/debian/dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz
wget http://mirrors.tencentyun.com/debian/dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux
延长 GRUB 引导界面的等待时间
有时云服务厂商定制的系统镜像会更改 GRUB 引导界面的等待时间,我们需要将其延长以便我们来得及进行操作。
vim /etc/default/grub
update-grub
将此文件中的 GRUB_TIMEOUT=
后面的值改为 10 或者更长时间(单位为秒)。
重启
reboot
进入 GRUB 命令行模式
当我们进入 GRUB 引导界面后,按 c 键,即可进入 GRUB 命令行,如下图。
输入以下命令以指定需要启动的 Linux 内核和 Initrd。由于 GRUB 的起始分区为 /
,而我们的内核文件和 Initrd 文件也下载在了此分区,所以不用担心发生找不到文件的问题。
linux /linux
initrd /initrd.gz
输入以下命令以启动。
boot
如果一切正常,那么你现在就可以看到此时正处于 Debian Linux 的网络安装界面了。
详细的 Debian Linux 安装教程可以看此篇文章:通过网络启动的方式安装 Debian