6 min read

Categories

  • Arch Linux

Tags

  • Arch Linux, VMWare Workstation Pro

再建Arch Linux

和 Arch Linux 的渊源纠葛

在大一入学后,我开始接触到了 Linux 操作系统,觉得这种命令行交互的方式很酷炫(程序员不就应该咔咔敲键盘吗)。但是最开始我也只知道 Ubuntu、Centos 这种发行版本,对于 Arch Linux 几乎没有了解过。恰好我有个学长在某一天无意间给我展示了他的桌面,酷似苹果的 UI 瞬间给我种了草(虽然桌面 UI 和发行版没啥关系),他的系统正是 Arch Linux。于是乎我就想开始尝试安装自己安装一下 Arch Linux,这个号称最难安装、可玩性最高、软件包维护方便的 Linux 版本。

其实在去年几乎同一时间,我已经在 VMWare Workstation Pro 上成功安装过 Arch Linux,但由于虚拟机性能有限,再加上当时只是无脑跟着教程走了一遍(虽然这遍也是跟着教程无脑走的),再加上当时 pacman 包给我留下了鱼龙混杂的印象,总的来说使用体验不如我另一台 Ubuntu20.04 的虚拟机。为了再体验一下 Arch Linux 的魅力(其实只是下午摸鱼,但弄得我头昏脑胀,已经远远超出摸鱼的范畴了),我今天就又尝试安装一个 Arch Linux 的虚拟机,给我将来刷物理机做准备。

好吧,不得不事先声明一下,其实今天安装失败了说是,属于是白忙活一下午,看到这里的读者已经可以退出了==

动机

除了上述原因之外,这两天在 Westlake University 的服务器上下 python 包的时候,连接 pypl 官方镜像很不稳定,网上常用的镜像源是清华源、中科大源、阿里源。但我突然想到,我们南大不也有镜像仓库吗,为什么我们南大学生清一色都是换的清华源或中科大源呢?本着物尽其用的原则,于是我就给服务器换上了南大源,让我自豪地挺起了胸膛。在浏览南大镜像仓库的时候发现还有对应的 Arch Linux 的软件仓库,这一下子勾起了我遥远的 Arch Linux 的回忆,所以我就想这次用南大镜像配一下 Arch Linux(很莫名其妙的动机了属于是)。

再次声明,本教程为失败教程,看到这里的读者已经可以退出了==

流程

镜像下载

南京大学镜像仓库中下载 Arch Linux x86-64 的镜像(南大人不就该用南大镜像仓库吗

验证镜像签名

这一步就先跳过了,好像是可有可无的步骤

虚拟机的创建

在 VMWare Station 中创建一个新的虚拟机,版本就选择图中的 Ubuntu 64 位。磁盘我直接分了 100GB,内存分配了 8GB,其余配置均是默认配置

虚拟机配置完成,启动虚拟机,启动成功(接下来每当我以为系统安装完成重启之后还会反复看到这个画面,今晚梦里都是这个了)

Arch Linux 安装

键盘布局和终端字体配置

键盘配置的是 US,终端字体选择 ter-132b

网络连接配置

还没有配置网络连接就是正常的,能够 ping 通 archlinux.org(貌似物理机里网络这里是比较复杂的,虚拟机的好处就体现出来了)

但不知道为什么这里我的 root 变成 130 root 了 (reddit 帖文在这里找到了有同样的疑问,但是没有人回答)

更新系统时间

进行分盘操作

最开始硬盘分布是这样的

创建 GPT 分区

创建根分区(第一次只分配了 10G,然后删除分区重新分了 40G 上去)

创建 home 分区

分区状态最终打印如下

挂载分区

挂载分区时失败了

原因是没有将分区格式化为 ext4 文件系统,之后再挂载就没有报错了

接着给仓库镜像换成南大源 https://mirror.nju.edu.cn/archlinux/$repo/os/$arch 然后更新软件包缓存

安装三件套(姑且称呼为三件套吧)

安装 base linux linux-firmware 软件包

安装成功,但是中间出现了很多 WARNING,没有 ERROR 就先不管了

生成 fstab

进入 arch-chroot

设置时区和硬件时间

在新系统中安装 vim 后,编辑/etc/locale.conf

使用 pacman 安装 Networkmanager

Pacman -S networkmanager

将之作为网络管理工具,并配置开机自启动

设置 root 密码

在此步骤中配置了 root 密码

安装 Boot Loader

这里安装的是 intel-ucode

退出 arch-chroot 并重启

按照官方教程,在上一步骤完成后 exit 退出 arch-chroot,取消挂载后,重启就可以了

然而刚刚一通操作下来,一直无法正确引导启动,重启之后界面居然还是这样的:

于是我找到了去年这个时候我看的教程,按照教程继续尝试了一下

尝试挣扎 做了一些官方教程中没有的步骤

首先是配置 host

安装 EFI 启动管理器

配置/boot/loader/loader.conf 启动文件

配置/boot/loader/entries/arch/conf

运行以下命令

blkid -s PARTUUID -o value /dev/sda3 >> /boot/loader/entries/arch.conf

然后再次尝试开机,再次失败了

总结

感觉如果要刷物理机的话,关于刷 linux 的很多坑都得好好填一下,关于分区操作,关于挂载的机制,关于启动引导……

但是接下来我还有另外的大坑要补,对于深度学习的很多内容我的理解并不深刻,对于一些数学方面的如概率统计、微分方程等都需要好好加强一下,不然看一些论文很难有深层次的理解,也正是因为这种不理解,让我在这个阶段对读论文并没有特别的兴趣,导致这几天一直在划水摸鱼……

对于 linux 刷机相关的内容,或许等到我有新的设备后,可以尝试将我这台 y9000p 2021 刷成纯血的 Arch Linux,这段时间就先不折腾了。