0%

给服务器安装 ArchLinux

注:此处安装不太适合给没有 VNC 管理权限的服务器使用,装炸了难以排查问题

前言

之前学校的服务器是 CentOS ,分区是在 /dev/sda2 上又开了一层 lvm 分区,这种分区方式令我感觉十分不舒服,其中有个原因是根目录空间不够,但 /home 分区的空间又大得一坨,遂尝试删除并合并分区。swapoff 并删除+合并以后没问题,但保险起见将备份文件移至我的 NUC 上,改 /etc/fstab ,然后一重启,打不开机子,上面好像写着无法读取 /dev/centos/swap 分区。(不过我也不是很清楚到底哪里)正当我庆幸自己聪明机智有备份的时候,翻开 NUC 一看,里面几个大字写着

Backup.tar.gz.part

然后稍感事情好像不太对,最后费了一天时间来提里面的备份,好不容易提出来。

(小声BB一句,CentOS 的救援模式似乎没办法联网,所以都是情急下xjb弄的

(极限操作,开启 CentOS 光盘中的救援模式,挂载系统盘,提取备份文件至 /tmp ,删除分区,重新分区,分一个2G的盘给备份文件,剩下的直接开新分区)

Q: 系统都坏成这样了,为什么不直接装 ArchLinux?

因为 VMware vSphere 似乎无法挂载自己的 ISO 文件,得主机有这个 iso 文件才能用,

因为学生没有权限挂载自己的 ISO 文件

而之前还挂着 CentOS 的安装盘,所以就曲线救国,先装一遍 CentOS 再安装 ArchLinux。

正片

参考资料:https://wiki.archlinux.org/index.php/Install_Arch_Linux_from_existing_Linux

下载

直接前往镜像站(163)wget一手 archlinux-bootstrap-*-x86.64.tar.gz 到 /tmp 目录,解压至 /tmp

修改 mirrorlist

找到 China 的 163 源,取消注释

放置解析

为了防止等会装的时候删文件解析出问题,所以先

rm -f /tmp/root.x86_64/etc/resolv.conf
cp /etc/resolv.conf /tmp/root.x86_64/etc/

进入 chroot

记得确认 Bash 版本是否 ≥ 4

/tmp/root.x86_64/bin/arch-chroot /tmp/root.x86_64/

注:我在此处执行命令的时候出现了这个提示

unshare: unrecognized option '--fork'

解决方法很简单,更新一下 util-linux 就行了

yum update -y util-linux

初始化并验证 pacman 密匙环

pacman-key --init
pacman-key --populate archlinux

新安装的 CentOS 跑这个特别的慢,按照官方提示,你可以先安装一个 rng-tools

yum install -y rng-tools

挂载目录

将 /dev/sda2 挂载到 /mnt ,将 /dev/sda1 挂载到 /mnt/boot

mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot

删除外围文件夹,将除了 /proc /srv /sys /dev /opt /run /tmp(也就是没法删的)的文件夹都删了

感觉跟 rm -rf /* 差不多(

注意:请不要把 /tmp 文件夹给删了,不然这个 chroot 就直接炸掉

配置

接下来的操作就和 ArchLinux 安装笔记 所提到的差不多了,依次进行笔记所提到的开始安装和基础设置。但这个 VMware vSphere 好像默认是传统引导方式,所以中间的grub安装修改一下

pacman -S grub
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

就可以了

配置网络

注意,这个时候重启是没有网络的,所以要先提前配置好 sshd 和 systemd-networkd ,否则重启以后还要进 vnc 会有点麻烦,编译 /etc/systemd/network/20-wired.network

[Match]
Name=ens32 # 网卡名字

[Network]
Address=172.16.5.233/24 # IP 地址
Gateway=172.16.5.1
DNS=172.16.5.1

并执行

systemctl enable systemd-networkd
systemctl enable sshd

然后就可以重启了,尝试外部能否连接 ssh?

后言

正常来说,这个时候重启就基本能够出现高贵的 ArchLinux 字样了,

虽然过程很艰苦,但还是开心的

开心个屁啊,备份文件提不出来那几次差点被急哭了,还好有 U2 在一旁帮忙