使用腾讯云轻量应用服务器安装 ArchLinux

0、简介

本人使用腾讯的轻量应用服务器,但是发现选择轻量云的最低配置时,使用常用的发行版作为服务器时,系统服务较多会导致资源占用较大;而 ArchLinux 可以高度自定义,只安装自己需要的组件,不需要的组件就不安装,尽可能的减小系统资源占用。且,在系统出现 Kernel Panic 的情况时,可以保留所有数据修复系统,其他发行版可能就需要重装系统。

但是腾讯轻量应用服务器没有提供 ArchLinux 的镜像,所以我尝试自己安装ArchLinux,并且记录完整的流程。

1、要求

服务器平台必须支持 VNC 控制或者类似功能(例如 PVE 控制面板),腾讯云就支持 VNC 控制,如图:

腾讯云 VNC 登录

阿里云的轻量云服务器的 VNC 控制的位置和腾讯云不同,阿里云的 VNC 叫作"救援模式",并且需要先设置VNC密码。

如果是使用其他厂家的服务器,只要能 VNC 控制服务器就可以安装 ArchLinux 系统。

系统建议使用 Ubuntu 或 Debian,大部分的厂家都会提供这两个系统。经多次测试,使用 CentOS 在调整分区时会出现问题,所以不建议使用。

2、原理

修改硬盘分区,在原有硬盘的后方加上一个分区,用来存放Archlinux Live系统的文件,重启后通过grub引导进入Live系统进行安装

3、安装

3.1、修改硬盘分区

首先需要检查现在的分区情况:

Bash
1
fdisk -l

分区情况

从图中可以看出,现在这块硬盘的名称是 vda,一般服务器的虚拟磁盘都是使用 vda 命名,如果有不一样请自行辨别。

Disklabel 这一行可以看出当前分区表结构是 dos,也就是 MBR,那么就是使用传统 BIOS 引导;如果看到是gpt,那么就需要使用 UEFI 引导。

注意:
这里使用 parted 调整分区大小,如果你输入了 parted 提示找不到指令,就需要先安装 parted 软件包。

安装方法:

Ubuntu/Debian:

Bash
1
2
sudo apt update
sudo apt install parted

CentOS/REHL:

Bash
1
sudo yum install parted

安装成功后开始调整分区。先将分区缩小,大约缩小1-2G就可以了;

查看分区

图中划红线的部分是需要输入的,End 后面输入的值根据方括号中的值计算,我这里提示 [42.9GB],减小 2G 并且取整,就填入40GB

修改完成后输入 quit 退出 parted

退出

接下来使用 fdisk 创建一个新的分区:

Bash
1
fdisk /dev/vda

进入 fdisk 后,输入 n,然后多次按回车直到提示:

Created a new partition ...

创建分区

创建完成后,输入 w,按下回车,将更改写入磁盘:

保存分区

写入完成后,不用格式化这个分区,在下一步我们写入一个镜像就可以了。

3.2、写入镜像

首先下载镜像:

Bash
1
wget https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/latest/archlinux-x86_64.iso -O archlinux.iso

下载镜像

下载完镜像之后,需要将镜像写入到我们创建的分区中,填写目标设备时一定要仔细确认,防止刷错分区导致无法引导;该步骤会因为硬盘性能影响需要的时间,时间比较久的话请耐心等待。

Bash
1
dd if=archlinux.iso of=/dev/vda2 status=progress

写入分区

3.3、修改引导配置文件

写入完镜像后,我们需要使服务器能引导进入这个镜像,而腾讯云的 grub 默认会进入当前的系统,并且很难进入 grub 终端,那么就需要修改 grub 配置文件使其不引导进当前系统:

Bash
1
vim /boot/grub/grub.cfg

向下翻页,找到 menuentry 开头的部分:

引导配置

将下方的 linuxinitrd 注释,这样就可以不自动引导:

注释配置

修改完成后,输入 :wq! 保存并退出,注意这个文件提示只读,所以需要加上 ! 符号强制写入,完成后就可以输入 reboot 命令重启系统。

3.4、使用 VNC 连接并引导

重启后进入服务器面板使用 VNC 连接服务器,稍等片刻后会出现 grub 菜单:

Grub 菜单

按下 C 进入 grub command 模式,并输入指令:

Bash
1
2
set root=(hd0,2)
source /boot/grub/grub.cfg

设置启动项

输入后没有报错就可以按下 Esc,这时 grub菜单中出现更多的选项:

更多选项

选择 ArchLinux 并回车,系统将会进行引导。

3.5、进入 Live 系统进行修改

稍等片刻后,就进入Live系统了:

Live 系统

在 VNC 中操作比较麻烦,所以可以使用 SSH 连接,首先需要设置 root 密码:

设置 SSH 密码

编辑 sshd 配置文件要设置允许 SSH 通过密码连接,

Bash
1
vim /etc/ssh/sshd_config

找到

PasswordAuthentication no

密码验证

no 修改为 yes,并保存退出:

密码验证

修改完后,重启 sshd 服务:

Bash
1
systemctl restart sshd

接下来就可以连接了,如果之前连接过,会警告远程主机公钥发生变化:

Text
1
2
3
4
5
6
7
8
9
10
11
12
13
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:xxxxxxxxx
Please contact your system administrator.
Add correct host key in C:\\Users\\SCH/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in C:\\Users\\SCH/.ssh/known_hosts:5
Host key for XX.XX.XX.XX has changed and you have requested strict checking.
Host key verification failed.

说明这个服务器的 SSH 公钥不在客户端的信任列表中,只需要删除信任列表即可。

Windows:

PowerShell
1
del .ssh\known_hosts

Linux:

Bash
1
rm .ssh/known_hosts

再次连接就可以进入了。

成功连接

3.6、设置系统分区

首先进入 fdisk

Bash
1
fdisk /dev/vda

Fdisk 页面

出现了红色的警告,意思是说当前硬盘正在使用,这个我们其实可以不用担心,因为我们正在用的就是后面的 Live 分区,而现在要操作的是前面部分的区域。

先删除原系统的分区,删除前请仔细确认,当前存镜像的分区在 Live 系统中千万不能删除:

删除分区

然后创建一个新的系统分区,分区大小为 硬盘总大小-5GB,我将分区设为 35GB

创建分区

然后创建一个交换分区,将剩余空间都分配即可:

分配空间

创建完后,建议修改分区类型,后期如果要编辑就可以更好的辨认:

修改分区类型

操作完成后,将更改写入硬盘:

保存更改

3.7、格式化分区并挂载

格式化系统分区:

Bash
1
mkfs.ext4 /dev/vda1

格式化

挂载系统分区:

Bash
1
mount /dev/vda1 /mnt

格式化交换分区:

Bash
1
mkswap /dev/vda2

启用交换分区:

Bash
1
swapon /dev/vda2

3.8、修改软件源

安装需要通过 pacman 获取软件包,一般需要修改镜像源加快下载速度,编辑配置文件:

Bash
1
vim /etc/pacman.d/mirrorlist

删除所有的镜像源,添加一个镜像源,保存并退出

Text
1
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

修改源

修改完后,需要更新镜像源缓存:

Bash
1
pacman -Syy

更新

然后安装系统软件包:

Bash
1
pacstrap -K /mnt base linux linux-firmware

安装软件

3.9、生成文件系统表

这个操作非常重要,fstab 用来自动挂载分区,不生成将会导致系统分区挂载异常:

Bash
1
genfstab -U /mnt >> /mnt/etc/fstab

3.10、进入新系统

这时候需要进入新系统的目录中进行配置:

Bash
1
arch-chroot /mnt

安装必要软件包:

Bash
1
pacman -S vim networkmanager dhclient openssh grub

然后配置新系统基本信息。

设置主机名:

Bash
1
vim /etc/hostname

在其中写入主机名,这里可以自定义。

设置语言生成配置:

Bash
1
vim /etc/locale.gen

找到 en_US.UTF-8 并取消注释,修改完成后生成语言:

Bash
1
locale-gen

设置系统语言:

Bash
1
vim /etc/locale.conf

写入内容:

Bash
1
LANG=en_US.UTF-8

接下来是启用系统服务。

启用网络服务,使机器可以联网;启用ssh服务器,使我们可以连接服务器:

Bash
1
2
systemctl enable NetworkManager
systemctl enable sshd

启动网络服务和 SSH 服务

然后修改 SSH 配置。如果需要通过 SSH 连接并使用 root 登录,就需要修改配置使 SSH 允许 root 登录:

Bash
1
vim /etc/ssh/sshd_config

Root 登录

找到 PermitRootLogin 这一行,取消注释,并将后面的值改为 yes

允许登录

这时候设置 root 密码。这一步很重要,如果不设置密码,就无法登录系统:

设置密码

安装 grub 引导并生成配置:

Bash
1
grub-install --target=i386-pc /dev/vda

安装引导

生成引导配置文件:

Bash
1
grub-mkconfig -o /boot/grub/grub.cfg

生成配置文件

到这里就已经安装完成了,接下来就可以重启进入新系统了

进入系统

稍等片刻,出现这个内容就是启动成功了

启动成功

使用腾讯云轻量应用服务器安装 ArchLinux

https://blog.tsinbei.com/archives/1748/

文章作者
SCH
发布于

2024-07-02

修改于

2024-07-02

许可协议

CC BY-NC-ND 4.0

评论

昵称
邮箱
网址
暂无