+++
+++ 注意事项
+++ +++++++++++++++++++++++++++强烈建议新手移步 Arch Wiki > 新手指南
经验者请参阅 Arch Wiki > 安装指南
若在安装 / 使用过程中遇到问题,请查阅 Arch Wiki,咨询 Google、百度,或在官方论坛(英文)、本论坛发帖提问。
本指南介绍如何通过 ArchISO(Arch Linux 安装镜像,下同)以官方推荐的安装方式将 Arch Linux 安装到到一台普通 PC 上。
安装过程中请保持网络畅通
+++
+++ 简要介绍
+++ +++++++++++++++++++++++++++pacman 是 Arch Linux 的软件包管理器,下文中提及的软件均可通过其完成安装:
# pacman -S <软件包> ...
本文推荐使用 nano 编辑文件:
# nano <文件>
+++
+++ 安装准备
+++ +++++++++++++++++++++++++++---
--- 获取并校验 ArchISO
--- ---------------------------
ArchISO 攘括了 32 位和 64位版本,同时支持 x86 和 x86_64,可从官方下载页面下载。
在该页面亦能找到 ArchISO 的 SHA1、MD5 值和 PGP 签名,用于进行校验。---
--- 准备安装介质
--- ---------------------------
ArchISO 支持多种方式引导。用户可将其刻录至光盘中,写入 USB 闪存盘、移动硬盘,或载入内存中。请根据自身需求及实际情况进行选择。---
--- 启动至 ArchISO
--- ---------------------------
ArchISO 包含了完整的 Arch Linux 基础系统。但 ArchISO 无法保存用户所做的改动(关机即失),因此只适合用于系统安装与维护,请勿用于日常。接下来的安装操作都会在 ArchISO 进行。
根据机器的不同,用户可能需要调整机器的引导顺序,或者调出机器的引导菜单。具体做法请查阅随机手册。
机器成功从准备好的安装介质中启动后,屏幕将呈现出一个菜单。用户可以根据需要使用 [↑]/[↓](方向键)进行选择,[↩] (回车键)确认。市面上大部分 PC 机同时支持 UEFI 和 BIOS 接口。根据设置的不同,Arch Linux 可能在 UEFI 环境下启动,或在环境 BIOS 下启动。根据启动环境的不同,用户可能看到不同菜单界面。
需要指出的是,虽然32 位版的 Arch Linux 能够在 UEFI 环境下运行,但默认情况下无法通过 ArchISO 安装 32 位的 Arch Linux。若有这样的需求,请参考上文的注意事项。
参考链接:
+++
+++ 检查环境
+++ +++++++++++++++++++++++++++---
--- 启动环境
--- ---------------------------# efivar -l
若 efivar 正确地列出了 UEFI 变量,则本机为 UEFI 系统,否则为 BIOS。
+++
+++ 配置 ArchISO
+++ +++++++++++++++++++++++++++
预设:键盘布局:US (美式键盘)
locale:en_US.UTF-8(美式英语)
网络连接:dhcpcd(有线连接)
配置:
键盘布局:
# localectl list-keymaps # 查看可用键盘布局
# loadkeys <键盘布局>终端字体:
# ls /usr/share/kbd/consolefonts/ # 查看可用终端字体
# setfornt <终端字体>显示语言(不建议中文用户修改):
# nano /etc/locale.gen # 反注释需要的 locale
# locale-gen
# export LANG=<语言>网络连接:
无线连接:
# wifi-menu
ADSL 宽带连接:
# pppoe-setup # 配置
# systemctl start adsl # 连接
同步时间
# timedatectl set-ntp true
pacman 软件仓库镜像服务器:
选择地理位置最为接近的镜像服务器以获得更高的下载速度。
pacman 优先使用位置靠前的镜像地址。将选定的镜像地址置于最前以便 pacman 使用。
注意:该配置不仅会应用到安装环境,也会应用至新系统中。# nano /etc/pacman.d/mirrorlist
更新本地数据库:
# pacman -Syy
查看中国大陆的镜像服务器:
grep -A 1 'China' /etc/pacman.d/mirrorlist
选择所有的中国大陆的镜像服务器:
# sed -i '/Score/{/China/!{n;s/^/#/}}' /etc/pacman.d/mirrorlist
+++
+++ 分区
+++ +++++++++++++++++
在本节,用户须在 MBR 和 GPT 之间做出选择。通常建议在 UEFI 系统中使用 GPT,在 BIOS 系统中使用 MBR。注意部分 UEFI 系统不支持 MBR 引导,部分 BIOS 系统不支持 GPT 引导。---
--- 分区方案
--- ---------------------------
基本要求:至少一个分区(类型代码:8300)
特殊要求:
BIOS + GPT + Grub:BIOS 引导分区(类型代码:ef02;大小 ≥ 1 MiB)
UEFI:UEFI 系统分区(类型代码:ef00;大小 ≥ 256 MiB)
系统休眠:交换分区(类型代码:8200;大小 ≥ 2×内存大小)
一般建议:
若安装目标内存 ≤ 2GB,添加一个交换分区
为 分配一个分区
一个例子:
$ lsblk /dev/sda -o NAME,FSTYPE,SIZE,MOUNTPOINT # 名称,文件系统,大小,挂载点
NAME FSTYPE SIZE MOUNTPOINT
sda 120G
├─sda1 vfat 512M /boot/EFI
├─sda2 ext4 36G /
├─sda3 ext4 79.5G home
└─sda4 swap 4G [SWAP]---
--- 分区
--- ---------------------------
确定目标磁盘及目标分区:# lsblk
分区用软件:
通用:parted、cfdisk、sfdisk
仅 GPT:cgdisk、sgdisk
---
--- 创建文件系统
--- ---------------------------
Arch Linux 默认支持的文件系统,参阅 Arch Wiki > 文件系统。
若对文件系统毫无概念,这里推荐使用 ext4 文件系统。
格式化工具:$ ls -1 /usr/bin/ | grep -E 'mkfs|mkswap'
...
mkfs.ext4* # ext4 格式化工具
...
mkfs.fat* # fat 格式化工具
...
mkswap* # swap 格式化工具为让 genfstab 能生成 fstab 时包含交换分区,须先激活交换分区
# swapon /dev/<交换分区>
一个例子:
# mkfs.fat -F32 /dev/sda1 # 创建 FAT32 分区
# mkfs.ext4 /dev/sda2 # 创建 ext4 分区
# mkfs.ext4 /dev/sda3 # 创建 ext4 分区
# mkswap /dev/sda4 # 创建交换分区
# swapon /dev/sda4 # 激活交换分区
+++
+++ 系统安装
+++ +++++++++++++++++++++++++++
是一份简略的安装指南,供安装时查阅。---
--- 挂载目标分区
--- ---------------------------
请注意挂载次序。挂载命令:
# mount <设备> <挂载点>
一个例子:
# mount /dev/sda2 /mnt # 挂载根目录
# mkdir /mnt/home # 创建 /home 挂载点
# mount /dev/sda3 /mnt/home # 挂载 /home
# mkdir -p /mnt/boot/EFI # 创建 UEFI 挂载点
# mount /dev/sda1 /mnt/boot/EFI # 挂载 UEFI 分区---
--- 安装基础系统
--- ---------------------------# pacstrap -i /mnt base base-devel
---
--- 配置 fstab
--- ---------------------------自动生成 fstab:
# genfstab -U <根目录挂载点> >> <根目录挂载点>/etc/fstab
(重要)检查生成的 fstab 正确是否:
# cat <根目录挂载点>/etc/fstab
请勿多次执行 genfstab,编辑 修正错误。详见 Arch Wiki > Fstab
+++
+++ 配置基础系统
+++ +++++++++++++++++
---
--- 进入新系统
--- ---------------------------
切换根目录# arch-chroot <根目录挂载点> /bin/bash
---
--- Locale(Arch Wiki)
--- ---------------------------
Locale 决定了软件使用的语言、书写习惯和字符集。# nano /etc/locale.gen # 反注释需要的 locale
# locale-gen # 生成 locale
# echo LANG=<locale> > /etc/locale.conf # 设置默认 locale简体中文用户可执行:
# sed -i '/zh_CN.UTF-8/{s/#//}' /etc/locale.gen; \
locale-gen; \
echo LANG=zh_CN.UTF-8 > /etc/locale.conf---
--- 键盘布局与终端字体
--- ---------------------------
见上文---
--- 时区
--- ---------------------------# ln -s /usr/share/zoneinfo/$(tzselect) /etc/localtime
中国大陆用户可执行:
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
---
--- 硬件时间设置
--- ---------------------------(推荐)UTC 时间:
# hwclock --systohc --utc
本地时间:
# hwclock --systohc --localtime
注意:使用本地时间可能会引起某些不可修复的bug。
---
--- 主机名
--- ---------------------------# echo <主机名> > /etc/hostname
# nano /etc/hosts # 将主机名填入完成后看起来像这样:
# cat /etc/hostname
<主机名>
# cat /etc/hosts
#<ip-address> <hostname.domain.org> <hostname>
127.0.0.1 localhost.localdomain localhost <主机名>
::1 localhost.localdomain localhost <主机名>快速填入:
# HOSTNAME='<主机名>'; echo $HOSTNAME > /etc/hostname; \
sed -i '/localhost/s/$/\t'"$HOSTNAME"'/g' /etc/hosts---
--- 网络
--- ---------------------------有线连接:
# systemctl start dhcpcd # 连接
# # systemctl enable dhcpcd 以自动连接无线连接:
# pacman -S iw wpa_supplicant dialog
# wifi-menu # 连接ADSL 宽带连接:
# pacman -S rp-pppoe
# pppoe-setup # 配置
# systemctl start adsl # 连接
# # systemctl enable adsl 以自动连接
---
--- 创建 ramdisk
--- ---------------------------
默认已创建;若需特别配置,参阅 Arch Wiki > Mkinitcpio---
--- 为 root 用户设置密码
--- ---------------------------# passwd
---
--- 安装引导器
--- ---------------------------GRUB
BIOS:
# pacman -S grub os-prober
# grub-install --recheck /dev/<目标磁盘>
# grub-mkconfig -o /boot/grub/grub.cfgUEFI:
# pacman -S dosfstools grub efibootmgr
# grub-install --target=x86_64-efi --efi-directory=<EFI 分区挂载点> --bootloader-id=arch_grub --recheck
# grub-mkconfig -o /boot/grub/grub.cfg
+++
+++ 卸载分区并重启
+++ +++++++++++++++++++++++++++# exit # 退回安装环境
# umount -R < / 挂载点> # 卸载新分区
# reboot # 重启
# # 记得移除安装介质+++
+++ 用户管理
+++ +++++++++++++++++++++++++++
除非有明确的需求且明白相关风险,建议日常使用中不使用 root 用户,也不建议将任何用户加入 root 用户组。添加用户使用 useradd 命令。具体用法请查看 man 手册或 help 消息。
一个例子:
# useradd -m -g users -s /bin/bash <用户名>
# # 该命令创建一个名为 <用户名> 的用户,指定登陆 shell 为 bash,所属主用户组 users,用户文件夹位于 /home/<用户名>。
# passwd <用户名> # 设置密码推荐阅读:
+++
+++ 声音管理 Arch Wiki
+++ +++++++++++++++++++++++++++
许多桌面环境亦提供了声音控制功能。若跳过本节,可稍后进行设置。
Arch Linux默认开启了声音支持,默认静音。用户可通过 alsamixer(所属包:alsa-utils) 取消静音:方向键 选中 Master 和 PCM
[M] 取消静音
+++
+++ 配置图形界面
+++ +++++++++++++++++++++++++++---
--- 安装显卡驱动
--- ---------------------------# lspci | grep VGA # 确定显卡型号
# pacman -S <驱动包>
#
# # 官方仓库提供的驱动包:
# # +----------------------+--------------------+--------------+
# # | | 开源 | 私有 |
# # +----------------------+--------------------+--------------+
# # | 通用 | xf86-video-vesa | |
# # +----------------------+--------------------+--------------+
# # | Intel | xf86-video-intel | |
# # +--------+-------------+--------------------+--------------+
# # | | GeForce 7+ | | nvidia |
# # | nVidia +-------------+ xf86-video-nouveau +--------------+
# # | | GeForce 6/7 | | nvidia-304xx |
# # +--------+-------------+--------------------+--------------+
# # | AMD/ATI | xf86-video-ati | |
# # +----------------------+--------------------+--------------+若需安装 AMD Catalyst,请参阅 Arch Wiki > AMD Catalyst
---
--- 安装 X 窗口系统
--- ---------------------------
X 窗口系统(X11 / X)是诸多桌面环境的基础。# pacman -S xorg-server xorg-server-utils # 安装 Xorg Server
# pacman -S xf86-input-synaptics # 可选,触摸板支持
# pacman -S ttf-dejavu wqy-microhei # 可选,Dejavu 与文泉驿 - 微米黑字体---
--- 安装桌面环境
--- ---------------------------# pacman -S <桌面环境组>
官方仓库提供的桌面环境有
---
--- 配置以启动桌面环境
--- ---------------------------
启动方式主要有两种:
+++
+++ 安装中文输入法
+++ +++++++++++++++++++++++++++fcitx:
安装 fcitx:
# pacman -S fcitx-im fcitx-configtool
配置:
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"KDM、GDM、LightDM 等显示管理器的用户,向 添加以上命令。
startx 与 slim 的用户,向 ,在 exec 语句前添加以上命令。
在 GNOME 上使用 fcitx 须禁用 iBus:
$ gsettings set org.gnome.settings-daemon.plugins.keyboard active false
添加输入法:
$ fcitx-configtool
安装其他输入法引擎:
# pacman -S <输入法引擎>
官方仓库提供的 fcitx 输入法引擎:
$ pacman -Ssq fcitx pinyin # 拼音
fcitx-cloudpinyin
fcitx-googlepinyin
fcitx-libpinyin
fcitx-sunpinyin
$ pacman -Ssq fcitx zhengma # 五笔、郑码、仓颉
fcitx-table-extra
+++
+++ 推荐阅读
+++ +++++++++++++++++++++++++++