Beginners' guide (简体中文)
ro:Ghidul începătorilor zh-TW:Beginners' Guide
欢迎,本向导写给 Arch 新用户,但是会尽量做到成为所有用户的参考和信息库。
本文档指导您使用Arch安装脚本来安装Arch Linux:一个简单、轻量级、适合计算机水平较高用户使用的发行版。建议在安装前先浏览一下FAQ。
社区维护的 ArchWiki应该有办法解决遇到的疑难。若在其它地方找不到解决办法,IRC 频道(irc://irc.freenode.net/#archlinux-cn) 和论坛都是求助的好地方。为了贯彻Arch之道,如遇陌生的命令,可输入man command
以查询相关man
手册页。
Contents
准备
系统需求
理论上,Arch Linux能在任何内存空间不小于64MiB的i686兼容机上运行。最基本的base组中包含的包将占用约800MiB存储空间。若您存储空间极度有限,可手动挑选base组中的包进行安装,前提是你必须知道你在做什么。
准备最新的安装媒介
最新的官方Arch Linux安装媒介可自 Download 页获取。ISO 镜像文件仅有一个,但同时支持32位与64位构架。强烈建议始终使用最新的 ISO 镜像。
- 安装镜像有数字签名,强烈建议安装前校验签名。从 Download 页(或者镜像列表中的一项)下载 .sig 文件,把它放到和 .iso 相同的文件夹下。在Arch Linux上,以root权限运行
pacman-key -v iso-file.sig
命令;在其他环境上,以root权限运行gpg2 --verify iso-file.sig
。安装镜像也提供了md5与sha1校验值。
- 用您喜欢的软件把 ISO 映像文件刻录到光盘上,详见 光盘烧录方法。
- 将 ISO 镜像写入U盘,详见 U盘安装媒介.
通过网络安装
如果您打算通过网络安装,就没必要刻录光盘或写入U盘了,可以直接在网络上启动 ISO 镜像,但您得已上线好一个服务器。详见 PXE, 以及 #启动安装程序。
在现成 Linux 系统上安装
参见自现有发行版安装Arch。
在虚拟机中安装
使用虚拟机安装是熟悉Arch Linux的好办法,这种方法不会影响您当前正在运行的操作系统,甚至也不用在硬盘上重新分区。虚拟机还能让您一边开着浏览器看Beginners' Guide一边安装系统。一些用户可能还会发现,若仅为测试,在虚拟机里安装一个独立的Arch Linux操作系统大有裨益。
常见的虚拟机软件有VirtualBox、VMware、QEMU、Xen和Parallels。如果您是Windows用户,建议使用VirtualBox。
各种虚拟机软件的使用步骤大同小异,一般有如下:
- 创建虚拟硬盘镜像,用来装载操作系统
- 适当地配置虚拟机参数
- 将下载的 ISO 镜像作为 CD 设备启动
- 继续按照#.E5.BC.95.E5.AF.BC.E5.AE.89.E8.A3.85.E5.AA.92.E4.BB.8B一步一步来。
以下文章也许用得上:
- VirtualBox 中安装 Arch Linux
- Installing Arch Linux from VirtualBox
- VirtualBox Arch Linux Guest On Physical Drive
- Installing Arch Linux in VMware
- Moving an existing install into (or out of) a virtual machine
引导安装媒介
大多现代操作系统允许您在POST时手动设置引导设备,一般来说是在BIOS屏幕显示的瞬间按下 F12
,并选中包含 Arch ISO 的设备。或者,您也许可以在您的计算机BIOS上手动修改设备先后的引导顺序。
为了实现后者,通常要在启动后的POST过程中按Delete
/Enter
/Esc
/F1
/F2
/F8
/F10
/F11
或F12
即可进入BIOS设置界面以修改设备先后的引导顺序。把包含 Arch ISO 的设备设为系统引导首选。再选 "Save & Exit" (或您 BIOS 相应的选项),您的计算机接着应该会开始常规的引导流程了。
当Arch菜单出现时,选 "Boot Arch Linux" 并按 Enter
进入 Live 环境以进行实质的安装(如果是UEFI引导,选项可能会是 "Arch Linux archiso x86_64 UEFI" 之类的)。
检查是否启动到 UEFI 模式
如果您使用 UEFI 主板,且 UEFI 启动模式(优于 BIOS/Legacy 模式)已启用,CD/USB 会自动通过 Gummiboot 启动 Arch Linux。之后会出现以下菜单:
Arch Linux archiso x86_64 UEFI USB UEFI Shell x86_64 v1 UEFI Shell x86_64 v2 EFI Default Loader
默认选中第一项。
要确认是否已进入UEFI模式,可运行:
# efivar -l
如果 efivar
列出的UEFI变量无误,说明您已进入UEFI模式。如果并不正确,请检查 UEFI 中列出的要求是否满足。
启动问题疑难解答
- 若使用英特尔显卡,且在引导阶段发生黑屏,此或许与KMS有关。一个也许有效的解决方法是先重启电脑,并在引导菜单上,对着您所想启动的选项(i686 或 x86_64)按
e
键。在行尾输入nomodeset
并回车。另外,也可以试一下video=SVIDEO-1:d
,这不会禁用KMS,如果这办法行得通的话。最后,还可以试试i915.modeset=0
,详见 Intel (简体中文)。 - 若没有发生黑屏,而是在启动过程中,加载内核时死机。可在菜单上对某行按
Tab
编辑,在行尾加入acpi=off
并回车。
安装
您会看到一个命令提示符,且您已自动以root
身份登陆。您的Shell是zsh,有强大的命令补全支持以及 grml config提供的其他特性。
若要编辑文本文件,建议用nano
。如果您不太会用,参考Nano#nano_usage.
如果您想实现与 Windows 共存的双启动,详见Windows and Arch Dual Boot.
修改语言
键盘布局默认为us
(美式键盘映射)。如果您正在使用非美式键盘布局,通过以下的命令选择相应的键盘映射表:
# loadkeys layout
将 layout 转换为您的键盘布局,如fr
,uk
,dvorak
或be-latin1
。这里有国家的二位字母编码表。使用命令localectl list-keymaps
列出所有可用的键盘布局。
大多语言使用多于 26 个英文字母的字符,因此需要在 /usr/share/kbd/consolefonts/
修改字体,否则这些语言的文字会显示成白方块。比如:
# setfont lat9w-16
接着您可以运行 showconsolefont
命令以显示出包含所有已加载字体的内容。注意名字区分大小写,所以请务必精确拼写您所看到的终端字体名称。详见 Fonts#Console fonts.
系统语言默认为美式英语。若想在安装过程中使用其他语言,以德语为例,在 /etc/locale.gen
中去掉相应 locale 前的 #
, 就像现成的美式英语 (en_US.UTF-8 UTF-8) 一样。请选择包含 UTF-8
的行。
# nano /etc/locale.gen
en_US.UTF-8 UTF-8 de_DE.UTF-8 UTF-8
# locale-gen # export LANG=de_DE.UTF-8
建立网络连接
安装程序会自动运行 dhcpcd
守护进程以尝试有线连接。可以用 ping
来检查是否连通。
# ping -c 1 t.cn
PING t.cn (180.149.135.224) 56(84) bytes of data. 64 bytes from 180.149.135.224: icmp_seq=1 ttl=128 time=6.31 ms --- t.cn ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 6.315/6.315/6.315/0.000 ms
如果发生 ping: unknown host
错误,表示网络不通。请先检查网线是否接触良好,无线信号强度是否足够好,若确定没问题,恐怕得按以下步骤手动配置网络。
若连通成功,请跳至#准备存储设备。
有线连接
如果您要通过静态 IP 地址连接有线网络,请遵循该章节。
首先,禁用自动开启的 dhcpcd
服务:
# systemctl stop dhcpcd
确定有线连接的接口名。
# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp2s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000 link/ether 00:11:25:31:69:20 brd ff:ff:ff:ff:ff:ff 3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 1000 link/ether 01:02:03:04:05:06 brd ff:ff:ff:ff:ff:ff
此例中,有线连接的接口名为 enp2s0f0
. 如果您不太确定,那有线连接接口名一般以 "e" 开头,而不会是以 "lo" 或 "w" 开头。
您还得掌握以下参数:
- 静态 IP 地址
- 子网掩码,使用CIDR 书写方式, 例如掩码
255.255.255.0
的 CIDR 书写方式为/24
. - 网关 IP 地址
- 域名服务器 (DNS) 的 IP 地址
- 域名(如果可以自行设置则不用)
激活接口(enp2s0f0
为例):
# ip link set enp2s0f0 up
添加地址:
# ip addr add IP 地址/子网掩码 dev 接口名
例如:
# ip addr add 192.168.1.2/24 dev enp2s0f0
详见 man ip
.
用类似下面的命令添加网关,ip 地址替换为实际的网关地址:
# ip route add default via IP 地址
例如:
# ip route add default via 192.168.1.1
编辑 /etc/resolv.conf
如下, 以替换您的域名服务器 IP 地址和本地域名:
# nano /etc/resolv.conf
nameserver 61.23.173.5 nameserver 61.95.849.8 search example.com
您现在应该成功连接有线网络。若无,详见 网络配置。
无线网络
如果您在安装过程中需要连接无线网络(Wi-Fi),请遵循该章节。
首先确定无线网络接口名:
# iw dev
phy#0 Interface wlp3s0 ifindex 3 wdev 0x1 addr 00:11:22:33:44:55 type managed
在该示例中,使用 wlp3s0
当作接口。如果您不太确定,那无线连接接口名一般以 "w" 开头,而不会是以 "lo" 或 "e" 开头。
现在用 netctl 的 wifi-menu
来连接网络:
# wifi-menu wlp3s0
您现在应该成功连接无线网络。若无,详见 #不用 wifi-menu 或 Wireless network configuration (简体中文).
激活无线网络接口:
# ip link set wlp3s0 up
为了检验接口是否激活成功,您可以查看以下命令的输出:
# ip link show wlp3s0
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000 link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
<BROADCAST,MULTICAST,UP,LOWER_UP>
中的 UP
表明该接口激活成功,后面的 state DOWN
无关紧要。
除了驱动,大多无线网卡还需要固件。内核一般会自动探测并加载两者,如果您得到类似 SIOCSIFFLAGS: No such file or directory
的输出,意味着您得手动加载固件。若不确定,用 dmesg
查询内核日志,看看有没有来自无线网卡的固件请求。比如您有 Intel 芯片组,输出大概是这样:
# dmesg | grep firmware
firmware: requesting iwlwifi-5000-1.ucode
若无输出,表明系统的无线芯片不需要固件。
接下来,用 iw dev wlp3s0 scan | grep SSID
扫描可用的网络,并通过以下命令连接特定网络:
# wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "ssid" "psk")
将 ssid 替换为实际的网络名称,psk 替换为无线密码,请保留引号。
最后,用 dhcp
获得 IP 分配:
# dhcpcd wlp3s0
若行不通,试试:
# echo 'ctrl_interface=DIR=/run/wpa_supplicant' > /etc/wpa_supplicant.conf # wpa_passphrase ssid passphrase >> /etc/wpa_supplicant.conf # ip link set interface up # wpa_supplicant -B -D nl80211 -c /etc/wpa_supplicant.conf -i interface # dhcpcd -A interface
理论上第三步并非必须,但多多益善。
如果 wpa_supplicant 在第四步中声明它不支持 Driver ,去除 -D nl80211
参数即可:
# wpa_supplicant -B -c /etc/wpa_supplicant.conf -i interface
xDSL(PPPoE), 模拟调制解调器或 ISDN
使用代理服务器
若通过代理服务器连接网络,您需要 export http_proxy
与 ftp_proxy
变量,详见 Proxy settings.
准备存储设备
选择分区表类型
您必须在 GUID 分区表(GPT)和 主引导记录(MBR) 之间选一个。参见选择GPT或MBR 以作出选择。
分区工具
建议新手使用图形化的分区工具。GParted 就很不错,它就有现成的 Live CD. 硬盘首先要分区,接着将分区格式化为需要的文件系统。
虽说 gparted 简单易用,但如果您仅仅想创建几个分区的话,可以用 fdisk 或其他程序快速搞定,安装媒介已内置。在下一章节会介绍 gdisk 与 fdisk 的用法。
擦除分区表
如果您想改头换面,当然并不在意原本的分区,则用以下命令擦除分区表。它只会单纯地创建分区,不会带来在 MBR 和 GPT 之间彼此迁移的任何问题。
# sgdisk --zap-all /dev/sda
分区方案
您可以决定磁盘应该分为多少个区,每个分区又挂载在系统的哪个目录。
将分区如何映射至目录(一般称此为挂载点),取决于您的分区方案。最简单但也不赖的选择,是直接仅分一个巨大的 /
分区。分成 /
和 /home
两种分区也是很常见的方案。
额外要求的分区:
- 如果您使用 UEFI 主板,您需要创建一个额外的 EFI 系统分区。
- 如果您使用 BIOS 主板(或打算以 BIOS 兼容模式引导),并且您希望在 GPT 分区驱动器上安装 GRUB, 您需要创建一个额外的 1 至 2 MiB,类型代码为
EF02
的 BIOS 引导分区。syslinux 则不用。 - 如果您需要加密磁盘,则必须加以调整分区方案。系统安装后,也可以再配置加密文件夹,容器或 home 目录。
如果您想创建交换分区或交换文件,详见 Swap. 使用交换文件的话,修改文件大小比修改分区更方便,但是前者不支持 Btrfs 文件系统。
示范
当前安装媒介已包含了以下工具:fdisk
, gdisk
, cfdisk
, cgdisk
, parted
.
此例使用 fdisk
, 将 fdisk
替换为 cgdisk
可以使用新的 GPT 分区。
在示范中,我们将划分 15 GB 的根分区 /
, 以及占用所有剩余空间的 /home
. 请在 MBR 或 GPT 中选一个,不能同时选两者!
再次强调,实际的分区方案可以很个人化,此处仅作示范用。详见 Partitioning (简体中文)。
用 cgdisk 创建 GPT 分区
启动 cgdisk:
# cgdisk /dev/sda
根分区:
- 选择 New (或者按
N
) –Enter
以在第一个扇区 (2048) 上开始创建分区 – 输入15G
–Enter
以保持默认的十六进制码 (8300) –Enter
以分区名留空。
Home 分区:
- 按几次下方方向键,让光标移动到大的空白分区。
- 在第一扇区选择 New (或者按
N
) –Enter
–Enter
以使用全部剩余空间(或者您也可以输入确定的大小,比如 "30G") –Enter
以保持默认的十六进制码 (8300) –Enter
以分区名留空。
完成之后,分区界面应该类似下面:
Part. # Size Partition Type Partition Name ---------------------------------------------------------------- 1007.0 KiB free space 1 15.0 GiB Linux filesystem 2 123.45 GiB Linux filesystem
再三仔细检查分区大小和布局是否正确。
如果您想从头开始,直接选 Quit 或按 Q
退出,该动作不会保存任何变动,接着您再执行 cgdisk.
如果您对当前的分区方案感到满意,选 Write 或按 Shift+W
, 完成分区。输入 yes
, ,再选 Quit 或按 Q
, 可毫无新变动保留地退出。
用 fdisk 建立 MBR 分区
启动 fdisk :
# fdisk /dev/sda
创建分区表:
Command (m for help):
输入o
并按下Enter
然后建立第一个分区:
Command (m for help):
输入n
并按下Enter
- Partition type:
Select (default p):
按下Enter
Partition number (1-4, default 1):
按下Enter
First sector (2048-209715199, default 2048):
按下Enter
Last sector, +sectors or +size{K,M,G} (2048-209715199....., default 209715199):
输入+15G
并按下Enter
然后建立第二个分区:
Command (m for help):
输入n
并按下Enter
- Partition type:
Select (default p):
按下Enter
Partition number (1-4, default 2):
按下Enter
First sector (31459328-209715199, default 31459328):
按下Enter
Last sector, +sectors or +size{K,M,G} (31459328-209715199....., default 209715199):
按下Enter
现在预览下新的分区表:
Command (m for help):
输入p
并按下Enter
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x5698d902 Device Boot Start End Blocks Id System /dev/sda1 2048 31459327 15728640 83 Linux /dev/sda2 31459328 209715199 89127936 83 Linux
然后向磁盘写入这些改动:
Command (m for help):
输入w
并按下Enter
如果一切顺利无错误的话,fdisk 程序将显示如下信息:
The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
若因 fdisk 遇到错误导致以上操作无法完成,可以用 q
命令来退出。
创建文件系统
仅仅分区是不够的,还需要 mkfs
将分区格式化为指定的文件系统。示范中,root 和 home 分区都用 ext4:
# mkfs.ext4 /dev/sda1 # mkfs.ext4 /dev/sda2
若您分了一个 swap 区,也不要忘了格式化并启用它:
# mkswap /dev/sdaX # swapon /dev/sdaX
UEFI 用户也要格式化相应的 EFI 系统分区(以 /dev/sdaXY 为例):
# mkfs.vfat -F32 /dev/sdaXY
{{Note|如果要在 BIOS + GUID Partition Table 系统上使用 [[GRUB], 请注意 BIOS 启动分区 和 /boot
挂载点不一样。GRUB 会直接使用它,不要格式化成文件系统,也不要挂载它。}}
挂载分区
记下将要安装 Arch 的磁盘及分区。每个分区都能通过一个数字后缀来辨认。比如,sda1
即指某一磁盘的第一分区,而 sda
则表示整个磁盘。
显示当前分区布局:
# lsblk -f
注意要按照顺序挂载,先挂载根分区到 /mnt
(您实际所要挂载的分区名当然可能会不同):
# mount /dev/sda1 /mnt
然后挂载 /home
分区,以及其它其余单独分区,比如 /boot
,/var
,如果您有的话:
# mkdir /mnt/home # mount /dev/sda2 /mnt/home
如果您用 UEFI 主板,也要挂载个 UEFI 分区,虽说任意挂载点可行,但 EFISTUB 推荐挂载到 /boot
:
# mkdir -p /mnt/boot # mount /dev/sdXY /mnt/boot
选择安装镜像
安装前需要编辑 /etc/pacman.d/mirrorlist
, 将偏好的镜像放到最前面。mirrorlist 文件也会被 pacstrap
复制到新系统,所以最好现在就设置,以清华源为例:
# nano /etc/pacman.d/mirrorlist
## ## Arch Linux repository mirrorlist ## Sorted by mirror score from mirror status page ## Generated on 2012-MM-DD ## Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch ...
如果您愿意,您可以只使用一个镜像并全删光其他行,但为保险,还是留其他几个离您较近的镜像作备用好。
安装基本系统
使用 pacstrap 来安装基本系统。如果您不想手动选择安装哪个包,忽略 -i
即可。如果您想编译来自 AUR (简体中文) 的软件包,又或是用得到 ABS (简体中文), 您应该也装上 base-devel 软件包:
# pacstrap -i /mnt base base-devel
此章节会给您安装好最基本的 Arch 系统,其它软件以后会用 pacman (简体中文) 安装得到。
生成 fstab
用以下命令生成 fstab. 之所以用 UUID 是因为它们能唯一且独立地标识,详见 fstab#Identifying filesystems. 如果您想用卷标,用 -L
代替 -U
即可。
# genfstab -U -p /mnt >> /mnt/etc/fstab # nano /mnt/etc/fstab
- 最后一列决定分区在启动时进行磁盘检查的顺序。只有非 btrfs 格式的根分区
/
需要将最后一列设为1
, 其它应该为2
, 以表明在启动时检查,或是0
, 以表明不检查。详见 fstab 字段定义)。 - Btrfs 和 swap 分区的最后一列须设置成
0
.
Chroot 并开始配置新系统
下面要 chroot 到新系统:
# arch-chroot /mnt /bin/bash
从现在开始,我们会通过编辑文件以配置系统。所以若文件不存在,手动创建,或者您也可以加以编辑已存在的文件,以修改默认参数。
充分理解并老实按一步一步来,是保证系统配置成功的关键。
Locale
glibc, 以及其他本地化的程序与库若要本地化文本,都依赖 locales, 后者明确规定地域、货币、时区日期的格式、字符排列方式和其他本地化标准等等。在下面两个文件设置:locale.gen
与 locale.conf
.
/etc/locale.gen
是一个仅包含注释文档的文本文件。指定您需要的本地化类型,只需移除对应行前面的注释符号(#
)即可,请选择帶UTF-8
的項:
# nano /etc/locale.gen
en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_TW.UTF-8 UTF-8
接着执行locale-gen
以生成locale讯息:
# locale-gen
/etc/locale.gen
生成指定的本地化文件,每次 glibc 更新之后也会运行 locale-gen
。
创建 locale.conf
并提交您的本地化选项:
en_US.UTF-8
,系统的 Log 就会用英文显示,这样更容易问题的判断和处理。用户可以设置自己的 locale,详情参阅Locale#Per user.# echo LANG=en_US.UTF-8 > /etc/locale.conf
终端字体和键盘映射
如果您在#修改语言 时就已修改键盘布局和字体过,您就得再相应地编辑 /etc/vconsole.conf
以使该变动对新系统生效,比如:
# nano /etc/vconsole.conf
KEYMAP=de-latin1 FONT=lat9w-16
此章节只对您的虚拟终端生效,即对 Xorg 无效,详见 Console fonts.
时区
可用的时区全集中在 /usr/share/Zone/SubZone
目录里了,
所以要查看可用时区,直接浏览 /usr/share/zhoninfo
即可:
# ls /usr/share/zoneinfo/
同理,您也可以查看子目录下的可用时区:
# ls /usr/share/zoneinfo/Europe
将 /etc/localtime
软链接到 /usr/share/zoneinfo/Zone/SubZone
:
# ln -s /usr/share/zoneinfo/Zone/SubZone /etc/localtime
以上海为例:
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
硬件时间
在计算机所有操作系统上统一硬件时间模式,否则可能会发生冲突。
可以用下面命令自动生成 /etc/adjtime
:
- UTC (推荐):
# hwclock --systohc --utc
- localtime (不推荐,但 Windows 默认使用此方式):
# hwclock --systohc --localtime
内核模块
/etc/modules-load.d/
中保存着内核启动时所要加入模块的配置文件。每个配置文件在 /etc/modules-load.d/
中以 .conf
为文件名结尾。配置文件中包含需要装入的内核模块列表,每行一个模块名。示例:
# nano /etc/modules-load.d/virtio-net.conf
# Load 'virtio-net.ko' at boot. virtio-net
若需在一个 .conf
中指定多个模块,可直接以换行符隔开各个模块名。VirtualBox 的客户机扩展 就是个很理想的示范。
所有空行和以 #
或 ;
开头的行将直接被忽略。
Hostname
设置个您喜欢的主机名,例如:
# echo myhostname > /etc/hostname
并在 /etc/hosts
添加同样的主机名:
# nano /etc/hosts
# # /etc/hosts: static lookup table for host names # #<ip-address> <hostname.domain.org> <hostname> 127.0.0.1 localhost.localdomain localhost myhostname ::1 localhost.localdomain localhost myhostname # End of file
配置网络
您又得再次配置网络,但这次是为您所安装的新系统而配置。 该过程与#建立网络连接基本一致,只不过该配置在新系统每次开机时都会自动生效。
还是老路子,用 ip link
确认下您的网络接口名。
有线网络
动态 IP
- 使用 dhcpcd
如果您只用单一且固定的有线网络连接,也不要网络管理服务的话,一劳永逸地启动 dhcpcd
服务就好了,interface_name
是您的网络接口名:
# systemctl enable dhcpcd@interface_name.service
- 使用 netctl
从 /etc/netctl/examples
复制个配置样本到 /etc/netctl
:
# cd /etc/netctl # cp examples/ethernet-dhcp my_network
再按需编辑配置文件,也别忘了修改 Interface 为实际的接口名。
# nano my_network
启用 my_network
配置:
# netctl enable my_network
- 使用 netctl-ifplugd
您还可以用 netctl-ifplugd
, 它能很好地处理对新网络的动态连接。
安装 ifplugd, netctl-ifplugd
要用到它:
# pacman -S ifplugd
接着在相应接口上激活:
# systemctl enable netctl-ifplugd@interface_name.service
静态 IP
- 使用 netctl
从 /etc/netctl/examples
复制个配置样本到 /etc/netctl
:
# cd /etc/netctl # cp examples/ethernet-static my_network
按需配置配置文件,即修改 Interface
, Address
, Gateway
和 DNS
) 参数:
# nano my_network
Address
中的 /24
为掩码 255.255.255.0
的 CIDR 标记方式。
启用 my_network
配置:
# netctl enable my_network
- 使用 systemd-networkd
详见 systemd-networkd.
无线网络
安装 iw 和 wpa_supplicant, 您要靠它们连网:
# pacman -S iw wpa_supplicant
添加无线网络
- 使用 wifi-menu
安装 dialog, wifi-menu
要用到它:
# pacman -S dialog
完成以下并重启之后,您可以使用 wifi-menu interface_name
来连网,interface_name
是您的无线网络接口名。或者直接执行:
# wifi-menu
- 使用人工 netctl 配置文件
从 /etc/netctl/examples
复制个配置样本到 /etc/netctl
:
# cd /etc/netctl # cp examples/wireless-wpa my_network
按照需要修改模版,即参数 (Interface
、ESSID
与 Key
):
# nano my_network
自动启动:
# netctl enable my_network
自动连接到已知网络
安装 wpa_actiond, netctl-auto
要用到它:
# pacman -S wpa_actiond
激活 netctl-auto
服务,它会自动连接到已知网络,并且出色地处理重新连接于漫游:
# systemctl enable netctl-auto@interface_name.service
调制解调器,ISDN 或 xDSL(PPPoE)
创建初始 ramdisk 环境
如果您的根分区位于 USB, RAID, LVM, 多设备 btrfs 根池,或者 /usr
是一个单独的分区时,您需要正确地配置 hooks。
按需编辑 /etc/mkinitcpio.conf
并使用以下命令重新产生 initramfs 镜像:
# mkinitcpio -p linux
设置 Root 密码
用 passwd
设置一个 root 密码:
# passwd
安装并配置 bootloader
如果使用 Intel CPU,请参照microcode 更新方法进行bootloader配置. AMD CPU 会自动处理。
对于 BIOS 主板
BIOS 用户有多种 bootloader 可选,完整列表在 Boot loaders#Both_BIOS_and_UEFI_boot_loaders. 选一个用起来顺手的,这里只列出两种最常用的 bootloader 以作示范:
- Syslinux (简体中文) 目前只能加载它所安装的硬盘上的文件。它的配置文件相对来说比较好理解。模版参见 syslinux 条目。
- GRUB (简体中文) 功能丰富且支持更复杂的情境。它的配置文件更像是一种脚本语言,对新手来说可能用起来困难一些。我们推荐您使用其自动产生的配置文件。
Syslinux
然后安装 syslinux, 使用 syslinux-install_update
命令自动安装文件 (-i
), 设置分区为活动分区 (-a
), 安装MBR (-m
):
# pacman -S gptfdisk
安装 syslinux:
# pacman -S syslinux # syslinux-install_update -iam ## 或者 syslinux-install_update -iag
安装之后,编辑 /boot/syslinux/syslinux.cfg
, 将 /
指向正确的根分区,如果弄错会 Arch 启动不起来。将 /dev/sda3
修改为实际的根分区(若您是依照上面的例子分的区,那么根分区应当为 /dev/sda1
:
# nano /boot/syslinux/syslinux.cfg
... LABEL arch ... APPEND root=/dev/sda3 rw ... LABEL archfallback ... APPEND root=/dev/sda3 rw
如果您想加 UUID 而不是分区的数字标识,语法为 APPEND root=UUID=partition_uuid rw
.
详见 syslinux 条目。
GRUB
安装 grub 包,并执行 grub-install
已安装到 MBR:
# pacman -S grub # grub-install --target=i386-pc --recheck /dev/sda
虽说可以手动配置 grub.cfg
, 但建议用户自动化生成这个文件。
# grub-mkconfig -o /boot/grub/grub.cfg
对于 UEFI 主板
对于 UEFI 引导器,这里有多个选择。完整的列表参见 Boot loaders. 请先选择一个用起来可能顺手的,在此列出几个常用的选择:
- gummiboot 是一个小型 UEFI 引导管理器,提供一个基本的 EFISTUB 内核与其他 UEFI 应用的菜单。我们推荐新手使用这种 UEFI 引导方式,尤其是对于要和 Win8 双启动的系统。
- GRUB 是一个更加完整的引导器,可作为 gummiboot 不能正确引导的备用解决方案。
不论您选哪一种 bootloader, 请安装 dosfstools 以便在安装之后继续维护 EFI 系统分区。安装efibootmgr 创建可启动的 .efi
文件(bootmanager 安装脚本会使用)
# pacman -S dosfstools efibootmgr
Gummiboot
/boot
,这样可以自动更新 Gummiboot.安装 gummiboot, 执行 gummiboot install
以安装 bootloader 至 EFI 系统。把$esp
替换为 EFI 系统分区挂载点,通常是 /boot
:
# pacman -S gummiboot # gummiboot --path=$esp install
Gummiboot 会自动检测 bootx64.efi
需要的文件并放入 $esp/EFI/boot
, 如果检查到其它操作系统的 .efi
也会同样处理。但是仍然需要手动创建 Gummiboot 配置文件.
创建 $esp/loader/entries/arch.conf
并添加以下内容,别忘了把 /dev/sdaX
改为您的实际根分区,例如/dev/sda1
:
# nano $esp/loader/entries/arch.conf
title Arch Linux linux /vmlinuz-linux initrd /initramfs-linux.img options root=/dev/sdaX rw
然后创建 $esp/loader/loader.conf
,并写入下面配置:
# nano $esp/loader/loader.conf
default arch timeout 5
详见 gummiboot.
GRUB
安装 grub 和 efibootmgr, 再执行 grub-install
来安装 bootloader. 把$esp
替换为 EFI 系统分区挂载点,通常是 /boot
:
# pacman -S grub efibootmgr # grub-install --target=x86_64-efi --efi-directory=$esp --bootloader-id=arch_grub --recheck
下一步,尽管手动建立 grub.cfg
是一个很好的方法,不过对于新手来说我们还是推荐自动化生成:
# grub-mkconfig -o /boot/grub/grub.cfg
详见 GRUB (简体中文)。
卸载分区并重启系统
离开 chroot 环境:
# exit
umount -R /mnt
as a safety measure. If the partition is "busy", you can find the cause with fuser.重启计算机:
# reboot
安装之后
您现在应该有了一个完全可用的 Arch 系统,以此为起点,您可以将这些优雅的工具加以改造成理想的样子。强烈建议您阅读 General recommendations (简体中文),特别是前两个部分.
请继续阅读 General recommendations (简体中文) 的剩余页面,它包含了安装后的众多教程,包括设置图形用户界面,声卡和触摸板等等。
如果想捣鼓一大堆应用程序,详见 List of Applications (简体中文).
Arch Linux 中文化 页面还包含了关于系统、软件中文支持的内容。