虽然说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
2
timedatectl set-ntp true # 将系统时间与网络时间进行同步
timedatectl status # 检查服务状态

更改国内镜像源

输入下面的命令使用vim编辑/etc/pacman.d/mirrorlist文件。

1
vim /etc/pacman.d/mirrorlist

不会使用vim可以参考ArchLinux简明指南

然后将国内的镜像源放在第一位

1
2
3
4
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch # 中国科学技术大学开源镜像站
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch # 清华大学开源软件镜像站
Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch # 华为开源镜像站
Server = http://mirror.lzu.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
2
cd /mnt
mount --mkdir /dev/sda1 /mnt/boot

然后启动一下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

然后我们进行一下第一次使用的配置

全局配置位于 /etc/makepkg.conf,还可以通过 $XDG_CONFIG_HOME/pacman/makepkg.conf 或 ~/.makepkg.conf 进行用户特定配置。你还可以添加 /etc/makepkg.conf.d/makepkg.conf 文件进行系统全局配置更改。在构建软件包前,建议先检查 makepkg 配置。

我这里就使用全局配置了

1
vim /etc/makepkg.conf

然后找到#PACKAGER并修改成你想要的名字,当然这一步你也可以不改,我只是为了好看。

然后就是配置一下输出目录,我这里就摸认了。

makepkg 默认会在工作目录创建软件包,并把源代码下载到 src/ 目录。可以配置到自定义的路径,比如将所有构建出的软件包放到 ~/build/packages/ 目录,所有源文件放到 ~/build/sources/ 目录下。

根据需求不同,可以配置 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
-s/--syncdeps 在构建之前使用 pacman 自动解析和安装任何依赖项。如果包依赖于其他 AUR 包,则您应先手动安装它们。
-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官方支持了很多的图形界面,第三方支持的图像界面也很多,

详情请见桌面环境


我这里就使用 KDEbudgie 做演示了。

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
2
错误: 一个或多个文件没有通过有效性检查!
错误: 一个或多个 PGP 签名无法校验!

命令:

1
2
3
4
makepkg -si --skipinteg
yay --mflags "--skipinteg"
makepkg -si --skipchecksums --skippgpcheck
yay --mflags "--skipchecksums --skippgpcheck"

常用软件

浏览器

浏览器的选择很多,我这里就选择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
2
#[multilib]
#Include = /etc/pacman.d/mirrorlist

然后执行下面的命令就可以安装Steam了。

1
sudo pacman -Sy steam

信息技术

编程技术

虚拟机
VirtualBox

ArchLinux Wiki

网络安全

无线工具

aircrack-ng

Aircrack-ng 是一套完整的工具,用于评估 WiFi 网络的安全性,它可以监控,攻击,测试以及破解WIFI,是一个入门网络安全很实用的一个工具。

1
sudo pacman -S aircrack-ng

结束

到现在你已经手动安装并配置了一个能够正常使用的Arch Linux了,为自己鼓个掌吧!👏👏👏