注意:
这里使用
这里使用
parted
调整分区大小,如果你输入了 parted
提示找不到指令,就需要先安装 parted
软件包。本人使用腾讯的轻量应用服务器,但是发现选择轻量云的最低配置时,使用常用的发行版作为服务器时,系统服务较多会导致资源占用较大;而 ArchLinux 可以高度自定义,只安装自己需要的组件,不需要的组件就不安装,尽可能的减小系统资源占用。且,在系统出现 Kernel Panic 的情况时,可以保留所有数据修复系统,其他发行版可能就需要重装系统。
但是腾讯轻量应用服务器没有提供 ArchLinux 的镜像,所以我尝试自己安装ArchLinux,并且记录完整的流程。
服务器平台必须支持 VNC 控制或者类似功能(例如 PVE 控制面板),腾讯云就支持 VNC 控制,如图:
阿里云的轻量云服务器的 VNC 控制的位置和腾讯云不同,阿里云的 VNC 叫作"救援模式",并且需要先设置VNC密码。
如果是使用其他厂家的服务器,只要能 VNC 控制服务器就可以安装 ArchLinux 系统。
系统建议使用 Ubuntu 或 Debian,大部分的厂家都会提供这两个系统。经多次测试,使用 CentOS 在调整分区时会出现问题,所以不建议使用。
修改硬盘分区,在原有硬盘的后方加上一个分区,用来存放Archlinux Live系统的文件,重启后通过grub引导进入Live系统进行安装
首先需要检查现在的分区情况:
1 | fdisk -l |
从图中可以看出,现在这块硬盘的名称是 vda
,一般服务器的虚拟磁盘都是使用 vda
命名,如果有不一样请自行辨别。
从 Disklabel
这一行可以看出当前分区表结构是 dos
,也就是 MBR
,那么就是使用传统 BIOS
引导;如果看到是gpt
,那么就需要使用 UEFI
引导。
安装方法:
Ubuntu/Debian:
1 | sudo apt update sudo apt install parted |
CentOS/REHL:
1 | sudo yum install parted |
安装成功后开始调整分区。先将分区缩小,大约缩小1-2G就可以了;
图中划红线的部分是需要输入的,End
后面输入的值根据方括号中的值计算,我这里提示 [42.9GB]
,减小 2G 并且取整,就填入40GB
修改完成后输入 quit
退出 parted
。
接下来使用 fdisk
创建一个新的分区:
1 | fdisk /dev/vda |
进入 fdisk
后,输入 n
,然后多次按回车直到提示:
Created a new partition ...
创建完成后,输入 w
,按下回车,将更改写入磁盘:
写入完成后,不用格式化这个分区,在下一步我们写入一个镜像就可以了。
首先下载镜像:
1 | wget https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/latest/archlinux-x86_64.iso -O archlinux.iso |
下载完镜像之后,需要将镜像写入到我们创建的分区中,填写目标设备时一定要仔细确认,防止刷错分区导致无法引导;该步骤会因为硬盘性能影响需要的时间,时间比较久的话请耐心等待。
1 | dd if=archlinux.iso of=/dev/vda2 status=progress |
写入完镜像后,我们需要使服务器能引导进入这个镜像,而腾讯云的 grub
默认会进入当前的系统,并且很难进入 grub
终端,那么就需要修改 grub
配置文件使其不引导进当前系统:
1 | vim /boot/grub/grub.cfg |
向下翻页,找到 menuentry
开头的部分:
将下方的 linux
和 initrd
注释,这样就可以不自动引导:
修改完成后,输入 :wq!
保存并退出,注意这个文件提示只读,所以需要加上 !
符号强制写入,完成后就可以输入 reboot
命令重启系统。
重启后进入服务器面板使用 VNC 连接服务器,稍等片刻后会出现 grub
菜单:
按下 C 进入 grub command
模式,并输入指令:
1 | set root=(hd0,2) source /boot/grub/grub.cfg |
输入后没有报错就可以按下 Esc,这时 grub
菜单中出现更多的选项:
选择 ArchLinux 并回车,系统将会进行引导。
稍等片刻后,就进入Live系统了:
在 VNC 中操作比较麻烦,所以可以使用 SSH 连接,首先需要设置 root 密码:
编辑 sshd
配置文件要设置允许 SSH 通过密码连接,
1 | vim /etc/ssh/sshd_config |
找到
PasswordAuthentication no
将 no
修改为 yes
,并保存退出:
修改完后,重启 sshd
服务:
1 | systemctl restart sshd |
接下来就可以连接了,如果之前连接过,会警告远程主机公钥发生变化:
1 | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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:
1 | del .ssh\known_hosts |
Linux:
1 | rm .ssh/known_hosts |
再次连接就可以进入了。
首先进入 fdisk
:
1 | fdisk /dev/vda |
出现了红色的警告,意思是说当前硬盘正在使用,这个我们其实可以不用担心,因为我们正在用的就是后面的 Live 分区,而现在要操作的是前面部分的区域。
先删除原系统的分区,删除前请仔细确认,当前存镜像的分区在 Live 系统中千万不能删除:
然后创建一个新的系统分区,分区大小为 硬盘总大小-5GB
,我将分区设为 35GB
:
然后创建一个交换分区,将剩余空间都分配即可:
创建完后,建议修改分区类型,后期如果要编辑就可以更好的辨认:
操作完成后,将更改写入硬盘:
格式化系统分区:
1 | mkfs.ext4 /dev/vda1 |
挂载系统分区:
1 | mount /dev/vda1 /mnt |
格式化交换分区:
1 | mkswap /dev/vda2 |
启用交换分区:
1 | swapon /dev/vda2 |
安装需要通过 pacman
获取软件包,一般需要修改镜像源加快下载速度,编辑配置文件:
1 | vim /etc/pacman.d/mirrorlist |
删除所有的镜像源,添加一个镜像源,保存并退出
1 | Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch |
修改完后,需要更新镜像源缓存:
1 | pacman -Syy |
然后安装系统软件包:
1 | pacstrap -K /mnt base linux linux-firmware |
这个操作非常重要,fstab
用来自动挂载分区,不生成将会导致系统分区挂载异常:
1 | genfstab -U /mnt >> /mnt/etc/fstab |
这时候需要进入新系统的目录中进行配置:
1 | arch-chroot /mnt |
安装必要软件包:
1 | pacman -S vim networkmanager dhclient openssh grub |
然后配置新系统基本信息。
设置主机名:
1 | vim /etc/hostname |
在其中写入主机名,这里可以自定义。
设置语言生成配置:
1 | vim /etc/locale.gen |
找到 en_US.UTF-8
并取消注释,修改完成后生成语言:
1 | locale-gen |
设置系统语言:
1 | vim /etc/locale.conf |
写入内容:
1 | LANG=en_US.UTF-8 |
接下来是启用系统服务。
启用网络服务,使机器可以联网;启用ssh服务器,使我们可以连接服务器:
1 | systemctl enable NetworkManager systemctl enable sshd |
然后修改 SSH 配置。如果需要通过 SSH 连接并使用 root 登录,就需要修改配置使 SSH 允许 root 登录:
1 | vim /etc/ssh/sshd_config |
找到 PermitRootLogin
这一行,取消注释,并将后面的值改为 yes
:
这时候设置 root 密码。这一步很重要,如果不设置密码,就无法登录系统:
安装 grub
引导并生成配置:
1 | grub-install --target=i386-pc /dev/vda |
生成引导配置文件:
1 | grub-mkconfig -o /boot/grub/grub.cfg |
到这里就已经安装完成了,接下来就可以重启进入新系统了
稍等片刻,出现这个内容就是启动成功了
使用腾讯云轻量应用服务器安装 ArchLinux
评论