### 前言

在开始之前,请在心中默念三遍:

**Arch Linux 是世界上最好的发行版, 我一定能掌握她.**

### 环境

VM ware + UEFI + 500G 虚拟磁盘 + 2G 内存 + 桥接网络

### 下载镜像

进入这里挑个最新的就好, https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/
我下载的是 https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/2018.01.01/archlinux-2018.01.01-x86_64.iso

### 测试网络
`ping baidu.com`

### 对时
`timedatectl set-ntp true`

### 分区
常用分区工具有 `fdisk / gdisk / parted`. fdisk 不支持 gpt, parted 不太完善, UEFI 启动最好搭配 GPT
格式的磁盘, 所以这里我们采用 gdisk

**分区规划**
分区 | 空间
—- | —
EFI | 500 M
Boot | 500 M
/ | 硬盘剩余空间

**使用 gdisk 分区**

执行 `fdisk -l` 或者 `lsblk` 查看硬盘设备名
执行 `gdisk /dev/sda` 开始分区, `dev/sda` 是硬盘设备名

输入 n 新建分区
询问分表号, 默认 1 , 可直接回车
询问分区开始位置, 可直接回车
询问分区结束为止, 输入 `+500M` 回车
询问分区表格式, 默认是 `Linux filesystem`, 由于第一个分区我们用来当作 efi 分区 ,需要 `EFI System` 格式,所以我们需要输入 L 来查询分区表格式的代号, 输入 L 后未发现 `EFI System`, 再次按回车查询更多, 此时, 我们就能发现 `EFI System` 的代号叫 `ef00`
输入 `ef00` 回车, 第一个分区就已经完成了。

输入 n 新建分区
询问分表号, 默认 2 , 可直接回车
询问分区开始位置, 可直接回车
询问分区结束为止, 输入 `+500M` 回车
询问分区表格式, 默认是 `Linux filesystem`, 由于第二个分区我们用来当做 boot 分区, 所以可直接回车
第二个分区就已经完成了。

输入 n 新建分区
询问分表号, 默认 3 , 可直接回车
询问分区开始位置, 可直接回车
询问分区结束为止, 这里我们是使用硬盘剩余的所有空间, 所以可直接回车
询问分区表格式, 默认是 `Linux filesystem`, 由于第三个分区我们用来当做 / 根分区, 所以可直接回车
第三个分区就已经完成了。

输入 p 回车可查看分区表格式, 更多命令可以自行查询
输入 wq 回车, 再输入 Y 保存分区表并退出 `gdisk` 交互模式
至此, 硬盘分区完成

使用 `fdisk -l` 可以查看硬盘分区信息, 记住分区名称以备后用

### 格式化
执行命令时会有询问, 输入 Y 或者默认值即可
“`
mkfs.vfat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
“`

### 挂载
“`
mount /dev/sda3 /mnt
mkdir -p /mnt/boot
mount /dev/sda2 /mnt/boot
mkdir -p /mnt/boot/efi
mount /dev/sda2 /mnt/boot/efi
“`

### 修改镜像地址
这一步是可选的, 只是为了安装时从网络下载文件时能更快
“`
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
vim /etc/pacman.d/mirrorlist
“`
把第一个镜像地址设置为 `Server = http://mirrors.tuna.tsinghua.efu.cn/archlinux/$repo/os/$arch`

### 安装基础包

只要 base 即可, 我习惯把引导工具和必要的软件一块装进去
“`
pacstrap /mnt base base-devel vim grub efibootmgr
“`

### 生成 genfstab
“`
genfstab -U /mnt >> /mnt/etc/fstab
“`

### Chroot 进入新系统
“`
arch-chroot /mnt
“`
### 设置时区
设置为国内上海时区
“`
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
“`
同步硬件时钟
“`
hwclock –systohc
“`

### 设置地区
编辑 /etc/locale.gen 取消注释
“`
vim /etc/locale.gen
“`
取消下面两行的注释后保存
“`
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
“`
“`
locale-gen
“`

编辑 /etc/locale.conf , 添加一行, 个人喜欢英文, 如果乐意设置为 zh_CN.UTF-8 也可以
“`
LANG=en_US.UTF-8
“`

### 主机名
“`
vim /etc/hostname
“`
把主机名写进去, 我这里写入的是 arch

还要记得修改 /etc/hosts 文件
“`
127.0.0.1 arch
“`

### 设置密码
“`
passwd root
“`
连续输入两次 root 密码

### 启动加载器
“` bash
grub-install –target=x86_64-efi –efi-directory=/boot/efi –bootloader-id=arch_grub –recheck
grub-mkconfig -o /boot/grub/grub.cfg
“`

### 退出重启
退出 chroot 模式, 卸载 /mnt 后重启
“`
exit
umount -R /mnt
reboot
“`

### 联网
如果开机后没有网络可以启动 dhcpcd 服务
“`
systemctl start dhcpcd
systemctl enable dhcpcd
“`

### 安装 openssh
“`
pacman -Sy openssh
systemctl restart sshd
systemctl enable sshd
“`
已经启动 ssh 服务并加入开机自启, 默认是不允许 root 远程登录的, 可以修改配置或者再添加一个普通用户

### 添加常规用户
添加 wheel 组的权限
“`
visudo
“`
取消这一行的注释
“`
%wheel ALL=(ALL) ALL
“`
添加一个普通用户 junbaor 到 junbaor、wheel 组
“`
groupadd junbaor
useradd -m -g junbaor -G wheel junbaor
passwd junbaor
“`

> 现在就可以使用 xshell 之类的工具连接 ArchLinux 使用普通用户登录了. `ip addr` 可以查看虚拟机 IP

### 安装 Oh My Zsh
“`
sudo pacman -Sy zsh git
sh -c “$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)”
“`
> 好了, 你现在已经拥有了世界上最好的 Linux 发行版和世界上最好的 Shell 终端.

### 修复 Home、End 键
你会发现使用 zsh 后, 键盘的 Home\End 键失效了, 在 `~/.zshrc` 文件下添加下面两行可以解决
“`
bindkey ‘\e[1~’ beginning-of-line
bindkey ‘\e[4~’ end-of-line
“`
使配置立刻生效
“`
source ~/.zshrc
“`

### 添加 ArchlinuxCN 源

> 参考:https://mirrors.tuna.tsinghua.edu.cn/help/archlinuxcn/

在 `/etc/pacman.conf` 文件末尾添加以下两行:
“`
[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
“`
再安装 archlinuxcn-keyring 包导入 GPG key
“`
sudo pacman -Syy
sudo pacman -S archlinuxcn-keyring
“`

### 安装桌面字体
我们安装 kde 桌面, 比垃圾 gnome 好多了
“`
sudo pacman -S plasma-desktop kde-l10n-zh_cn konsole sddm kscreen dolphin wqy-microhei
“`
plasma-desktop 是 kde 的桌面程序, kde-l10n-zh_cn 是中文语言包, konsole 是一个终端, 不然进入桌面后可能没有输入命令的地方, sddm 是登陆管理器, 先这么理解就对了, 你也可以安装多个桌面使用 sddm 登陆时进行切换, 第一次进入系统是英文, 切到中文后会出现方块字, 所以最好安装一下 wqy-microhei, 它是一款文泉微米黑中文字体, 显示效果还可以, kscreen 是一个可选的安装, 不装的话系统设置里面不能调整分辨率. dolphin 是 kde 套件中的文件管理器

别的教程可能和这里不一样, 不用担心, Arch 本来就十分灵活, 千人千面, 等自己能熟练掌握后就能随意 DIY . 新人装桌面可能会遇到一个叫 xorg 的玩意儿, 先不用管, 咱们不用安装, plasma-desktop 里面已经自动依赖。

有的教程里面会让安装一个叫做 `kde-applications` 的东西, 这玩意儿包含了一大堆软件(比如计算器)并不一定能用到, 不怕臃肿的话也可以装, 进入桌面后想装的话也来得及. 上面我只安装了一个 konsole 终端和 kscreen 设置. 这两个也都包含在 kde-applications 内.

安装完成后, 启动 sddm 服务就可以看到登录界面, 登陆后就可以看到贼鸡儿酷炫的桌面了, 为了下次开机直接进入桌面可以把 sddm 服务设置成开机自启.

“`
sudo systemctl start sddm
sudo systemctl enable sddm
“`

### 效果图
辛苦一番, 看一下阶段性成果
![](https://ws1.sinaimg.cn/large/d6246196ly1fnkox3o7jyj21hc0u0aww.jpg)

终端里面的 Arch 图标是 `screenfetch` 命令显示的, 想玩的话记得安装一下

### 安装 Chrome
由于我们之前配置了 ArchLinuxCN 源, 所以可以很方便的安装
“`
pacman -S google-chrome
“`
点击左下角直接键入 chrome 即可搜索出应用, 或者使用全局查找, 启动后记得在任务栏固定一下方便下次使用

### 安装中文输入法
官方 wiki 有问题, 经实践这样是可以的.
“`
sudo pacman -S fcitx-im fcitx-sunpinyin fcitx-cloudpinyin kcm-fcitx
“`
新建 `~/.xprofile` 文件追加下面三行:
“`
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=”@im=fcitx”
“`
kcm-fcitx 是输入法的 GUI 配置界面 , 和 kde 桌面配合完美

版权声明:本文为junbaor原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/junbaor/p/8722384.html