在UEFI机器上安装和配置Arch Linux

Arch Linux 是最多才多艺的 GNU Linux 发行版之一,因其简洁性和尖端软件包而闻名,由于其 滚动发布 模型,Arch Linux 并不适合 Linux 世界的初学者。它还提供了一个复杂的命令行安装程序,没有图形界面支持。命令行安装模型使得安装系统的工作非常灵活,但对于 Linux 初学者来说也非常困难。

最重要的是,Arch Linux 通过 Pacman 软件包管理器 提供自己的软件包存储库。Arch Linux 还为不同的 CPU 架构,如 32 位、64 位和 ARM,提供了 多架构 环境。

软件包、依赖项和安全补丁大多定期更新,使 Arch Linux 成为一个尖端的发行版,同时也有一些经过充分测试的软件包适合生产环境。

Arch Linux 还维护着 AUR – Arch 用户存储库,这是一个巨大的社区驱动的软件存储库镜像。AUR 存储库镜像允许用户从源代码编译软件,并通过 PacmanYaourt另一个用户存储库工具)软件包管理器进行安装。

本教程通过 CD/USB 引导镜像在基于 UEFI 的机器上逐步介绍了基本的 Arch Linux 安装过程。对于其他定制或详情,请访问官方 Arch Linux Wiki 页面: https://wiki.archlinux.org

要求

  1. 下载 Arch Linux ISO 镜像

步骤 1:创建磁盘分区布局

1. 首先,前往 Arch Linux 下载页面并获取最新的 CD 镜像(即当前稳定版本:2020.05.01),创建一个可启动的 CD/USB,然后将其插入您的系统 CD/USB 驱动器中。

2. 重要步骤! 同时,确保您的系统已连接以太网电缆并具有互联网连接,并且已启用活动的 DHCP 服务器。

3. 在 CD/USB 启动后,您将看到首个Arch Linux 安装程序选项。在这里,选择Arch Linux archiso x86_64 UEFI CD并按Enter键继续。

Arch Linux Boot Menu
Booting Arch Linux

4. 安装程序解压并加载Linux 内核后,您将自动进入具有根权限的Arch Linux Bash终端(TTY)。

A good step now is to list your machine NICs and verify internet network connection by issuing the following commands.

# ifconfig
# ping -c2 google.com
Check Arch Linux Network

如果您在您的场所没有配置DHCP服务器以动态分配 IP 地址给客户端,请发出以下命令手动为 Arch Live 媒体配置 IP 地址。

根据需要替换网络接口和 IP 地址。

# ifconfig eno16777736 192.168.1.52 netmask 255.255.255.0 
# route add default gw 192.168.1.1
# echo “nameserver 8.8.8.8” >> /etc/resolv.conf
Configure IP Address on Arch Linux

在此步骤中,您还可以通过发出以下命令列出您的机器硬盘。

# cat /proc/partitions
# ls /dev/[s|x|v]d*
# lsblk
# fdisk –l 
Check Arch Linux Disk

如果您的机器是基于虚拟的,硬盘可能具有除了sdx之外的其他名称,比如xvdavda等。如果您不清楚磁盘命名方案,请发出以下命令来列出虚拟磁盘。

# ls /dev | grep ‘^[s|v|x][v|d]’$* 
Check Virtual Disks

重要提示是,Raspberry PI驱动器存储的命名约定通常是/dev/mmcblk0,对于某些类型的硬件RAID卡可以是/dev/cciss

5.在接下来的步骤中,我们将开始配置硬盘分区。在此阶段,您可以运行cfdiskcgdiskpartedgdisk实用程序,为GPT磁盘执行磁盘分区布局。我强烈推荐使用cfdisk,因为它是基于向导驱动的,使用简单。

对于基本分区,布局表使用以下结构。

  • EFI系统分区(/dev/sda1)大小为300M,格式为FAT32。
  • 交换分区(/dev/sda2)建议大小为RAM的2倍,开启交换。
  • 根分区(/dev/sda3)至少大小为20G或者剩余的硬盘空间,格式为ext4。

现在让我们通过运行cfdisk命令来创建磁盘分区表,选择GPT标签类型,然后选择Free Space然后点击底部菜单中的New,如下面的截图所示。

# cfdisk /dev/sda
Select Arch Linux Label Type
Select Arch Linux Installation Disk

6.在MB(300M)中键入分区大小,然后按enter键,在底部菜单中选择Type并选择EFI System分区类型,如下面的截图所示。

EFI System Size
EFI System Type
Select EFI System

您已完成EFI系统分区的配置。

7.接下来,让我们使用相同的步骤创建Swap分区。使用向下箭头键并再次选择剩余的Free Space,然后重复上述步骤:New->分区大小建议为2xRAM大小(您可以安全地使用1G)->Type Linux swap

请使用下面的截图作为创建交换分区的指南。

Create Swap Partition
Set Swap Partition Size
Select Partition Type
Select Swap Partition

8.最后,对于/(root)分区,请使用以下配置:New -> Size:剩余free space -> Type Linux filesystem

在您审核Partition Table后,选择Write,回答是以应用磁盘更改,然后,键入quit退出cfdisk实用程序,如下图所示。

Create Root Partition
Set Root Partition Size
Select Type for Root Partition
Select Linux Filesystem
Partition Table Summary
Confirm Partition Changes
Quit Disk Management Console

9. 目前,您的分区表已写入HDD GPT,但尚未在此之上创建文件系统。您也可以通过运行fdisk 命令来查看分区表摘要。

# fdisk -l

10. 现在,是时候用所需的文件系统格式化分区了。输入以下命令以创建FAT32文件系统用于EFI系统分区(/dev/sda),为根分区(/dev/sda3)创建EXT4文件系统,以及为/dev/sda2创建交换分区。

# mkfs.fat -F32 /dev/sda1
# mkfs.ext4 /dev/sda3
# mkswap /dev/sda2
Create Arch Linux Filesystem

第2步:安装Arch Linux

11. 为了安装Arch Linux,必须将/(root)分区挂载到/mnt目录挂载点以使其可访问。另外,还需要初始化交换分区。输入以下命令来配置这一步。

# mount /dev/sda3 /mnt
# ls /mnt 
# swapon /dev/sda2
Mount Root Partition

12. 在分区变得可访问之后,是时候执行Arch Linux系统安装了。为了提高安装包下载速度,您可以编辑/etc/pacman.d/mirrorlist文件,并在镜像文件列表中选择最近的镜像网站(通常选择您国家服务器的地点)。

# nano /etc/pacman.d/mirrorlist

您还可以通过取消注释/etc/pacman.conf文件中以下行来为live系统启用Arch Multilib支持。

[multilib]
Include = /etc/pacman.d/mirrorlist
Enable Arch Multilib

13.接下来,通过发出以下命令开始安装Arch Linux。

# pacstrap /mnt base base-devel linux linux-firmware nano vim
Install Arch Linux
Arch Linux Installer in Progress

根据您的系统资源和互联网速度,安装程序可能需要5到20分钟才能完成。

14.安装完成后,通过发出以下命令为您的新Arch Linux系统生成fstab文件。

# genfstab -U -p /mnt >> /mnt/etc/fstab

随后,运行以下命令检查fstab文件内容。

# cat /mnt/etc/fstab
Generate fstab File

第3步:Arch Linux系统配置

15.为了进一步配置Arch Linux,您必须chroot进入系统路径/mnt,并通过发出以下命令为您的系统添加主机名。

# arch-chroot /mnt
# echo "archbox-tecmint" > /etc/hostname
Set Hostname for Arch Linux

16.接下来,配置您的系统语言。从/etc/locale.gen文件中选择并取消注释您偏好的编码语言,然后通过运行以下命令设置您的区域设置。

# pacman -S nano
# nano /etc/locale.gen

locale.gen文件摘录:

en_US.UTF-8 UTF-8
en_US ISO-8859-1
Set Arch Linux Language

生成您的系统语言布局。

# locale-gen
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# export LANG=en_US.UTF-8
Set Arch Linux Language

17.下一步是通过为您的子时区(/usr/share/zoneinfo/Continent/Main_city)创建符号链接来配置您的系统时区到/etc/localtime文件路径。

# ls /usr/share/zoneinfo/
# ln -s /usr/share/zoneinfo/Aisa/Kolkata /etc/localtime
Set Arch Linux Timezone

您还应该配置硬件时钟以使用UTC(硬件时钟通常设置为本地时间)。

# hwclock --systohc --utc

18. 与许多著名的Linux发行版一样,Arch Linux也使用不同世界位置和多种系统架构的仓库镜像。默认启用标准仓库,但如果你想要激活Multilib仓库,你必须从/etc/pacman.conf文件中取消注释[multilib]指令,如下面的摘录所示。

# nano /etc/pacman.conf
Enable Arch Multilib

19. 如果你想要启用Yaourt 包工具支持(用于下载和构建AUR包),请前往/etc/pacman.conf文件的底部并添加以下指令。

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
Activate Yaourt Package Tool

20. 在编辑仓库文件后,通过运行以下命令同步并更新数据库镜像和包。

# pacman -Syu
Synchronize and Update Database

21. 接下来,通过运行以下命令在Arch盒子中为root账户设置密码并创建一个具有Sudo权限的新用户。同时,使用户密码过期以强迫新用户在第一次登录时更改密码。

# passwd
# useradd -mg users -G wheel,storage,power -s /bin/bash your_new_user
# passwd your_new_user
# chage -d 0 your_new_user
Create Arch Linux User

22. 添加新用户后,你需要安装sudo包并更新/etc/sudoers文件中的wheel组行,以赋予新添加的用户root权限。

# pacman -S sudo
# pacman -S vim
# visudo 

/etc/sudoers文件中添加此行:

%wheel ALL=(ALL) ALL
Enable Sudo Privileges

24. 在最后一步,安装引导加载程序,以便在重启后Arch能够启动。Linux发行版和Arch Linux的默认引导加载程序也是由GRUB包表示。

将GRUB引导加载程序安装到UEFI机器的第一个硬盘上,并检测Arch Linux并配置GRUB引导加载程序文件,请按照以下屏幕截图所示运行以下命令。

# pacman -S grub efibootmgr dosfstools os-prober mtools
# mkdir /boot/EFI
# mount /dev/sda1 /boot/EFI  #Mount FAT32 EFI partition 
# grub-install --target=x86_64-efi  --bootloader-id=grub_uefi --recheck
Install Grub Boot Loader in Arch Linux
Configure Grub Boot Loader in Arch Linux

25. 最后,通过发出以下命令创建GRUB配置文件。

# grub-mkconfig -o /boot/grub/grub.cfg
Create Grub Configuration file

恭喜!Arch Linux现在已安装并配置为您的设备。现在需要的最后步骤是退出chroot环境,卸载分区并通过以下命令重新启动系统。

# exit
# umount -a
# telinit 6

26. 重新启动后,移除安装媒体映像,系统将直接启动到GRUB菜单中,如下所示。

Arch Linux Grub Menu

27. 当系统启动到Arch Linux时,请使用在安装过程中配置的用户凭据登录,并按照以下方式更改用户帐户密码。

Arch Linux Login

28. 由于系统默认未运行DHCP客户端,您将失去互联网网络连接。为了解决此问题,请以root权限发出以下命令以启动和启用DHCP客户端。

还要检查网络接口是否已启动,并且是否已由DHCP服务器分配了IP地址,并且互联网连接是否正常工作。Ping一个随机域以测试互联网连接。

$ sudo systemctl start dhcpcd
$ sudo systemctl enable dhcpcd
# ip a
# ping -c2 google.com

目前,Arch Linux系统仅包含管理命令行所需的基本软件包,没有图形用户界面。

由于其高可移植性、滚动发布周期、源代码包编译、对安装软件的细粒度控制和处理速度,Arch Linux在许多方面与Gentoo Linux相似,但无法达到Gentoo复杂的架构设计。

然而,管理Arch Linux系统的过程不适合Linux初学者。想要操作类似Arch的Linux系统的Linux初学者应该先通过安装Manjaro Linux发行版来学习Arch Linux的原则。

Source:
https://www.tecmint.com/arch-linux-installation-and-configuration-guide/