简介:本文将带你从虚拟机配置到基础系统安装,一步步完成Arch Linux的部署。无论你是初次接触Arch的新手,还是希望梳理安装流程的老用户,都能从中获得清晰的指引。文章涵盖虚拟机资源规划、启动介质准备、分区方案选择、基础系统安装及初始化配置等关键环节,助你规避常见陷阱,顺利搭建属于自己的精简Linux环境。
Arch Linux 以其极简主义理念和滚动更新模式,在Linux发行版中独树一帜。它没有繁琐的图形安装向导,而是要求用户通过命令行为自己量身打造系统。这种“自己动手,丰衣足食”的哲学,既是其魅力所在,也是不少新手的门槛。本文将基于虚拟机环境,分步拆解Arch Linux的安装全过程,帮助你理解每个步骤背后的逻辑,从而从容应对安装中的各种挑战。
在开始安装前,我们需要在虚拟机软件(如常见的某虚拟化平台)中为Arch Linux创建一个新的虚拟机。这是整个安装流程的起点,合理的规划能避免后续诸多麻烦。
首先,创建新虚拟机时,操作系统类型应选择“Linux”并指定版本为“Arch Linux (64-bit)”。虚拟机内存建议分配至少2048MB(2GB),如果你的宿主机配置允许,分配到4096MB(4GB)会让后续的编译和运行更加流畅。处理器核心数量也需按需分配,建议至少2核,以加速系统更新和软件包解压过程。
硬盘方面,建议为虚拟磁盘分配至少20GB的存储空间。虽然一个基础的Arch系统很小,但为了安装图形界面、开发工具以及留有足够的缓存和临时文件空间,20GB是一个较为稳妥的起点。虚拟磁盘类型可选择“VDI”或“VHD”等主流格式,存储方式选择“动态分配”,这样虚拟磁盘会根据实际使用量增长,不占用过多物理磁盘空间。
在创建完成后,进入虚拟机设置,对硬件进行微调。默认情况下,虚拟机可能会自动挂载一个软驱设备,这对现代系统毫无用处,甚至可能导致启动异常,应在设置中的“存储”部分移除它。关于EFI(可扩展固件接口)的启用需谨慎考虑:若启用EFI,磁盘分区将需使用GPT(全局唯一标识分区表)格式,且系统引导方式变为UEFI(统一可扩展固件接口);若不启用,则走传统的BIOS(基本输入输出系统)和MBR(主引导记录)路线。鉴于某虚拟化平台对EFI的模拟在早期存在不够完善的情况,可能出现系统无法自动从虚拟光驱引导,而是卡在UEFI Shell界面的问题,这使得安装过程变得复杂。虽然在物理机上此类问题不太常见,但在虚拟环境中,优先选择传统BIOS模式(即不勾选启用EFI)通常能获得最顺畅的安装体验。
安装Arch Linux需要一个启动介质,通常是一份刻录好的ISO镜像文件。Arch Linux的官方镜像可通过其官网下载,也可以在校园网或相关开源镜像站获取。下载完成后,将ISO文件挂载到虚拟机的虚拟光驱中,并将虚拟机的启动顺序设置为首先从光驱引导。
虚拟机从ISO启动后,会进入一个root命令行提示符环境,此时系统已运行在内存中的临时环境里,尚未写入硬盘。我们要做的第一件事是检查网络连接。ping一个知名的网关地址或公共DNS服务器(如ping archlinux.org)来验证网络连通性。如果使用的是IPv4和DHCP(动态主机配置协议),网络通常已自动配置妥当。若网络不通,可使用ip link命令查看网卡接口名称,然后通过dhcpcd命令为有线网卡启用DHCP服务。
接下来,我们需要同步系统时钟。使用timedatectl set-ntp true命令启用网络时间同步协议,确保后续文件系统创建时时间戳的准确性。
分区是安装中至关重要的一步。我们需要使用分区工具(如fdisk或parted)对虚拟磁盘进行操作,将其划分为不同的区域用于存放系统文件、用户数据和交换空间。
由于我们选择的是传统BIOS引导方式,磁盘分区表类型应使用DOS(即MBR)格式。
方案示例:
/):作为系统根目录的挂载点,存放所有基础系统文件。建议大小10GB以上,格式化为ext4文件系统。在bios模式下,此分区应设为可引导(boot flag)。linux-swap。/home):存放用户数据。将剩余所有空间分配给此分区,格式化为ext4。在fdisk中,创建分区的过程主要涉及输入n新建分区、选择主分区(primary)、指定起始和结束扇区,以及最后通过t命令修改分区类型(例如82为Linux Swap,83为Linux)。完成操作后务必输入w命令将分区表写入磁盘。
如果后续需要更灵活的调整分区大小,也可以采用LVM(逻辑卷管理)方案,但这对于初次安装的读者来说会增加复杂度,在此先不展开讨论。
分区创建完毕后,我们需要为每个分区创建文件系统。使用mkfs.ext4 /dev/sda1格式化根分区(假设/dev/sda1是根分区设备名),使用mkswap /dev/sda2格式化Swap分区,并用swapon /dev/sda2激活。最后,将根分区挂载到/mnt目录:mount /dev/sda1 /mnt。如果你创建了独立的/home分区,需要先创建/mnt/home目录,然后将其挂载在该目录下。
此时,我们的临时环境已准备就绪。接下来使用Arch Linux最核心的包管理器——pacman来安装基础系统软件包。推荐先使用reflector工具更新软件源镜像列表,以获得最快的下载速度。pacman -Syy命令用于强制刷新软件源数据库。
然后,执行基础系统安装命令:
pacstrap -K /mnt base linux linux-firmware vim sudo networkmanager
参数解读:
pacstrap:向指定目录安装软件包集的脚本。/mnt:安装目标根目录。base:最小基础系统软件组。linux:Linux内核及核心模块。linux-firmware:一系列固件文件,确保硬件能正常工作(即使在虚拟机中也建议安装)。vim:一个文本编辑器,便于后续编辑配置文件(虽然nano也可能预装,但vim更通用)。sudo:允许普通用户执行管理员命令的工具。networkmanager:网络管理服务,为后续连接无线或有线网络提供便利。此步骤会下载大量软件包,耗时取决于网络状况。
基础系统文件复制到磁盘后,我们需要生成文件系统表(fstab)来定义磁盘分区如何被系统挂载。使用命令:
genfstab -U /mnt >> /mnt/etc/fstab
该命令会依据当前挂载状态,生成包含UUID(全局唯一标识符)的fstab文件,确保每次开机时分区能正确挂载。
接下来,我们使用chroot命令将根目录切换到新系统所在硬盘上,开始进行系统内部配置:
arch-chroot /mnt
进入新系统后,我们需要设置时区。删除旧时区文件并创建新软链接:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
接着,生成硬件时钟信息,确保系统时间与硬件时间同步:
hwclock --systohc
然后,设置系统语言(Locale)。编辑/etc/locale.gen文件,找到en_US.UTF-8 UTF-8和zh_CN.UTF-8 UTF-8,取消注释(删除行首的#)。随后运行:
locale-gen
该命令将生成所选语言的环境文件。接着,创建/etc/locale.conf文件并写入系统主要语言设置:
LANG=en_US.UTF-8
这里建议暂不设为中文,因为控制台下的中文可能会出现乱码,待安装完桌面环境后在图形界面中文比较合适。
设置主机名(例如myarch):
echo myarch > /etc/hostname
同时编辑/etc/hosts文件,添加如下内容以支持本地域名解析:
127.0.0.1 localhost::1 localhost127.0.1.1 myarch.localdomain myarch
最后,我们需要为root用户设置密码:
passwd
输入两次强密码。
整个安装过程中最关键的一步是安装引导程序。对于传统BIOS系统,GRUB是最常见的选择。
安装grub和os-prober(用于探测其他已安装操作系统的工具):
pacman -S grub os-prober
将GRUB写入磁盘的主引导记录(假设目标磁盘为/dev/sda):
grub-install --target=i386-pc /dev/sda
生成GRUB配置文件:
grub-mkconfig -o /boot/grub/grub.cfg
执行完毕后,引导程序就安装好了。此时新系统的基本框架已经构建完成。
在chroot环境中完成所有配置后,我们需要退出chroot环境并重启虚拟机。退出使用exit命令或按下Ctrl+D。然后解除挂载:
umount -R /mnt
最后,输入reboot命令重启虚拟机。记得在重启前,移除虚拟光驱中的ISO镜像或更改启动顺序,让虚拟机从硬盘引导。
重启后,你将看到GRUB引导界面,选择“Arch Linux”即可顺利进入全新的系统命令行界面。
进入新系统后,还需要进行一些初始化设置。
1. 创建普通用户
出于安全考虑,不应长期以root用户工作。创建一个新用户(例如archie):
useradd -m archie
设置密码:
passwd archie
将用户加入wheel组,以获得sudo权限:
usermod -aG wheel archie
编辑/etc/sudoers文件,通过EDITOR=vim visudo命令,取消%wheel ALL=(ALL:ALL) ALL一行的注释,允许wheel组用户使用sudo。
2. 启用网络服务
我们在之前安装了networkmanager,现在需要启用并启动其服务:
systemctl enable NetworkManagersystemctl start NetworkManager
这样即使在重启后,网络服务也会自动运行。如果未安装该服务,在纯命令行下管理网络会比较繁琐。
3. 安装桌面环境(可选)
Arch Linux的精髓在于定制。你可以根据需求安装想要的桌面环境,如GNOME、KDE Plasma或轻量级的Xfce。这一步以及后续驱动、软件的安装,就是发挥Arch滚动更新和软件仓库丰富优势的时刻了。
通过上述一步一步的实践,你会发现Arch Linux的安装过程虽然伴随着命令行操作的“硬核”气质,但实际上井井有条,每一步都有其明确的目的。这种高度可控的安装方式,能让你对Linux系统的底层结构有更清晰的认识。完成安装后,你收获的不仅是一个可用的操作系统,更是一段宝贵的系统构建经验。