安装准备

启动盘

archlinux iso下载 (清华大学开源软件镜像站)

windows 刻录教程

linux 下刻录

1
2
3
4
5
#  查询盘符
lsblk

# 刻录
sudo cat [iso文件路径] > /dev/ [盘符]

设备联网

! Arch Linux 安装需要网络

使用 WIFI

1
2
#  WiFi 列表
wifi-menu

显示 wifi 连接界面,报错网卡自动安装失败

使用 Android 手机共享 wifi 网络

1
2
3
4
5
6
7
8
9
10
11
# 手机连接 wifi ,连接电脑并开启 usb 共享网络

# 网络设备列表
ip link show

# 指定网络设备 开启dhcpcd
ip link set <设备id> up
dhcpcd <设备id>

# 测试网络
ping www.taobao.com -c3

准备配置

开启时间更新

1
timedatectl set-ntp true

cgdik 新建分区后续四选项说明:1.First sector 默认 扇区起始位置 2.Size in sectors or 分区大小,单位 M 3.Current type is 分区类型 4.Hex code or GUID 盘符名称,自己起或默认

分区 (UEFI GPT )

1
2
3
4
5
6
7
8
9
10
11
12
13
# 显示设备列表
lsblk

# cgdisk 可视化 gpt 格式分区命令行软件
cgdisk /dev/sdd

# 最少分三个区 boot(启动) swap(交换空间) mnt(系统)
# 建议分第四个分区 home 文件与系统隔离,增强数据安全

# boot 分区类型 ef00 ( UEFI 启动)
# swap 分区类型 8200
# / 分区类型 8304
# 其他默认

分区格式化

1
2
3
4
5
6
7
8
9
10
11
12
13
# 显示设备列表
lsblk

# boot 分区格式化
# 所有关于sdc 相关替换成自己实际的
mkfs.vfat /dev/sdc1

# swap 格式化并启动
mkswap /dev/sdc2
swapon /dev/sdc2

# mnt (home) 格式化
mkfs.ext4 /dev/sdc3

分区挂载

1
2
3
4
5
6
7
8
# 分区挂载
mount /dev/sdc3 /mnt

# 创建并挂载/mnt/boot (home)文件夹
mkdir /mnt/boot
mount /dev/sdc1 /mnt/boot

# lsblk 检查挂载位置、成功否

系统安装

安装系统

文本编辑器 nano 基本使用,ctrl+k 剪切 c+u 粘贴 co 保存 cx 退出 ctrl + 向上方向键 跳转文本首

使用国内镜像

1
2
3
4
5
6
7
8
9
10
11
12
13
# 方法一:手动编辑
nano /etc/pacman.d/mirrorlist
# 搜索 chian
# 将 Server="..." 剪贴至文本首

# 测试
pacman -Syy

# 方法二:自动按速排序
# !耗时很长,建议装好后再整
cd /etc/pacman.d
cp mirrorlist mirrorlist.backup
rankmirrors -n 7 mirrorlist.backup > mirrorlist

安装基本系统

1
pacstrap /mnt base base-devel

安装 base-devel 才能使用 AUR 或 ABS

生成 Fstab ()

1
genfstab -U /mnt >> /mnt/etc/fstab

fstab 包含静态文件系统信息,定义存储设备和分区整合到整个系统的方式。

chroot

1
arch-chroot /mnt

chroot 操作,改变当前进程及进程根目录。

设置时区

1
2
3
4
5
# 设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 设置时间为 UTC,调整时间漂移
hwclock --systohc --utc

历史原因 时区没有北京时间

TUC 世界统一时间

时间漂移:就是将一段时间后时钟产生的误差调整过来。

设置Locale (区域)

1
2
3
4
5
6
nano /etc/locale.gen
# c+w 搜索
# 将 en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 # 注释去掉

# 生成本地化文件
locale-gen

Locale 区域,以正确显示货币、时间等等文字样式

设置语言

1
2
# 系统设置为 en_us ,用户再设置为中文
echo LANG=en_US.UTF-8 > /etc/locale.conf

设置主机名

1
echo [主机名] > /etc/hostname

安装启动引导软件

1
2
3
4
5
6
7
8
9
# UEFI 启动系统
pacman -S grub efibootmgr

# !至关重要,检查一遍排除输入错误
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub --recheck

# 出现类似下面则成功
# Installing for x86_64-efi platform.
# Installation finished. No error reported.

存在 bios 启动方式 (例:windows 7 ) 双系统,需安装 dosfstools。
os-prober 自动检测其他系统并添加到启动选项

新建用户

1
2
3
4
5
6
7
8
# 安装 zsh (也可以用 bash )
pacman -S zsh

# 新建默认 shell 为 zsh 的普通用户
useradd -m -g users -G wheel -s /bin/zsh <用户名>

# 设置密码
passwd [用户名]

用户添加权限

1
2
3
4
5
# 添加用户使用 sudo 权限
EDITOR=nano visudo

# 在 root ALL=(ALL) ALL 下面添加
[用户名] ALL=(ALL) ALL

安装驱动

方案一:开源驱动

1
pacman -S xf86-video-intel xf86-video-nouveau

方案二:闭源驱动+bumblebee  [3]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 启动对 32 位程序支持
nano /etc/pacman.conf
# 取消 #号注释
[multilib]
Include = /etc/pacman.d/mirrorlist

# 更新
pacman -Syy

# nvidia >= GeForce 400
# vulkan 支持要求 intle >= 4 代
pacman -S bumblebee mesa nvidia lib32-virtualgl lib32-nvidia-utils primus lib32-primus bbswitch xf86-video-intel vulkan-icd-loader vulkan-intel

# 用户加入 bumblebee
gpasswd -a [用户名] bumblebee
# 开机自启
systemctl enable bumblebeed.service

图形桌面

安装 xfce4

1
2
3
4
5
# xfce4 桌面 lightdm 显示管理器
pacman -S xorg xfce4 xfce4-goodies lightdm lightdm-gtk-greeter

# 开机自启
systemctl enable lightdm

设置中文

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 安装中文字体 (思源黑体)
# 可选 emoji
pacman -S adobe-source-han-sans-cn-fonts

# 进入用户主文件夹
cd /home/[用户名]

# 该文件 lightdm 读取并运用
nano ~/.xprofile

# .xprofile 内容,单独在图形界面启用中文
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
export LC_CTYPE=en_US.UTF-8

系统软件

intel 微指令更新

1
2
3
4
pacman -S intel-ucode

# 重新生成配置文件
grub-mkconfig -o /boot/grub/grub.cfg

网卡驱动

wifi-menu 报错,网卡驱动自动安装失败,可手动安装。

1
2
# BCM43142 驱动
pacman -S linux-headers broadcom-wl-dkms

网络管理器

1
2
3
4
5
# 自动检测、连接网络
pacman -S networkmanager network-manager-applet

# 开机自启
systemctl enable NetworkManager

其他

1
2
3
4
5
6
7
8
9
10
11
12
13
# 声音 图形声音调节插件 解码器
pacman -S alsa-utils pulseaudio pavucontrol

# 防火墙 gufw
pacman -S gufw

# android (mtp) 自动检测挂载
pacman -S gvfs-mtp
# 可选 apple gvfs-afc
# 可选 数码设备 (ppt) gvfs-gphoto

# 火狐浏览器
pacman -S firefox

退出重启

1
2
3
exit
reboot (重启)
# 到这里 arch+xfce4+lightdm 就算是安装好了

后续配置

驱动测试

1
2
3
4
sudo pacman -S mesa-demos
optirun glxgears -info
primusrun glxgears
# 有动画窗口出现 optimus bumblebee 正常工作

休眠

开启

1
2
3
4
5
6
7
8
9
10
11
# 在 bootloader 中增加 resume 内核参数
# 在 GRUB_CMDLINE_LINUX_DEFAULT 中添加 resume=/dev/[swap]
sudo nano /etc/default/grub
# 更新 grub 配置
sudo grub-mkconfig -o /boot/grub/grub.cfg

# 配置 initramfs 的 resume 钩子
sudo nano /etc/mkinitcpio.conf
# 在 HOOKS="base udev autodetect modconf..." 行中添加 resume 钩子
# 重新生成 initramfs 镜像
sudo mkinitcpio -p linux

休眠锁定

唤醒进入桌面需要密码验证

1
2
3
4
5
6
7
8
#  light-locker 能够很好的配合电源管理器
sudo pacman -S light-locker

# 原自带锁定失效,需重新配置
sudo nano /usr/bin/xflock4
# for lock_cmd in \
# 下面添加一行
"light-locker-command -l"

性能提升

硬盘 io   [4][5]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 固态启用 TRIM
sudo nano /etc/fstab
# 添加参数 discard
# 例如:/dev/sda1 / ext4 discard,relatime 0 1

# 调节 Page Cache
sudo echo 2000 > /proc/sys/vm/dirty_writeback_centisecs
sudo echo 6000 > /proc/sys/vm/dirty_expire_centisecs
sudo echo 20 >/proc/sys/vm/dirty_background_ratio

# I/o
sudo nano /etc/default/grub
# 搜索 GRUB_CMDLINE_LINUX_DEFAULT
# 添加参数为 GRUB_CMDLINE_LINUX_DEFAULT="elevator=noop 。。。"
# 更新配置
sudo grub-mkconfig -o /boot/grub/grub.cfg
1
2
3
4
5
# 开启 tcp_fastopen
echo 3 > /proc/sys/net/ipv4/tcp_fastopen

# 内存不足 10% 才使用 swap
echo 10 > /proc/sys/vm/swappiness

其他

Arch Linux 中文社区仓库

1
2
3
4
5
6
7
8
9
10
nano /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

GPG 导入失败   [10]

1
2
3
4
5
6
7
8
pacman -Syu haveged
systemctl start haveged
systemctl enable haveged

rm -fr /etc/pacman.d/gnupg
pacman-key --init
pacman-key --populate archlinux
pacman-key --populate archlinuxcn

中文输入法  [6]

1
2
3
4
5
6
7
8
9
10
11
sudo pacman -S fcitx fcitx-im fcitx-configtool fcitx-cloudpinyin fcitx-sunpinyin

# 添加配置
sudo nano ~/.xprofile

# 文末添加
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

# 注销生效

搜狗输入法 fcitx-sogoupinyin

oh-my-zsh

1
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

host

1
sudo wget https://raw.githubusercontent.com/googlehosts/hosts/master/hosts-files/hosts -O /etc/host

aur yay

1
2
git clone https://aur.archlinux.org/yay.git
cd yay && makepkg -si

主题字体

1
2
3
4
5
6
7
8
# paper 图标
git clone https://aur.archlinux.org/paper-icon-theme-git.git

# 安装命令
makepkg -si

# paper 主题
git clone https://aur.archlinux.org/paper-gtk-theme-git.git

等宽编程字体

1
sudo pacman -S ttf-monaco

桌面快捷方式图标透明

1
2
3
4
5
6
7
8
9
10
11
12
sudo nano ~/.gtkrc-2.0
# 文末添加
style "xfdesktop-icon-view" {
XfdesktopIconView::label-alpha = 0
base[NORMAL] = "#000000"
base[SELECTED] = "#71B9FF"
base[ACTIVE] = "#71B9FF"
fg[NORMAL] = "#fcfcfc"
fg[SELECTED] = "#ffffff"
fg[ACTIVE] = "#ffffff"
}
widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view"

参阅

2018-10-31 更换输入法、添加 yay

2018-10-21 添加 GPG 导入失败 解决方法

2018-07-22 添加 Arch Linux 中文社区仓库、monaco

2018-07-09 添加硬盘、swap 设置,去除 yaourt

2018-06-12 创建

参考信息

1 Installation guide (简体中文)
2 给 GNU/Linux 萌新的 Arch Linux 安装指南
3 Bumblebee (简体中文)
4 Solid State Drive
5 Linux环境下的SSD优化
6 Fcitx (简体中文)
7 Arch Linux Localization (简体中文)
8 调整linux内核尽量用内存,而不用swap
9 Linux 系统中一些针对文件系统的节能技巧
10 GnuPG-2.1 与 pacman 密钥环
11 Markdown链接括号的问题