整理一下这个教程便于以后可以无脑重装 Arch Linux,美滋滋啊。

准备以及分区

1. 准备

  • 准备内容

    1. USB stick

    2. Arch Linux ISO image

    Arch Linux Download Addr

  • 创建启动盘

    1. On windows: Rufus

    2. On linux: sudo dd if=/path_to_arch_.iso of=/dev/sdx

sdx 代表你的 U 盘,可以用 lsblk 命令查看得到。

接下来就是设置 bios 启动方式,教程基于 UEFI+GPT 的引导启动方式。请自行设置。

设置 USB 为下一次的引导路径,然后重启之后我们就能进入 Arch 安装环境了

查看 EFI mode 是否开启

efivar -l

如果有输出,就说明已经开启。

2. 分区

lsblk

gdisk /dev/sdx (x representing your drive)
x          # into expert mode
z          # clear the disk
y          # confirm
y          # confirm

创建分区

分区设定如下:

sda

  • sda1(boot partition)

  • sda2(our swap partition)

  • sda3(our root partition)

  • sda4(our home partition)

使用 cgdisk 分区:

cgdisk /dev/sdx

[New] Press Enter
First Sector: Leave this blank ->press Enter
Size in sectors: 1024MiB ->press Enter
Hex Code: EF00 press Enter
Enter new partition name: boot ->press Enter

boot 分区的 Hex Code 为EF00,千万不要弄错,有些资料会说是 EF02,实测 EF00 才有效。

arch wiki 上说 boot 分区分配 200-300mb 就行了,但是为了以后的双系统等未知需求,分配 1Gb。

[New] Press Enter
First Sector: Leave this blank ->press Enter
Size in sectors: 8GiB ->press Enter
Hex Code: 8200 ->press Enter
Enter new partition name: swap ->press Enter

swap 分区的 Hex Code 是8200

swap 分区的开启与否以及大小设置一直是争论焦点。这里贴出参考:

askubuntu_swap

serverfault_swap

下面建立 root 分区和 home 分区。两者 Hex code 都是默认的8300。 如果不独立设置 home 分区,就可以直接把剩余空间都设置为 root 分区。 如果设置独立的 home 分区,可以分配 30G 左右给 root 分区,剩余空间分配给 home 分区。 分区全部建立完毕之后,我们就要设置分区格式了。

mkfs.fat -F32 /dev/sda1
mkswap /dev/sda2
swapon /dev/sda2
mkfs.ext4 /dev/sda3
mkfs.ext4 /dev/sda4

安装 Arch 以及配置启动

挂载分区

mount /dev/sda3 /mnt
mkdir /mnt/boot
mkdir /mnt/home
mount /dev/sda1 /mnt/boot
mount /dev/sda4 /mnt/home

设置 mirrorlist

学校有 ipv6 的学生可以用清华的源,ipv6 直连,美滋滋。

nano /etc/pacman.d/mirrorlist

在最前面加上

# Tsinghua
Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

安装系统

pacstrap -i /mnt base base-devel

将分区结构写入新系统:

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

可以通过nano /mnt/etc/fstab查看是否创建成功

接下来就可以切换到我们新安装的系统了

arch-chroot /mnt

配置系统

设置语言

个人喜欢用英文,因为跟整体 linux 环境比较统一。

nano /etc/locale.gen

然后取消掉en_US.UTF-8zh_CN.UTF-8前面的注释。

使其生效:

locale-gen

接下来设置语言:

echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8

设置时区:

ln -s /usr/share/zoneinfo/Asia/Shanghai > /etc/localtime

请自觉使用 tab 补全以免出错。

设置硬件时钟:

hwclock --systohc --utc

设置主机名:

echo hostname > /etc/hostname

pacman.conf的细化修改

编辑pacman.conf取消 multilib 前面的注释:

这个是为了在 64 位机器上运行 32 位程序

[multilib]
Include = /etc/pacman.d/mirrorlist

然后强烈推荐添加的 yaourt

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

一定要注意大小写。

必须添加的 archlinuxcn 源,里面有很多中国特色软件,比如网易云、有道词典之类的,同样推荐清华源。

[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

然后安装archlinuxcn-keyring包以导入 GPG key。

这个时候就可以保存pacman.conf文件了。

账户相关

设置 root 账户的密码:

passwd

添加日常用户:

useradd -m -g users -G wheel,storage,power -s /bin/bash yourusername

设置密码:

passwd yourusername

设置 sudoers:

EDITOR=nano visudo

然后取消注释:

%wheel ALL=(ALL) ALL

设置使用 sudo 命令的用户必须输入 root 密码:

Defaults rootpw

Done!

安装补全命令:

pacman -S bash-completion

安装引导

确保 EFI 变量被挂载

mount -t efivarfs efivarfs /sys/firmware/efi/efivars

使用Gummiboot作为启动管理,Gummiboot已经整合到了bootctl/system-boot里,所以安装方式为:

bootctl install

下面,把/root分区的PARTUUID加入到启动设置里:

blkid -s PARTUUID -o value /dev/sdxY

x代表设备代号,本次为aY/root partition的排号,本次为 3.

然后添加gummiboot manager配置文件:

nano /boot/loader/entries/arch.conf
# 下面是内容:
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=PARTUUID= 上个命令得到的 rw

保存并退出

添加 intel 支持:

pacman -S intel-ucode

然后写入到启动管理设置里:

nano /boot/loader/entries/arch.conf
initrd /intel-ucode.img
initrd /initramfs-linux.img

这个时候基本的操作已经完成了,我们可以重启试试了。

exit
umount -R /mnt
reboot

安装 xfce4 桌面环境

sudo pacman -S mesa
sudo pacman -S xorg-server xorg-server-common xorg-xinit
sudo pacman -S xfce4
sudo pacman -S xfce4-goodies
sudo pacman -S sddm
sudo systemctl enable sddm.service
reboot

安装完成,可以使用了。美滋滋。

安装 Tex Live

yaourt -S texlive-most
yaourt -S texlive-langchinese
yaourt -S texstudio

安装完成之后使用tex --version测试:

-<%>- tex --version
TeX 3.14159265 (TeX Live 2016/Arch Linux)
kpathsea version 6.2.2
Copyright 2016 D.E. Knuth.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the TeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the TeX source.
Primary author of TeX: D.E. Knuth.

使用 texstudio 编写测试文件:

新建 test.tex, 内容如下:

\documentclass{article}

\usepackage{graphicx}

\begin{document}

\begin{figure}
  \includegraphics[width=\linewidth]{favicon.jpg}
  \caption{A boat.}
  \label{fig:boat1}
\end{figure}

Figure \ref{fig:boat1} shows a boat.

\end{document}

Build & View 查看运行结果,正常结果如下:

results