ArchLinux的安装教程
虽然说ArchLinux有一个安装脚本,但是为了能够更加装逼印象深刻一点,也多了解一些Linux系统,还是决定手动安装一个。
前置准备工作
首先我们要去官网下载一个iso镜像,这是下载连接
Download
根据自己的情况下载就可以了。
在这个时间里可以先看一遍官方文档
官方文档下载完成以后,如果是装到实机上的话,可以先拿一个U盘用rufus做一个安装介质,当然也可以直接在U盘上面装一个ArchLinux,或者使用虚拟机安装,都是可以的。
随后进入bios里,将U盘作为第一启动项,然后保存退出,开机以后选择Arch Linux install medium并回车。
然后验证引导模式,请输入下面这个命令:
1 | cat /sys/firmware/efi/fw_platform_size |
如果命令结果为 64,则系统是以 UEFI 模式引导且使用 64 位 x64 UEFI。如果命令结果为 32,则系统是以 UEFI 模式引导且使用 32 位 IA32 UEFI,虽然其受支持,但引导加载程序只能使用 systemd-boot和GRUB。如果文件不存在,则系统可能是以BIOS模式(或 CSM 模式)引导。如果系统没有以您想要的模式(UEFI 或 BIOS)引导启动,请您参考自己的计算机或主板说明书。
连接互联网
WI-FI
使用iwctl
输入iwctl,然后使用下面的命令查看网卡设备名,如wlan0等。
1 | device list |
然后扫描网络,wlan0是你的网卡名称
1 | station wlan0 scan |
然后列出所有的Wi-Fi网络
1 | station wlan0 get-networks |
然后连接至WI-FI网络,注意,中文名的网络无法显示也无法输入。
1 | station wlan0 connect 你的网络名称 |
在连接成功以后输入exit退出iwctl
然后检查一下互联网连接,请输入:
1 | ping www.baidu.com |
如果使用上面的方法没有办法找到一个网卡设备的话,有可能是你的网卡设备需要特定的驱动程序,可以先使用下面的命令查看你的网卡设备名称,
1 | lspci | grep -i net |
然后在Linux Wireless documentation查看你的网卡支持什么驱动程序,随后按照需求下载就可以了。
有线连接
有线连接可以使用网线或者使用数据线将电脑与手机互相连接,在手机通知弹出的USB连接模式中选择USB网络共享。
更新系统时钟
1 | timedatectl set-ntp true # 将系统时间与网络时间进行同步 |
更改国内镜像源
输入下面的命令使用vim编辑/etc/pacman.d/mirrorlist文件。
1 | vim /etc/pacman.d/mirrorlist |
不会使用vim可以参考ArchLinux简明指南
然后将国内的镜像源放在第一位
1 | Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch # 中国科学技术大学开源镜像站 |
开始安装
创建分区
创建分区可以选择fdisk或者cfdisk,相比较fdisk,cfdik更加现代化一些。
如果你需要windows和archlinux双系统的话,可以将Arch Linux安装到别的硬盘上,如果要安装在同一个硬盘上的话,那么就不需要将EFI格式化以及创建一个新的EFI分区。
使用fdisk创建分区
输入下面的命令查看一下硬盘。
1 | fdisk -l |
如果出现的是/dev/sda,就输入
1 | fdisk /dev/sda |
如果是/dev/nvme0n1,就输入
1 | fdisk /dev/nvme0n1 |
如果是别的就按照这个格式输入别的。
现在一般都是使用UEFI,所以说就按照创建GPT的方法来做教程了,MDR其实是类似的。
输入完上面的命令以后输入g来创建一个GPT分区表,然后输入n来创建分区,创建分区的适合需要选择分区号,起始扇区和结束扇区。
分区号我们不用特意去更改,起始扇区除非你想不然还是不要改了,结束扇区就需要自己输入。
结束扇区的位置可以是:
从磁盘起始位置开始的绝对位置。例如,40M 作为起始扇区,指定了距磁盘开头 40 MiB 的位置。
在 +size 或 -size 后接大小的相对位置。例如,使用 +2G 以指定位于起始扇区之后 2 GiB 的位置,或使用 -200M 以指定位于最后一个可用扇区之前 200 MiB 的位置。
未输入扇区位置的指定值而直接按 Enter 键将使用默认值,对于起始扇区是最大可用块的开始位置,对于结束扇区则是最大可用块的结束位置
这里我就按照最简单的方法来创建了,如果要创建一个更加复杂的分区,方法是一样的。
首先我们创建一个EFI分区,如果你是Windows和ArchLinux双系统,就看官方文档。
分区号和起始扇区都回车继续,在结束扇区的时候输入
1 | +1G |
回车,随后输入t更改分区类型,然后输入:
1 | EFI System |
然后接着创建一个swap交换分区,还是刚才的操作,然后根据自己的情况选择交换分区大小,我这里就选8G了:
1 | +8G |
回车以后按t,随后输入:
1 | Linux swap |
然后创建一个根分区,一路回车把剩下的空间都分给它,然后回车按t,随后输入:
1 | Linux root (x86-64) |
然后输入p查看刚刚更改的分区,如果按照上面的方法创建,那么到最后应该是这样的:
然后输入w保存并退出,如果你觉得分配错了,可以按q放弃更改。
格式化分区
如果你是一步一步按照上面的办法创建的分区,那么就输入下面这个命令。如果不是,就选择自己创建根分区的分区号。
1 | mkfs.ext4 /dev/sda3 |
然后初始化一下swap分区:
1 | mkswap /dev/sda2 |
最后创建一下EFI系统分区:
1 | mkfs.fat -F 32 /dev/sda1 |
挂载分区
将根磁盘卷挂载到 /mnt
1 | mount /dev/sda3 /mnt |
然后cd到 /mnt,并在里面创建剩余的挂载点。
1 | cd /mnt |
然后启动一下swap交换分区:
1 | swapon /dev/sda2 |
挂载完成以后使用下面的命令来查看挂载情况
1 | df -h |
使用下面的命令来查看Swap挂载情况
1 | free -h |
使用cfdisk创建分区
首先使用lsblk查看你的硬盘分区。
接下来使用 cfdisk 命令对磁盘分区(对于 SATA 协议的硬盘,x 为字母 a、b 或 c 等等;对于 NVME 协议的硬盘,x 为数字 0、1 或 2 等等,请根据实际情况判断)
1 | cfdisk /dev/sdx |
举例,如果你的硬盘为第二块sata协议的硬盘,那么应该输入
1 | cfdisk /dev/sdb |
如果为第二块固态硬盘,则为
1 | cfdisk /dev/nvme1n1 |
具体使用cfdisk创建分区的可以看Archlinux简明指南
更改镜像站
先用curl下载一下位于中国的镜像站:
1 | curl -L "https://archlinux.org/mirrorlist/?country=CN&protocol=https" -o /etc/pacman.d/mirrorlist |
然后使用vim把想要的镜像站前面的#号删掉。
1 | vim /etc/pacman.d/mirrorlist |
安装必备软件包
使用 pacstrap(8) 脚本,安装 base包 软件包和 Linux 内核以及常规硬件的固件:
1 | pacstrap -K /mnt base linux linux-firmware |
配置系统
生成fstab
通过以下命令生成 fstab 文件 (用 -U 或 -L 选项设置 UUID 或卷标):
1 | genfstab -U /mnt >> /mnt/etc/fstab |
强烈建议在执行完以上命令后,检查一下生成的 /mnt/etc/fstab 文件是否正确。
chroot到新系统
输入下面的命令
1 | arch-chroot /mnt |
设置时区
请输入下面的命令
1 | ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
然后运行hwclock以生成 /etc/adjtime
1 | hwclock --systohc |
区域和本地化设置
然后我们先安装一个Vim:
1 | pacman -S vim |
然后倏然下面的命令生成locale信息:
1 | locale-gen |
随后我们编辑 /etc/locale.gen,然后取消掉 en_US.UTF-8 UTF-8 和其他需要的 UTF-8 区域设置前的注释(#)。
1 | vim /etc/locale.gen |
值得注意的是,官方文档里写着
并不推荐在此设置任何中文 locale,这可能会导致 tty 上中文显示为方块。如果您不经常使用 tty ,或是稍后需要安装桌面环境,则在不使用 tty 后可以设置为中文的 locale 。所以我就直接设置中文了,找到
zh_CN.UTF8 UTF8以后,按下** i ** ,然后删掉#号,按esc退出编辑模式,然后shift+:,接着输入** wq ** 保存并退出。接着我们编辑 /etc/locale.conf,按** i ** 进入编辑模式,并输入下面的内容:
1 | LANG=en_US.UTF8 zh_CN.UTF8 |
按esc,接着shift+:保存并退出,最后再执行一遍,locale-gen
网络配置
先创建创建 hostname 文件:
1 | vim /etc/hostname |
然后设置你的主机名,我这里就设置Guan-ArchLinux了
然后再ping一下,用于测试你是否可连接到某个主机, 用 Ctrl+c 停止测试。
1 | ping www.archlinux.org |
值得注意的是官方文档有教怎么连接WIFI,但我这里用的是虚拟机演示,所以就以后再补上了,详情请看:iwd
然后需要安装一个网络管理器,这里就用NetworkManager做示范。
1 | pacman -S networkmanager |
设置Root密码
输入下面的命令来设置密码,密码一共需要输入两次:
1 | passwd |
安装引导程序
我们就拿GRUB举例,首先输入下面的命令:
1 | pacman -S grub efibootmgr |
然后输入下面的命令
1 | grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB |
最后输入下面的命令生成配置文件:
1 | grub-mkconfig -o /boot/grub/grub.cfg |
然后就是重启并进入ArchLinux了,请先输入exit,等待退出chroot以后输入reboot,接着就可以看到下面的界面了,我们选择ArchLinux。
然后选择用户,默认只有一个root,所以我们输入root并回车,然后输入刚才设置的密码。
系统配置
创建新用户和用户组
如果你想自定义创建用户,就按照下面的格式创建一个账号。
1 | useradd -m -G "附加组" -s "登录shell" "用户" |
-m/–create-home:创建用户主目录/home/[用户名];在自己的主目录内,即使不是root用户也可以读写文件、安装程序等等。
-G/–groups:用户要加入的附加组列表;使用逗号分隔多个组,不要添加空格;如果不设置,用户仅仅加入初始组。
-s/–shell:用户默认登录shell的路径;启动过程结束后,默认启动的登录shell在此处设定;请确保使用的shell已经安装,默认是 Bash。
如果不想,就输入下面的命令:
1 | useradd -m 你的用户名 |
然后给这个账号设置一个密码:
1 | passwd 你的用户名 |
root权限
有时候一些命令需要root,但又不能以root用户运行,例如使用AUR安装软件,所以我们需要为用户添加权限,如下:
首先进入一下root用户,接着编辑 /etc/sudoers ,在 root ALL=(ALL:ALL) ALL 下面添加这样的格式: 用户名 ALL=(ALL:ALL) ALL
1 | vim /etc/sudoers |
保存并退出,如果 :wq 无效的话就 :wq! 强制退出。
或者尝试编辑 /etc/sudoers ,将 wheel ALL=(ALL:ALL) ALL 前面的** # **删除。
最后使用下面的命令来查看你是否已经将用户添加到了wheel用户组:
1 | groups 用户名 |
AUR
执行:
1 | pacman -S bash-devel |
然后安装一个Git,输入下面的命令:
1 | pacman -S git |
然后我们进行一下第一次使用的配置
我这里就使用全局配置了
1 | vim /etc/makepkg.conf |
然后找到#PACKAGER并修改成你想要的名字,当然这一步你也可以不改,我只是为了好看。
然后就是配置一下输出目录,我这里就摸认了。
根据需求不同,可以配置 makepkg.conf 下的这些变量:
PKGDEST - 软件包构建输出目录
SRCDEST - 用于存放源数据的目录(在指向其它位置的情况下,软链接将被放置到 src/ 目录下)
SRCPKGDEST - 源代码包构建输出目录(通过 makepkg -S 构建)
随后我们输入exit退出root用户,然后登录刚才你创建的用户,因为AUR不能运行在root用户下。
然后找到你想要的软件包,比方说yay,然后复制它的git clone url,输入下面的命令:
1 | git clone https://aur.archlinux.org/yay.git |
然后cd到你刚才下载的软件包目录,比方说yay
1 | cd yay |
然后用less检查一下每个文件,如果你看得懂的话:
1 | pacman -S less |
1 | less PKGBUILD |
然后我们进行构建并安装,最后删除软件包:
1 | makepkg -s -i -r |
或者是
1 | makepkg -sir |
-i/--install 安装成功的包。这使您可以跳过通常手动完成的下一步。
-r/--rmdeps 在构建后删除构建时依赖项,因为它们不再需要。但是,下次更新包时可能需要重新安装这些依赖项。
-c/--clean 在构建后清理临时构建文件,因为它们不再需要。这些文件通常仅在调试构建过程时才需要。
yay
yay 是一个AUR助手,可以更方便的安装AUR软件,下面是一些基础使用方法。
Yay 遵循与 pacman 类似(但不相同)的命令结构。所以你用 Yay 管理 AUR 包应该不难。
搜索软件包:
1 | yay search_term |
安装软件包:
1 | yay -S package_name |
删除软件包:
1 | yay -R package_name |
要删除包及其依赖项:
1 | yay -Rns package_name |
仅升级 AUR 包:
1 | yay -Sua |
Yay 还能够升级非 AUR 软件包。上面的 a 标志将其限制为 AUR。
图形界面
ArchLinux官方支持了很多的图形界面,第三方支持的图像界面也很多,
详情请见桌面环境我这里就使用 KDE 和 budgie 做演示了。
KDE
安装桌面
1 | pacman -S plasma-meta |
安装全套KDE应用
1 | pacman -S kde-applications-meta |
然后安装显示管理器
1 | pacman -S sddm |
随后启用sddm
1 | systemctl enable sddm |
最后重启一遍就可以进入KDE了。
接着我们修改英文成中文,首先需要进入到终端,输入:
1 | pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji |
noto-fonts(基础字体集),noto-fonts-cjk(中日韩字体集,主要是需要这个包),noto-fonts-emoji(表情字体)
打开设置,选择 Regional Settings>Regions & Languages>Language,将简体中文加到语言选项中,并将其优先级调整到最高。
budgie
首先我们切换到root用户。
然后输入下面的命令安装budgie
1 | pacman -S budgie lightdm-gtk-greeter |
1 | pacman -S arc-gtk-theme papirus-icon-theme network-manager-applet |
启用lightdm
1 | systemctl enable --now lightdm |
等待完成以后就进入budgie图形界面了。
Gnome
首先安装一下桌面环境
1 | sudo pacman -S gnome gnome-extra |
然后再安装一下显示管理器
1 | sudo pacman -S gdm |
然后再启用gdm
1 | systemctl enable gdm.service |
重启以后就可以进入Gonme桌面环境了
软件
可以查看arch liunx 简明指南来选择自己想要的软件,这个指南里也包括了Arch Linux的安装和配置教程,可惜等我照着官方文档看完了才知道。
如果出现类似下面这样的情况,可以使用命令跳过。参考:Arch 安装包时校验失败怎么办?
1 | 错误: 一个或多个文件没有通过有效性检查! |
命令:
1 | makepkg -si --skipinteg |
常用软件
浏览器
浏览器的选择很多,我这里就选择vivaldi
1 | yay -S vivaldi-bin |
文本编辑器
终端界面我用的是vim,图形界面用的是vscode,这里的vscode是开源版本,不能登录Github同步,可以使用yayd安装visual-studio-code-bin。
1 | sudo pacman -S vim code |
电子书阅读器
我用的是calibre
1 | yay -S calibre |
聊天通讯
Telegram
1 | yay -S telegram-desktop-bin |
Linuxqq
1 | yay -S linuxqq |
游戏娱乐
Steam
首先vim进入到/etc/pacman.conf
1 | sudo vim /etc/pacman.conf |
然后将下面这两行里的#去掉
1 | #[multilib] |
然后执行下面的命令就可以安装Steam了。
1 | sudo pacman -Sy steam |
信息技术
编程技术
虚拟机
VirtualBox
网络安全
无线工具
aircrack-ng
Aircrack-ng 是一套完整的工具,用于评估 WiFi 网络的安全性,它可以监控,攻击,测试以及破解WIFI,是一个入门网络安全很实用的一个工具。
1 | sudo pacman -S aircrack-ng |
结束
到现在你已经手动安装并配置了一个能够正常使用的Arch Linux了,为自己鼓个掌吧!👏👏👏


