前言
本来有写这个博客的想法,但无奈最近时间比较忙
一心想去编译Samsung内核,中间一波多折.
故一拖再拖。幸好最近内核的进程一直搁置,我就打算今晚扔到Stackoverflow然后收获一堆downvote,或者去XDA看看。
材料准备
电脑,U盘各一个,在ArchLinux官方 选择镜像站下载镜像,用Etcher 制作启动U盘
- Etcher 有个非常好的优点——全平台兼容,酱紫就不怕出现在Linux很难制作Windows启动U盘的尴尬场面。
安装步骤
制作启动盘
打开Etcher 直接选择iso文件再选择U盘安装即可
进入BIOS
每个主板或笔电进入BIOS的方法,各不相同故请自行Google 记得在BIOS里面关闭secure boot
连接网路
有线网路
接上网路,稍等片刻即可
无线网路
iwctl #进入无线网路工具
device list # 列出网路设备 通常为Wlan0
station wlan0 scan #扫描无线网路
station wlan0 get-networks #列出可用无线网路
station wlan0 connnect WiFiname
- WiFiname 为WiFi 名称,输入一部分可用Tab补全,然后输入密码回车,最后输入exit退出
测试网路连接是否正常
ping www.bing.com
设置镜像网站
把我们要设定的镜像站放在前面
- 使用上下左右键移动,按i输入文字,改好后按Esc,再输入「:wq」退出VIM
- 如果真的不会如何使用vim那就Google一下再回来吧
vim /etc/pacman.d/mirrorlist #打开文件按需求把下面的源加进去
中国大陆用户设定清华源和中科大即可
#China
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
分割磁盘
archlinux安装需要分三个分区
efi分区 512MB.
swap分区 运存的60% # 看个人运存而定
主分区 剩余部分即为主分区 .
下面将会用cfdisk分割磁盘,efi分区格式type为 EFI Ssystem,Swap分区为Swap System,主分区为Lnux System
cfdisk /dev/nvme0n1 #执行分割分区大小,类型
fdisk -l # 查看分区情况
配置分区
mkswap /dev/nvmexn1p2 # 格式化 swap 分区
mkfs.vfat /dev/nvmexn1p1 #格式化EFI分区
mkfs.btrfs -L ArchLinux /dev/nvmexn1p3 # 格式化主分区为ext4
mount -t btrfs -o compress=zstd /dev/nvmexn1p3 #挂载主分区到/mnt, 为创建子卷做准备
btrfs subvolume create /mnt/@ # 创建 / 目录子卷
btrfs subvolume create /mnt/@home # 创建 /home 目录子卷
unmount /mnt
挂载分区
mount -t btrfs -o subvol=/@,compress=zstd /dev/nvmexn1p3 /mnt # 挂载 / 目录
mkdir /mnt/home # 创建 /home 目录
mount -t btrfs -o subvol=/@home,compress=zstd /dev/nvmexn1p3 /mnt/home # 挂载 /home 目录
mkdir -p /mnt/boot # 创建 /boot 目录
mount /dev/nvmexn1p1 /mnt/boot # 挂载 /boot 目录
swapon /dev/nvmexn1p1 # 挂载交换分区
fdisk -l #查看分区挂载是否正确
使用pacstrap安装基本Linux base、linux
pacstrap /mnt linux linux-firmware linux-headers base base-devel vim btrfs-progs
生成fstab
genfstab -U /mnt >> /mnt/etc/fstab
检视挂载状况
cat /mnt/etc/fstab
chroot到系统。
arch-chroot /mnt
设定主机名和时区
首先在/etc/hostname设定主机名字
vim /etc/hostname #输入ArchLinux 再:wq保存退出即可
ArchLinux 为主机名
在vim /etc/hosts配置hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 ArchLinux.localdomain ArchLinux
设定时区
ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime # 设定台北为时间同步时区 二选一
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 设定上海为时间同步时区
硬体时间
用命令将同步时间设定到硬体
hwclock --systohc
安装微码
pacman -S intel-ucode # Intel
pacman -S amd-ucode # AMD
设定locale
编辑 /etc/locale.gen,去掉 en_US.UTF-8 UTF-8 以及 zh_CN.UTF-8 UTF-8 tw_CN.UTF-8 UTF-8
vim /etc/locale.gen
locale-gen
在 /etc/locale.conf 设定为英文,防止乱码
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
安装桌面程式
安装基本软件
pacman -S sudo networkmanager vim firefox noto-fonts-cjk noto-fonts-emoji
pacman -S xorg xorg-server pipewire nvtop
pacman -S fcitx5-im fcitx5-chewing fcitx5-qt fcitx5-gtk fcitx5-chinese-addons # 输入法
pacman -S git openssh fakeroot base-devel
pacman -S sof-firmware alsa-firmware alsa-ucm-conf #声卡
安装gnome 桌面
pacman -S gnome gdm
安装KDE桌面
pacman -S sddm plasma-meta kde-applications plasma-wayland-session
- sddm 为kde桌面的登录管理器,而gdm为gnome的, 两个桌面二选一即可
为Root用户设定密码
passwd root
配置Root用户默认编辑器
- 在git 和visudo archlinux会使用vi而不是vim,有时候会出错,所以需要设置默认编辑器
vim ~/.bash_profile
export EDITOR='vim'
创建普通用户
- username 为用户名,可自行改成自己的名字如 black useradd -m -G wheel -s /bin/bash username passwd user # 设定普通用户密码
给予普通用户sudo权限
EDITOR=vim visudo # 设定visudo的编辑器为vim,上面的配置尚未生效
- 找到这行#%wheel ALL=(ALL:ALL) ALL,并把前面的注释符 # 去掉
设置开机服务
systemctl enable gdm.service #gnome桌面需要
systemctl enable NetworkManager.service #网络管理器,连接网络所需
systemctl enable sshd.service #ssh服务
sudo systemctl enable --now bluetooth
安装引导程式
安装对应的软体
pacman -S grub efibootmgr
安装grub 到EFI分区
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
生成grub所需文件
grub-mkconfig -o /boot/grub/grub.cfg
系统安装完成。退出chroot,取消挂载,重启
exit
umount /mnt
reboot 重启
_
系统后续安装优化
配置中文输入法
sudo vim /etc/environment
把下面这几行加入即可
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus
- 在桌面打开 fcitx5 搜索拼音(Pinyin)添加即可
pacman软件管理器使用方式
pacman 相当于ubuntu 的apt-get,此节列出Arch Linux的套件管理员pacman的常用指令。
搜索线上仓库软件
sudo pacman -Ss <软件名称>
用此指令安装软件
sudo pacman -S <软件名称>
卸载软件
sudo pacman -R <软件名称>
以下指令会更新整个系统的软件。因为Arch Linux是滚动发行版,建议每半个月进行一次全系统更新。更新前建议看ArchLinux官方的新闻有无更新注意事项。
sudo pacman -Syu
强制同步软件库。某个软件无法下载的时候才执行此指令。
sudo pacman -Syuu
删除本机软件快取
sudo pacman -Sc
查看本地已安装软件
sudo pacman -Qt
安装AUR 助手
AUR (Arch User Repository) 是Arch Linux官方软件库以外的主要软件来源。AUR没有收录套件档案,只有编译软件的设定档。AUR软件最直接的装法是手动git clone远程仓库,再用makepkg指令打包安装。
但是这样太麻烦了,所以我们通常会安装一个AUR Helper来自动化处理,我使用Paru,语法跟pacman很像
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si
Paru 安装软件
paru -S google-chrome # 按下Enter同意安装,并按照萤幕提示输入密码
Paru 移除软件件
paru -R google-chrome
更新所有AUR套件,并顺便更新整个系统的套件:
paru -Syu
Clash for windows 代理软体
开启Clash for windows GitHub仓库
,下载含linux字符文件并解压运行cfw即可,如有不明之处可查看官网
- Clash for Windows 已删库,我们使用clash-verge-rev
paru -S clash-verge-rev-bin
自用gnome 插件
安装 gnome 插件管理器
paru -S gnome-browser-connector
开启32位库支持
vim /etc/pacman.conf
仅需把下面两行前面的#去掉,输入:wq保持并退出即可,然后强制更新整个系统
#[community]
#Include = /etc/pacman.d/mirrorlist
sudo pacman -Syyu #更新系统
Android 刷机工具
sudo pacman -S android-tools
blur-my-shell 模糊抽屉界面不再是灰色~
Caffeine 禁用荧幕保护和自动暂停
Clipboard Indicator 剪贴板管理器,记录你复制过的内容
Coverflow Alt-Tab 此插件可以实现Mac系统的快速切换任务且自带流畅切换动画
Dash to Dock 固定Dock栏,gnome在某次更新砍了这个功能
Extension List 在状态栏开启插件清单
OpenWeather 在顶栏显示天气状况
Vitals 一个很好用的插件可快速查看系统的CPU,Ram,存储占用状况