Arch Linux安装指南

参考文档:

具体安装环境:

  • intel i5-4210M
  • nvidia 940M
  • 8G+4G ddr4
  • 240G 东芝ssd

一、基本安装

参考链接:

去官网Arch Linux - Downloads找到国内镜像源,下载当前版本的Arch

通过对应的软件(如Rufus - 轻松创建USB启动盘)烧录到U盘,并通过修改启动项从U盘启动即可

  • 修改启动方式为UEFI
  • 修改安全启动(Secure Boot)为False,安装过程中不支持该特性,安装完毕后可以通过配置Arch修改回来

此时进入系统后即为上述安装文档中的Live环境

1.1 Live环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 验证是否为UEFI启动
ls /sys/firmware/efi/efivars

# 查看网络
ip link
# 开启wifi并连接
iwctl # 之后的几行会在iwd自带的shell中运行
device list # 列出wifi设备
station wlan0 scan
station wlan0 get-networks
station device connect SSID # 连接对应的wifi网络
exit # 退出iwd

# 更新时间
timedatectl set-ntp true # 使能网络同步
timedatectl set-timezone Asia/Shanghai # 设为上海 +8 时区
timedatectl # 查看

# 分区
fdisk -l # 查看分区情况(每个分区的起始位置可以被8整除则为4k对齐)
cfdisk /dev/sda # 带界面的分区(默认会使得固态4k对齐)

分区的情况如下:

挂载点 分区 分区类型的GUID 大小
/boot /dev/sda1 C12A7328-F81F-11D2-BA4B-00A0C93EC93B: EFI system partition 512 MiB
/ /dev/sda2 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709: Linux x86-64 root (/) 32 GiB
/home /dev/sda3 933AC7E1-2EB4-4F13-B844-0E14E2AEF915: Linux /home 剩下所有
  • 因为有固态,无需swap分区,如需要也可以通过swap文件的形式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 格式化分区
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
mkfs.fat -F32 /dev/sda1 # 格式化为FAT32

# 挂载分区
mount /dev/sda2 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
mkdir /mnt/home
mount /dev/sda3 /mnt/home

# 修改默认源
vim /etc/pacman.d/mirrorlist
# 删除所有源 并添加以下北外源
Server = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch
# 更新缓存
pacman -Syy

# 安装系统以及常用软件包
pacstrap /mnt base linux linux-firmware networkmanager vim man-db man-pages base-devel

# 检查文件系统并写入
genfstab -U /mnt
genfstab -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab

1.2 切换到新系统

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 切换到新系统中
arch-chroot /mnt

# 设置时区为上海 +8
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock -w # 从系统时钟设置硬件时钟,并更新 /etc/adjtime 中的时间戳

# 本地化
vim /etc/locale.gen # 取消en_US.UTF-8 UTF-8与zh_CN.UTF-8 UTF-8的注释
locale-gen # 生成 Locale
vim /etc/locale.conf # 创建 locale.conf 文件,并 编辑设定 LANG 变量为:LANG=en_US.UTF-8

#网络配置
vim /etc/hostname # 填入主机名
vim /etc/hosts # 填写hosts为以下内容
127.0.0.1 localhost
::1 localhost
# 127.0.1.1 myhostname.localdomain myhostname # 主机名.本地域名 主机名


# 设置root密码
passwd

1.3 安装引导程序GRUB

1
2
3
4
5
6
7
8
9
10
11
# 安装必要软件
pacman -S grub efibootmgr

# 添加启动项(之前已经将EFI分区挂载到/boot)
mkdir -p /boot/EFI/GRUB

# 将 GRUB EFI 应用 grubx64.efi 安装到 /boot/EFI/GRUB/,并将其模块安装到 /boot/grub/x86_64-efi/
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

# 生成 grub.cfg
grub-mkconfig -o /boot/grub/grub.cfg
  • 配置文件的生成过程受到 /etc/default/grub 中的选项和 /etc/grub.d/ 下脚本的影响
  • 每当修改 /etc/default/grub 或者 /etc/grub.d/ 中的文件之后,都需要再次生成 /boot/grub/grub.cfg

1.4 进入新系统

退出上述Live系统并重启进入新系统:

1
2
3
4
5
6
7
8
# 退出arch-chroot
exit

# 卸载分区
umount -R /mnt

# 关机
shutdown now

进入新系统后:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 启动NetworkManager
systemctl start NetworkManager.service
systemctl enable NetworkManager.service # 设置开机自启

# 开启TRIM功能 优化固态
systemctl enable fstrim.timer # 每周激活服务来在所有已挂载的支持discard操作的文件系统上执行fstrim
systemctl start fstrim.timer
systemctl status fstrim.timer # 查看是否激活

# 连接wifi
# 方式一:带界面
nmtui
ping www.baidu.com
# 方式二:命令行
nmcli radio wifi on # 启用wifi
nmcli device wifi rescan # 扫描
nmcli device wifi list # 查看
nmcli dev wifi connect "WiFi的名字" password "WiFi的密码"
nmcli dev wifi connect SSID_Name password wireless_password hidden yes # 连接到隐藏的WiFi

# 创建新用户并设置密码
useradd -m spaceman
passwd spaceman
# 添加sudo权限
sudo -ll # 显示当前的 sudo 配置
EDITOR=vim visudo # 以vim打开/etc/sudoers(默认vi) 增加以下内容
spaceman ALL=(ALL) ALL

# 安装ssh开启远程登录
pacman -S openssh
systemctl start sshd.service
systemctl enable sshd.service # 设置开机自启

1.5 安装KDE

1.5.1 安装x11

1
2
3
4
5
6
7
# 安装xorgs
sudo pacman -S xorg

# 安装第四代及更新的 Intel 显卡驱动
sudo pacman -S xf86-video-intel
sudo pacman -S mesa lib32-mesa # 启用OpenGL(lib32-mesa为64位系统上支持32位OpenGL,需要开启 multilib 仓库,开启方法详见 安装wine)
sudo pacman -S vulkan-intel # 启用 Vulkan

并新建/etc/X11/xorg.conf.d/20-intel.conf文件写入如下内容:

1
2
3
4
5
6
7
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
# Option "DRI" "2" # DRI3 is now default
# Option "AccelMethod" "sna" # default
# Option "AccelMethod" "uxa" # fallback
EndSection

配置X11:

1
2
3
4
# 在当前目录下生成配置文件
Xorg :0 -configure
# 复制到/etc/X11/xorg.conf
cp ./xorg.conf.new /etc/X11/xorg.conf

安装配置xinit

1
2
3
4
5
sudo pacman -S xorg-xinit

# 拷贝配置文件
cp /etc/X11/xinit/xinitrc ~/.xinitrc
# 在 ~/.xinitrc 文件最后一行屏蔽exec行,并添加 exec startplasma-x11

1.5.2 安装显示管理器SDDM( Simple Desktop Display Manager)

参考链接:Display manager - ArchWiki

1
2
3
4
5
# 安装sddm
sudo pacman -S sddm-kcm

# 配置开机自启
sudo systemctl enable sddm.service

1.5.3 安装Plasma桌面

1
2
3
4
5
sudo pacman -S plasma-meta
sudo pacman -S kde-applications-meta # 安装 KDE 应用
sudo pacman -S packagekit-qt5 # 安装Discover后端
# 手动启动(安装上述显示管理器后会自动启动 无需再次通过命令行手动启动)
startx

1.5.4 安装字体

1
sudo pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji ttf-inconsolata

修改KDE中个性化->区域设置->语言以及个性化->区域设置->格式,即可修改为中文

1.5.5 安装中文输入法

参考链接:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 安装fcitx5框架以及
sudo pacman -S fcitx5-im
# 安装 rime(Rime IME)输入法及其词库(词库需要自己编译)
# sudo pacman -S fcitx5-rime fcitx5-pinyin-zhwiki-rime fcitx5-pinyin-moegirl-rime
# 安装大量中文输入方式:拼音、双拼、五笔拼音、自然码、仓颉、冰蟾全息、二笔等及其词库
sudo pacman -S fcitx5-chinese-addons fcitx5-pinyin-zhwiki
# 设置以下环境变量并重新登录即可
vim ~/.pam_environment
# 填入以下值
GTK_IM_MODULE DEFAULT=fcitx
QT_IM_MODULE DEFAULT=fcitx
XMODIFIERS DEFAULT=\@im=fcitx
INPUT_METHOD DEFAULT=fcitx
SDL_IM_MODULE DEFAULT=fcitx
# GTK_IM_MODULE=xim your_gtk2_application
  • 对于 KDE 用户来说,可以通过 设置 -> 区域设置 -> 输入法 -> 拼音 -> 词典 -> 导入 来导入搜狗词库
  • 在拼音输入法的设置页面,你可以启用云拼音(Ctrl+Shift+Alt+C)。但是如果你需要更改云拼音默认的后端,则需要在 fcitx5 的全局设置里进行更改。提供的后端有 Google, Baidu, GoogleCN

1.5.6 浏览器、office、pdf

参考链接:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 火狐
sudo pacman -S firefox-i18n-zh-cn
# edge
git clone https://aur.archlinux.org/microsoft-edge-stable-bin.git
cd microsoft-edge-stable-bin
makepkg -si

# WPS 国际版
git clone https://aur.archlinux.org/wps-office.git
cd wps-office
makepkg -si
# 中文语言包
git clone https://aur.archlinux.org/wps-office-cn.git
cd wps-office-cn
makepkg -si
# 符号字体
git clone https://aur.archlinux.org/ttf-wps-fonts.git
cd ttf-wps-fonts
makepkg -si
  • wpsetwppwpspdf 分别为启动 WPS 文字、WPS 表格、WPS 演示、WPS PDF 的命令

1.5.7 安装AUR(Arch User Repository)软件

参考链接:Arch User Repository - ArchWiki

1
2
3
4
git clone https://aur.archlinux.org/package_name.git
cd package_name
less PKGBUILD
makepkg -si

1.5.8 安装wine及TIM、微信

参考链接:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 启用 multilib 仓库
vim /etc/pacman.conf # 取消 [multilib] 段注释
sudo pacman -Syu # 更新
# 安装wine
sudo pacman -S wine wine-gecko wine-mono
# 安装Winetricks快速脚本,能够方便地安装许多Windows组件
sudo pacman -S winetricks
# 在bashrc中指定wine中Windows C盘的路径以及指定32位运行
export WINEPREFIX=$HOME/.config/wine/
export WINEARCH=win32
# 刷新环境变量
source .bashrc

# 解决wine声卡问题(ALSA、PulseAudio、跨平台 3D 音频库)
sudo pacman -S lib32-alsa-lib lib32-libpulse lib32-openal
# 安装其他函数库
sudo pacman -S lib32-libxml2 lib32-mpg123 lib32-lcms2 lib32-giflib lib32-libpng lib32-gnutls
# 安装微软Truetype字体 解决wine字体显示问题
# 1. 根据上述Microsoft fonts链接,找到Windows字体路径C:\Windows\Fonts,复制到arch中/usr/share/fonts/WindowsFonts下(需要自己创建目录)
# 2. 修改权限
chmod 644 ./WindowsFonts/*
ln -s /home/spaceman/WindowsFonts /usr/share/fonts/WindowsFonts
# 重新生成字体缓存
fc-cache -f

# 配置wine
winecfg

# 安装Windows应用程序
winetricks riched20
wine TIM.exe

# 如果后台有wine 通过以下命令强制关闭
wineserver -k
# 如果后台有TIM 通过以下命令强制关闭
ps -aux | grep TIM
kill xxxx
  • 千万不要以root身份运行Wine
  • 高分辨率显示器,可在winecfg的显示选项卡中适当dpi的值,例如缩放150%,将dpi设置为144

创建TIM桌面图标:

安装的 TIM 可能没有在程序列表中生成图标。若要自行添加图标,新建 tim.desktop 文件,写入以下内容:

1
2
3
4
5
6
7
8
9
10
[Desktop Entry]
Encoding=UTF-8
Version=1
Name=TIM
Comment=Tencent TIM
Exec=wine '/home/spaceman/.config/wine/drive_c/Program Files/Tencent/TIM/Bin/TIM.exe'
Icon=/home/spaceman/.config/wine/drive_c/Program Files/Tencent/TIM/TIMUninst.ico
Terminal=false
Type=Application
Categories=Network;
  • tim.desktop 移动到 ~/.local/share/applications/usr/share/applications文件夹下即可

1.5.9 清理缓存

1
2
3
4
5
6
7
8
9
sudo pacman -R $(pacman -Qdtq)          #清理系统中无用的依赖包
sudo pacman -Sc #删除目前没有安装的所有缓存的包,和没有被使用的同步数据库
sudo pacman -Scc #删除缓存中的全部文件,将会清空缓存文件夹

sudo journalctl --disk-usage #查看日志大小
sudo journalctl --vacuum-time=5d #超过5天的自动删除
sudo journalctl --vacuum-size=500M #超过500M的自动删除

sudo rm /var/lib/systemd/coredump/* #崩溃日志,文件不多,也不大,删不删随你