本篇文章旨在想入坑ArchLinux的小白提供帮助
安装全程需联网 末尾附有我的配置文件(i3)
[将在下期文章中贴出]
此文档演示环境硬件如下:
- x86_64(常见家用64位计算机)(uefi设备)
- nvidia显卡
桌面环境如下: xorg(x11)+kde or xorg(x11)+i3
ArchLinux前的安装准备
1. 下载好的archlinux镜像或烧录了archlinux镜像的U盘
2. 使用烧录好的U盘或镜像进入arch安装环境
3. 为archlinux分区并进行格式化,arch引导可以和其他系统引导共用同一个引导分区,但不建议这样做
#磁盘分区
cfdisk /dev/你的硬盘
#格式化引导分区(如果你单独为arch创建了分区才进行该操作)
mkfs.fat -F 32 /dev/(你为arch创建的EFI系统分区)
#格式化主分区(archwiki称为根分区)
mkfs.btrfs /dev/(你为arch创建的系统主分区,我采用btrfs分区所以仅创建了一个分区)
或
mkfs.ext4 /dev/(你为arch创建的系统主分区,除了ext4你可以选择其他你喜欢的文件系统即分区格式)
#格式化交换分区
mkswap /dev/(交换空间分区,如果没有则跳过)
4. 创建btrfs分卷(如果使用的其他分区格式(文件系统)则跳过此条)
mount /dev/(你为arch创建的系统主分区,此后以根分区代称) /mnt #临时挂载
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home
umount /mnt
5. 挂载分区
#btrfs分区格式:
mount /dev/(根分区) /mnt -o subvol=@
mount /dev/(根分区) /mnt/home -o subvol=@home --mkdir
#--mkdir选项是挂载并自动创建选项
mount /dev/(你为arch创建的EFI系统分区,此后以efi分区代称) /mnt/boot/efi --mkdir
swapon /dev/(交换空间分区,如果没有则跳过)
#非btrfs分区格式:
mount /dev/(你为arch创建的系统主分区,此后以根分区代称) /mnt
mount /dev/(你为arch创建的EFI系统分区,此后以efi分区代称)/mnt/boot/efi --mkdir
swapon /dev/(交换空间分区,如果没有则跳过)
6-1. 联网
#wifi:
#查看设备名称
iwctl device list
#扫描网络,请将wlan0换为你的设备名称
iwctl station wlan0 scan
iwctl station wlan0 get-networks
iwctl station wlan0 connect 你的wifi
#输入密码等待一会后ping 1.1.1.1验证网络
#有线网络:
#如果你的网卡和镜像的通用驱动适配的话默认是已经联网的,运行下面命令重新自动获取ip
dhcpcd
#等待一会后ping 1.1.1.1验证网络如果仍然无法ping通请尝试其他联网方式如wifie,usb共享热点
6-2. ssh连接到安装环境(可选,方便后续操作,强烈建议进行,如果没有其他设备操作此步骤也无妨)
#获取当前ip
ip a
#给当前环境设置一个密码,可能需要输入两次
passwd
#使用另一个与你要安装arch的设备在同一个局域网的设备执行以下命令
ssh root@你刚刚获取的你要安装arch的设备的ip
7. 设置镜像源(可选,网络不好建议设置此项)
reflector --country China --verbose -l 200 -p https --sort rate --save /etc/pacman.d/mirrorlist
pacman -Sy
开始安装系统
1. 安装必需的软件包
pacstrap -K /mnt base base-devel bash zsh linux linux-firmware linux-headers intel-ucode pacman neovim
或 (linux不建议使用lts版本,有的软件不支持在lts上运行)
pacstrap -K /mnt base base-devel bash zsh linux-lts linux-firmware linux-headers intel-ucode pacman neovim
base-devel,linux-headers为可选包,zsh和bash任选其一即可,建议新手要么都装要么bash,英特尔处理器选择:intel-ucode AMD处理器则替换为amd-ucode,neovim(可以理解为高级版vim,和vim用法一样但允许更多的配置,文章末尾同样提供neovim配置)可以替换为任意自己熟悉的命令行编辑器如:nano,vim...
2. 生成 fstab 文件
genfstab -U /mnt >> /mnt/etc/fstab
3. chroot 到新安装的系统
arch-chroot /mnt
4. 安装常用的软件包及字体
pacman -S grub efibootmgr os-prober openssl dhcpcd iwd curl git wget openssh btrfs-progs ntfs-3g bash-completion reflector zsh-autosuggestions zsh-syntax-highlighting
#如有其他需要自行添加(zsh-autosuggestions zsh-syntax-highlighting为zsh插件)
#安装字体
pacman -S awesome-terminal-fonts cantarell-fonts gsfonts noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra ttf-dejavu ttf-font-awesome ttf-hack ttf-jetbrains-mono ttf-jetbrains-mono-nerd ttf-opensans ttf-roboto ttf-ubuntu-font-family otf-font-awesome wqy-bitmapfont wqy-microhei wqy-microhei-lite wqy-zenhei ttf-droid ttf-linux-libertine ttf-opensans ttf-roboto ttf-ubuntu-font-family ttf-font-awesome otf-font-awesome ttf-liberation
#如果你之前没有通过ssh连接到你要安装arch的设备上你可以仅安装下面的字体,等安装浏览器以后再复制安装全部常用字体及我的配置中所需字体
pacman -S noto-fonts-cjk ttf-ubuntu-font-family otf-font-awesome otf-openmoji wqy-bitmapfont wqy-microhei wqy-microhei-lite wqy-zenhei
iwctl有wifi的才装,NetworkManager非必须,这里我没装,我的桌面环境不需要这个包
5. 时间配置
ln -sf /usr/share/zoneinfo/(地区名)/(城市名) /etc/localtime
hwclock --systohc
6. 语言设置
#nvim就是neovim的命令行启动命令
nvim /etc/locale.gen
取消en_US.UTF-8和zh_CN.UTF-8前的注释,如还需要其他编码格式自行取消其他编码格式
locale-gen
nvim /etc/locale.conf
第一行写入LANG=en_US.UTF-8
7. 网络设置
nvim /etc/hostname
第一行写入你的hostname,任意添(别太任意%……#@$@*&……)
systemctl enable dhcpcd
systemctl enable NetworkManager #(装了才运行)
8. Initramfs配置
nvim /etc/mkinitcpio.conf
在HOOKS中加入btrfs
mkinitcpio -P
9. Pacman配置,paru管理器安装(paru的使用方法和pacman相似,具体使用方法可以查阅archwiki:aur助手)
reflector --country China --verbose -l 200 -p https --sort rate --save /etc/pacman.d/mirrorlist
nvim /etc/pacman.conf
取消Color和ParallelDownloads前的注释
最后一行下面加入archlinuxcn配置:
[archlinuxcn]
Include = /etc/pacman.d/archlinuxcnmirrorlist
保存退出后继续创建archlinuxcn的镜像列表文件
(如果不使用阿里云镜像地址的注意archlinuxcn镜像的格式不要出错)
nvim /etc/pacman.d/archlinuxcn-mirrorlist
在新建的文件中加入:
Server = https://mirrors.aliyun.com/archlinuxcn/$arch
保存退出后继续:
pacman -Syy
pacman-key --lsign-key "farseerfc@archlinux.org"
pacman -S archlinuxcn-keyring
pacman -S paru
10. 用户配置
#设置root的密码
passwd
#添加一个普通用户,用于登录桌面
useradd -m -G wheel <用户名>
#设置用户密码
passwd <用户名>
为wheel组中的用户添加sudo权限
nvim /etc/sudoers
#将108行的注释去掉即:%wheel ALL=(ALL:ALL) ALL前的#
#会提醒这是个只读文件,不用管,直接:wq!强制写入
#查看shell位置
whereis zsh
whereis bash
#设置用户shell
chsh -s /usr/bin/zsh <用户名>
11. 引导配置
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ArchLinux
nvim /etc/default/grub
#将最后一行的注释去掉,启用os-prober检测双系统
#如果之前为Arch创建了单独的EFI,那么现在将其他的EFI分区挂载到任意目录 例如(/mnt)
mount /dev/(其他efi分区) /mnt
#运行sudo os-prober看看能不能检测到其他系统
grub-mkconfig -o /boot/grub/grub.cfg