3235 字
16 分钟
Arch Linux简单安装配置
2024-12-27
2025-01-31
IMPORTANT

仅记录个人配置,详细配置请查看ArchWiki

1.安装#

1.1.安装基本系统#

进入Live介质#

连接互联网#

无线网连接方式#

进入iwd

iwctl

查看并开启设备

device list
#若device未开启则开启device,若对应adapter未开启则需要先开启adapter
adapter adapter_name set-property Powered on
device device_name set-property Powered on

扫描网络

station device_name scan
#成功扫描不会有输出

列出网络

station device_name get-networks

连接网络

station device_name connect SSID
#会要求输入网络密码

退出iwd

quit

检查网络连通性

ping baidu.com

更新时间#

timedatectl

创建硬盘分区#

IMPORTANT

BIOS启动模式下的安装方式请自行查看ArchWiki

查看存储设备

fidsk -l

M2硬盘一般为/dev/nvme*n*,SATA硬盘一般为/dev/sd*

选择使用的硬盘,进入fdisk

fdisk /dev/device_name

必要分区如下

挂载点格式说明建议大小
/bootFat32EFI系统分区1GB
-swapswap交换空间>4GB
/ext4/btrfs根目录视实际需求,至少23-32GB

除此之外可以自行将/home/var等常用目录单独分区

fdisk

#列出当前分区情况
p

#删除分区,提供一个存在的分区编号
d partition

#新建分区
n
#依次要求输入起始扇区、结束扇区、编号
#起始扇区默认即可,结束扇区可使用+nGB等偏移量,编号默认即可

#保存分区表,退出
w
#注意:在保存分区表之前不会对磁盘进行任何操作,写入后无法撤回,注意保存重要数据

按照上述说明建立分区,注意如果原有EFI分区则无需创建新的EFI分区

格式化分区#

WARNING

格式化会删除分区中所有数据,请注意备份重要数据

格式化根目录分区为Ext4/btrfs

#格式化为Ext4
mkfs.ext4 partition
#格式化为btrfs
mkfs.btrfs partition

#提供上一步新建的根目录分区完整分区路径

格式化swap分区

mkswap partition
#提供上一步新建的swap分区完整分区路径

格式化EFI分区

IMPORTANT

若原有EFI分区则无需格式化EFI分区,格式化EFI分区会删除所有启动项,可能导致其他操作系统无法启动

mkfs.fat -F 32 partition
#提供上一步新建的EFI分区完整分区路径

挂载分区#

#挂载根目录分区
mount root_partition /mnt
#挂载EFI分区
mount --mkdir efi_patition /mnt/boot
#启用swap分区
swapon swap_partition

安装软件包#

编辑/etc/pacman.d/mirrorlist文件,在顶部加入国内镜像

Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch
Server = https://mirrors.hust.edu.cn/archlinux/$repo/os/$arch

选择一两个即可

TIP

该配置会被传递到新系统以确保可以正常访问软件仓库

除此之外的Live介质中的配置均不会被保留

安装必要软件包

pacstrap -K /mnt base linux linux-firmware

可选

  • base-devel: base包拓展,包含一些Live环境中有而base包中没有的程序,推荐安装

  • amd-ucode/intel-ucode微码更新,根据CPU选择,推荐安装

  • networkmanager:联网工具,推荐安装

  • vim:文本编辑器

配置新系统#

生成fatab文件

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

切换到新系统

arch-chroot /mnt

设置时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

更新时间

hwclock --systohc

语言设置

编辑/etc/locale.gen,找到需要的语言,去掉前面的注释符号

en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8

生成locale信息

locale-gen

创建/etc/locale.conf,设置语言

LANG=en_US.UTF-8
IMPORTANT

在此处不要把语言直接设置为中文,tty默认不支持中文,会导致输出变成一堆方块,可以在配置好tty中文渲染支持或者进入图形界面后再改为中文

设置主机名

编辑/etc/hostname,直接输入主机名

设置root密码

passwd

创建非root用户

useradd user_name

修改密码

passwd user_name

配置sudo权限

visudo
#找到 root ALL=(ALL:ALL) ALL
#添加以下内容
user_name ALL=(ALL:ALL) ALL
#若需要免密码,可以在最后一个ALL前加入NOPASSWD:

1.2.安装引导程序#

安装GRUB#

安装grub软件包

pacman -S grub efibootmgr

安装grub到EFI分区

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
#仅适用于x86_64架构

生成grub配置

grub-mkconfig -o /boot/grub/grub.cfg

多系统设置#

没有多系统可跳过本节

安装os-prober

pacman -S os-prober

开启os-prober

编辑/etc/default/grub

#取消注释以下内容
GRUB_DISABLE_OS_PROBER=false

重新生成grub配置

grub-mkconfig -o /boot/grub/grub.cfg
NOTE

在chroot环境下os-prober不一定能正常工作,如果没有别的启动项可以进入系统后再次生成grub配置

进入系统#

退出chroot

exit

重启

reboot

此时可以移除安装介质

2.基本配置#

2.1.重新联网#

开启NetworkManager

sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager

扫描可用网络

sudo nmcli device wifi scan

链接网络

sudo nmcli device wifi connect SSID --ask

更新软件

sudo pacman -Syu

2.2.安装AUR助手(yay)#

安装git

sudo pacman -S git

克隆yay-bin仓库

git clone https://aur.archlinux.org/yay-bin.git

安装yay

cd yay-bin
makepkg -si
NOTE

理论上也可以克隆yay仓库而非yay-bin仓库来本地编译yay,但是在国内会被墙,需要更换go的国内源

2.3.安装中文字体#

在安装图形界面之前建议安装中文字体以免无法显示

#安装思源字体
sudo pacman -S noto-fonts-cjk
#安装文泉驿微米黑
sudo pacman -S wqy-microhei

选择一款即可

也可以安装其它字体

#创建字体目录
sudo mkdir -p /usr/local/share/fonts/
#拷贝字体
sudo cp font_file /usr/local/share/fonts/...
#刷新字体缓存
fc-cache

支持ttf、otf格式,会递归搜索子文件夹

验证

fc-list | grep font_name

2.4.配置双系统时间同步#

由于Windows默认采用本地时间 RTC(在中国为UTC+8),而Linux的时间采用UTC时间,所以在二者写入硬件时间后都会在另一个系统产生8h时差

我们通过更改Windows 的时间为UTC时间来解决

在PowerShell中以管理员权限运行以下命令

Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

2.5.配置自动挂载#

查看分区信息

sudo fdisk -l

如果需要挂载NTFS格式的分区,则安装ntfs-3g

sudo pacman -S ntfs-3g

编辑fstab

sudo vim /etc/fstab
#按以下格式添加记录
#partition mount_point fromat defaults 0 0
/dev/nvme0n1p2 /mnt/c ntfs defaults 0 0
#将/dev/nvme0n1p2以NTFS格式挂载到/mnt/c文件夹(注意新建文件夹)

挂载

sudo mount -a

3.安装桌面环境#

3.1.安装显示管理器#

SDDM#

SDDM是一款图形界面启动管理器

安装sddm显示管理器

sudo pacman -S sddm

开启sddm

sudo systemctl enable sddm

sddm会自动探测已安装的桌面环境并在启动时提供选择

UWSM#

uwsm(Universal Wayland Session Manager)是一款适用于wayland的控制台显示管理器。

安装uwsm

yay -S uwsm

shell profile最前面中启动uwsm,uwsm会在登录到tty时立刻启动

启动选择菜单

#~/.bashrc for bash or ~/.zshrc for zsh
if uwsm check may-start && uwsm select; then
    exec systemd-cat -t uwsm_start uwsm start default
fi

或者直接启动某个session

#~/.bashrc for bash or ~/.zshrc for zsh
if uwsm check may-start; then
    exec uwsm start session
fi

注意把session替换为要启动的会话

NOTE

session的列表在/usr/share/wayland-session目录下查看

3.2.安装KDE桌面环境#

安装plasma桌面

sudo pacman -S plasma

安装KDE应用

sudo pacman -S kde-applications

3.3.安装Hyprland桌面环境#

Hyprland没有NVIDIA显卡的官方支持,如果要安装Hyprland,请先安装N卡驱动

安装Hyprland

sudo pacman -S hyprland

由于Hyprland默认使用Kitty,所以建议提前安装kitty,其它终端模拟器可以进入Hyprland后再用Kitty安装

sudo pacman -S kitty

也可以在进入Hyprland后按SUPER + M返回tty更改配置中的默认终端(详见下一节的配置)

IMPORTANT

Hypland官方推荐从命令行启动,故没有对sddm的官方支持,可能无法启动,推荐使用uwsm方式启动。

4.桌面环境配置#

4.1Hyprland配置#

配置文件#

Hyprland配置文件位于~/.config/hypr/hyprland.config

关闭提示#

默认使用自动生成的配置,屏幕上方会有一个提示,在配置文件中更改autogenerated=1来关闭提示

显示器配置#

查看显示器名称和支持的分辨率和刷新率

hyprctl monitors

设置配置文件中的MONITORS分类

monitor=eDP-1, 2880x1800@120, 0x0, 1.6
# 分别为显示器名称,分辨率和刷新率,位置,缩放比例
# 显示器名称可留空(保留逗号),意为对所有显示器设置
# 位置用于多显示器,可设为auto
# 缩放比例可设为auto,高分屏建议自己设置
程序配置#

MY PROGRAMS分类

$terminal = kitty
# 终端
$fileManager = dolphin
# 文件管理器
$menu = rofi -show drun
# 应用启动器
自启动#

AUTOSTART分类

exec-once = ...
# 只执行一次的命令
exec = ...
# 每次打开hyprland都会执行一次的命令
外观#

LOOK AND FEEl分类,详见Hyprland WIKI

输入#

INPUT分类

gestures {
	workspace_swipe = true
	# 可以启用触摸板三指手势切换工作区
}

其他详见Hyprland WIKI

按键绑定#

KEYBINDINGS分类

格式

bind = $mainMod, Q, exec, $terminal

$mainMod默认为SUPER,表示Windows

exec表示执行后面的命令

系统应用#

hyprland不是一个完整的桌面环境,它只提供一个混成器,我们需要自己安装一些实用的系统软件

壁纸#
sudo pacman -S hyprpaper

hyprland配置文件中加入

exec-once = hyprpaper

新建配置文件~/.config/hypr/hyprpaper.conf

preload = ~/Pictures/2.png
wallpaper = ,~/Pictures/2.png

修改图片地址为壁纸,注意第二行逗号前面表示显示器名称,留空表示对所有显示器,逗号不可省略

文件管理器#

GUI文件管理器:dolphin

sudo pacman -S dolphin

TUI文件管理器:ranger

sudo pacman -S ranger
状态栏#
sudo pacman -S waybar

可以进一步查找主题配置样式

hyprland配置文件中加入

exec-once = waybar
声音系统#
sudo pacman -S pipewire
背光调节#
sudo pacamn -S brightnessctl
应用启动器#
sudo pacman -S rofi

可进一步查找主题配置样式

剪贴板#
sudo pacman -S cliphist

hyprland配置文件中加入

exec-once = wl-paste --type text --watch cliphist store # 存储文本
exec-once = wl-paste --type image --watch cliphist store # 存储图片

bind = SUPER SHIFT, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy

之后可以通过Windows+Shift+V启动rofi的菜单查看剪切板历史

通知守护进程#

用来显示系统通知

sudo pacman -S mako

可以进一步查找主题配置样式

hyprland配置文件中加入

exec-once = mako
XDG桌面门户#

提供文件选择器,屏幕录制接口等功能

sudo pacman -S xdg-desktop-portal-hyprland
身份验证器#

用于临时需要获取root权限的GUI应用程序

sudo pacman -S hyprpolkitagent

然后在hyprland配置文件中加入

exec-once = systemctl --user start hyprpolkitagent
U盘自动挂载#
sudo pacman -S udiskie

hyprland配置文件中加入

exec-once = udiskie
QT支持库#
sudo pacman -S qt5-wayland qt6-wayland

5.其他应用#

5.1.Fctix5#

安装fcitx5

sudo pacman -S fcitx5-im fcitx5-chinese-addons fcitx5-pinyin-zhwiki

配置环境变量

sudo vim /etc/environment
# 加入以下内容
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus

然后在桌面环境的配置中使用fcitx5

对于Hyprland

~/.config/hypr/hyprland.confAUTOSTART模块中加入

exec-once = fcitx5

之后使用Ctrl + Space切换输入法,使用Shift切换中英文

5.2.Alacritty#

配置文件位于~/.config/alacritty/alacritty.toml(若没有则自行创建)

常用设置:

[font]
normal={family="0xProto Nerd Font Mono",style="Regular"}
bold={family="0xProto Nerd Font Mono",style="Bold"}
italic={family="0xProto Nerd Font Mono",style="Italic"}
#字体

[cursor]
style = "underline"
#光标样式

[window]
opacity = 0.7
blur = true
#窗口透明度,模糊

[terminal.shell]
program = "/bin/zsh"
#默认shell

5.3.Zsh#

安装zsh

sudo pacman -S zsh

切换默认终端到zsh

sudo chsh /bin/zsh

安装oh my zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

安装Nerd 字体

Nerd Fonts 下载一款Nerd字体按照前文所述方法安装

下载powerlevel10k主题

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

使用powerlevel10k

打开~/.zshrc,更改ZSH_THEME"powerlevel10k/powerlevel10k"

重新加载.zshrc

source ~/.zshrc

之后按照指引配置powerlevel10k即可

之后可以使用p10k configure命令重新配置

5.4.V2rayA#

安装V2rayA

yay -S v2raya

启动V2rayA

sudo systemctl enable v2raya
sudo systemctl start v2raya

之后在浏览器中访问localhost:2017即可配置V2rayA

5.5.Chrome#

yay -S google-chrome-stable

5.6.man#

sudo pacman -S man man-dn man-pages-zh_cn

5.7.top#

top是Linux自带的系统监视软件,但是比较难用

在此基础上有几个常用的系统监视软件

  • btop TUI界面好看也好用,信息全面
  • atop 偏硬核
  • htop 偏向显示cpu信息,信息也比较全面
  • nvtop 监视显卡占用信息(虽然叫nv,但不止N卡可用,别的显卡也可以)
  • iftop 监视网络信息
  • iotop 监视磁盘IO

以上软件均可通过pacman安装

5.8 cpupower#

cpupower用于CPU调频,主要用在笔记本的电源管理上,可通过systemd启动

sudo pacman -S cpupower
sudo systemctl enable cpupower

5.9 tlp#

tlp用于笔记本电源管理

sudo pacman -S tlp
sudo systemctl enable tlp

6.N卡驱动#

IMPORTANT

适用于Maxwell (NV110/GMXXX)系列到Ada Lovelace (NV190/ADXXX)系列,即GeForce GTX 7xx到GeForce RTX 40xx

安装dkms

sudo pacman -S dkms

安装驱动

sudo pacman -S nvidia-dkms nvidia-settings nvidia-utils lib32-nvidia-utils egl-wayland

更改模块

sudo vim /etc/mkinitcpio.conf

#找到MODULES,添加以下内容
MODULES=(... nvidia nvidia_modeset nvidia_uvm nvidia_drm ...)
#同时删除其中原有的kms

添加配置

sudo vim /etc/modprobe.d/nvidia.conf

#写入以下内容
options nvidia_drm modeset=1 fbdev=1

重新生成

sudo mkinitcpio -P

重启生效,之后运行nvidia-smi查看信息面板以验证是否生效

Arch Linux简单安装配置
https://ssl.ztsubaki.xyz/posts/4/4/
作者
ZTsubaki
发布于
2024-12-27
许可协议
CC BY-SA 4.0