Arch Linux Rocks
Arch Linux 是茫茫多的 Linux
发行版之一,按照官方的 wiki
,这是一个追求简单、现代、实用主义、用户中心的发行版。个人觉得在实用主义以及用户中心这两点上, Arch Linux 当之无愧。
这篇文章内容包括安装基本系统以及图形界面。
安装基本系统
联网
Arch Linux 的安装重度依赖网络,所以首先需要联网,以无线网络为例,首先使用 ip link
查看 interface
,比如 wlp7s0
,使用 wifi-menu -o wlp7s0
来连接网络。
磁盘准备
我使用 btrfs
作为文件系统,由于 btrfs
不(直接)支持 swapfile
,所以需要三个分区,分别用作 swap
、 esp
分区以及 btrfs
的分区,使用 parted /dev/sda
进行分区,常用命令输入 help
即可。最后得到在 parted
中 print
的结果:
Model: ATA SanDisk SDSSDA24 (scsi)
Disk /dev/sda: 240GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 52.4MB 51.4MB fat32 boot, esp
2 52.4MB 231GB 231GB btrfs
3 231GB 240GB 9202MB linux-swap(v1)
格式化各个分区:
mkfs.vfat -F 32 /dev/sda1
mkfs.btrfs /dev/sda2
在 btrfs
的分区中新建几个 subvolume
:
mount /dev/sda2 /mnt
cd /mnt
btrfs subvolume create @arch
btrfs subvolume create @boot
btrfs subvolume create @home
然后 umount /mnt
再挂载相关分区:
mount -o subvol=@arch /dev/sda2 /mnt
安装基础软件
编辑镜像列表 /etc/pacman.d/mirrorlist
反注释喜欢的镜像即可。安装基本的软件包:
pacstrap -i /mnt base base-devel
挂载相关分区:
mount -o subvol=@boot /mnt/boot
mount -o subvol=@home /mnt/home
mkdir -p /mnt/boot/esp
mount /dev/sda1 /mnt/boot/esp
以这样的方式挂载的好处是,除了 grub
之外,所有的文件都在 btrfs
的分区里,官方的推荐是将 esp
分区挂在 /boot
,会导致 grub
的文件以及内核等文件都在 esp
中,当你有多系统的需求时可能会不够灵活,并且另一个好处是防手残,因为 esp
分区完全可以不挂载。
编辑分区信息
可以根据 /etc/mtab
来写 /etc/fstab
,官方推荐的脚本 genfstab
从某个时候开始就有 bug ,所以手动写更科学。
chroot
arch-chroot /mnt /bin/bash
各种设置
pacman -S neovim
nvim /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
tzselect
安装引导器
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot/esp --bootloader-id=grub2 --recheck
grub-mkconfig -o /boot/grub/grub.cfg
其他软件的安装
pacman -R netctl
pacman -S networkmanager btrfs-progs
systemctl enable networkmanager
收尾的工作
mkinitcpio -p linux
exit
umount -R /mnt
reboot
重启之后
hostnamectl set-hostname dell
systemd
会自动新建一个 subvolume
,路径为 mkdir /var/lib/machines
,可以删掉之后新建一个同样路径的文件夹。
安装图形界面
装X
pacman -S xorg xorg-xinit xterm
可以 startx
一下看看是否正常。
yaourt
在 /etc/pacman.conf
追加:
[archlinuxcn]
SigLevel = Optional TrustAll
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
然后:
pacman -Syu archlinuxcn-keyring yaourt
即可使用 yaourt
来替代 pacman
了。
添加用户
先用 passwd
设置 root 用户的密码,然后:
useradd -m fugoes
添加用户,使用 gpasswd -a fugoes audio
将用户添加到 audio
组中,其他的组可以参考 /etc/group
文件。
安装一个桌面环境
比如 gnome
:
yaourt -S gnome
这样的好处是大多数常用软件都会被装上.
安装 i3wm
yaourt -S i3
yaourt -S lightdm-gtk-greeter
systemctl enable lightdm
systemctl start lightdm
各种图形驱动
yaourt xf86-video
bumblebee
yaourt -S bumblebee bbswitch
一定要严格按照 官方维基 ,这是一个 work out of box 的软件,至少在我的机器上。
对于不需要开图形但是需要GPU的场景, echo ON > /proc/acpi/bbswitch
即可。