Arch Linux 是GNU Linux 众多发行版中最具多用性的一个发版,这源于它的单纯性和滚动发布软件包以缩短软件更新周期的模式。同时,Arch在 Linux 业界并不针对初级用户,因为它在安装时需要使用复杂的命令行安装工具,完全没有图形安装界面。命令行安装为 Arch 的安装提供了更多的灵活性,但对于初学者来说又是十分的困难。
Arch Linux的所有软件库软件使用其特有的 Pacman Package Manager包管理工具来统一管理,并且Arch Linux 也提供了对于不同CUP架构的支持,例如32bit、64bit和ARM等。
所有的官方软件包、依赖包和安全补丁在更新时都遵循一个原则,就是在正式的生产环境中尽量缩短固定软件包的测试周期。Arch Linux 还提供了一个AUR软件库(Arch User Repository),这是一个巨大的第三方软件库。AUR允许用户编译源代码安装软件或者使用Pacman 和 Yaourt (Yet Another User Repository Tool)软件安装工具来安装软件。
本教程将逐步演示如何使用CD/USB镜像在UEFI主机上的安装过程,如果有更多的个性化安装需求,则请参照Arch Linux 的 Wiki 页面了解更多内容。
1] 创建磁盘分区布局
步骤1、在 Arch Linux 网站下载镜像文件并将 ISO 文件刻录成光盘或制作成 USB 镜像盘,并把它置于主机的相应驱动器。
步骤2、这个步骤很重要,确保要安装Arch Linux的主机已经连接了网络,并且可以通过 DHCP 服务器获取IP地址。
步骤3、启动主机,就会看到如下Arch Linux 安装界面,选中”Boot Arch Linux”后按回车继续:
图.1 Arch Linux 启动菜单
步骤4、安装器解压并加载 Linux 内核后,就会给用户提供一个 Arch Linux 终端 zsh,并且可以通过root用户来使用终端。这个步骤中最为重要的工作就是通过如下命令来验证主机的网络是否可用:
# ifconfig # ping -c 2 baidu.com
图.2 Arch Linux 安装检查网络
如果网络中没有 DHCP 服务器可用,那么则需要使用如下命令自行配置网络地址、子网掩码、网关和DNS服务器。
# ifconfig eth0 172.10.110.140 netmask 255.255.255.0 # route add default gw 172.10.110.254 # echo “nameserver 114.114.114.114” >> /etc/resolv.conf
以上的命令是根据安装主机的网络情况而定,需要根据自己安装的实际情况来修改IP地址、网关及掩码等数值。配置示意图如下:
图.3 Arch Linux 手动配置网络
之后就需要了解主机的磁盘硬件情况,方法很多,使用以下命令之一即可:
# cat /proc/partitions # ls /dev/[s|x|v]d* # lsblk # fdisk –l
以上的磁盘命名会依据实际情况略有不同,例如一些 RAID 卡会被命名为”/dev/cciss”,而本例中的磁盘就是”/dev/sda”,容量大小为127GB。
步骤5、现在将使用cfdisk、 cgdisk、 parted以及gdisk工具来制作GPT磁盘并进行分区。本文强烈推荐使用cfdisk工具,因为它具有向导并且使用简单,容易理解。
为了方面起见,我们将按以下结构来划分磁盘:
- EFI 系统分区 (
/dev/sda1
) 300M 大小, FAT32 格式 - Swap 交换 (
/dev/sda2
) 推荐使用主机内存的2倍大小容量,Swap 分区并启用 - Root 分区 (
/dev/sda3
) 剩余部分都划入根分区,ext4格式
现在,我们使用 cfdisk 命令来实际操作磁盘,注意选择”GPT”作为卷标类型,然后根据软件使用向导进行分区,新增完分区后需要选择分区类型,最后将分区内容保存即可:
# cfdisk /dev/sda
步骤6、分区完成后,可以先用 # fdisk -l
命令查看一下分区是否生效,然后使用如下命令格式化相应分区:
# mkfs.fat -F32 /dev/sda1 # mkfs.ext4 /dev/sda3 # mkswap /dev/sda2
图.4 cfdisk命令磁盘分区及格式化
2] 安装 Arch Linux
为了能够成功安装 Arch Linux,”/(root)”根分区必须要挂载到”/mnt”目录以便访问。同时,交换分区也可以使用如下命令启用:
# mount /dev/sda3 /mnt # ls /mnt # swapon /dev/sda2
图.5 挂载根分区以及交换分区
当分区加载完成后,就可以准备安装Arch Linux 系统了。为了加快文件下载的速度,可以编辑” /etc/pacman.d/mirrorlist“文件,将离自己最近的镜像站点加入到文件最前面的镜像列表中。同时,可以在”/etc/pacman.conf “配置文件中加入对于 Arch Multilib 的支持,配置示意如下:
图.6 编辑软件库配置文件pacman.conf
配置完成后,就使用如下命令进行在线系统安装:
# pacstrap /mnt base base-devel
图.7 安装Arch Linux至磁盘
这个步骤会依赖个人主机的资源情况和网络速度,持续5-20分钟不等。全部安装完成后,需要使用如下命令为你新的Arch Linux系统创建”fstab”文件,以便系统可以通过磁盘启动:
# genfstab -U -p /mnt >> /mnt/etc/fstab # cat /mnt/etc/fstab
通过”cat”命令就可以检查文件是否创建成功,示意图如下:
图.8 生成fstab文件
3] Arch Linux 系统配置
为了进一步配置 Arch Linux,同在需要chroot至”/mnt”目录,并为自己的主机设置主机名:
# arch-chroot /mnt # echo "archhost" > /etc/hostname
之后配置语言,对于Linux 系统,我比较推荐使用英文作为系统语言,尤其是在命令行方式下,需要使用中文的地方不多,按以下步骤将本地语言设置为”en_US.UTF-8″:
# nano /etc/locale.gen # locale-gen # echo LANG=en_US.UTF-8 > /etc/locale.conf # export LANG=en_US.UTF-8
首先编辑”/etc/locale.gen”文件,将en_US.UTF-8 UTF-8
和en_US ISO-8859-1
前面的”#”号去掉,如下图所示:
图.9 编辑locale.gen语言文件
之后的命令是用于设置本地语言,由于没有什么输出,也就不再截图示意。
下一步骤就是设置时区,首先查看一下系统的所有可用时区,然后再将本地时区设置为”重庆”:
# ls /usr/share/zoneinfo/Asia # ln -s /usr/share/zoneinfo/Asia/Chongqing /etc/localtime
操作示意图如下:
图.10 设置本地时区
同时,还需要使用如下命令将硬件的时钟设置为使用”UTC”时间:
# hwclock --systohc --utc
图.11 设置主机硬件时区
和其它优秀的Linux 发行版一样,Arch Linux 为世界不同地点以及不同的硬件架构的主机提供了软件库,方便用户进行软件包的安装。默认情况下,只会启用标准软件库,但如果需要更多的软件库,那么就需要将 “/etc/pacman.conf”中的”[multilib]”前面的注释去掉,正式启用该选项:
# nano /etc/pacman.conf
图.12 配置启用multilib
如果还想启用Yaourt Package Tool包管理工具,那么就需要在”/etc/pacman.conf”文件中加入如下内容:
[archlinuxfr] SigLevel = Never Server = http://repo.archlinux.fr/$arch
图.13 配置启用yaourt
编辑完软件库文件”/etc/pacman.conf”后,就可以使用以下命令进行同步了:
# pacman -Syu
同步完成后,就可以为系统启动做准备了,使用以下命令修改root用户密码,并新增一个具有管理员权限的用户rultr,并设置该用户的密码:
# passwd # useradd -mg users -G wheel,storage,power -s /bin/bash rultr # passwd rultr # chage -d 0 rultr
图.14 修改root用户密码和添加新用户
新用户添加完成后,还需要为系统添加”sudo”包以及编辑” /etc/sudoers”文件,使新增用户可以进行root用户权限的操作:
# pacman -S sudo # visudo # nano /etc/sudoers
编辑” /etc/sudoers”,添加如下内容”%wheel ALL=(ALL) ALL”,示意图如下:
图.15 设置启用sudo的root权限
最后,就是为系统启动安装启动工具,Arch Linux和大多数Linux发行版都提供了GRUB包。为了能够在UEFI机器上顺利安装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
命令执行过程如下所示:
图.16 安装和配置grub
最后,使用以下命令创建grub的配置文件,所有步骤就执行完成了:
# grub-mkconfig -o /boot/grub/grub.cfg
图.17 生成grub.cfg配置文件
最后,重启主机,就可以看到Arch Linux的启动菜单了:
图.18 Arch Linux 启动菜单
至此,带有UEFI启动功能的Arch Linux系统就全部安装完成了。