ArchLinux基础安装

是失心丫 Lv1

arch

Arch Linux 基础安装

禁用 reflector

reflector 会为你选择速度合适的镜像源,但其结果并不准确,同时会清空配置文件中的内容,对于新人来讲并不适用,我们首先对其进行禁用。

1
systemctl stop reflector.service

再次确保是否为 UEFI 模式

1
ls /sys/firmware/efi/efivars

连接网络

1
2
3
4
5
6
7
8
9
## 有线无需任何操作
## 连接Wifi
rfkill unblock wifi #解锁无线网卡
iwctl #执行iwctl命令,进入交互式命令行
device list #列出设备名,比如无线网卡看到叫 wlan0
station wlan0 scan #扫描网络
station wlan0 get-networks #列出网络 比如想连接YOUR-WIRELESS-NAME这个无线
station wlan0 connect YOUR-WIRELESS-NAME #进行连接 输入密码即可
exit #成功后exit退出

更新系统时钟

1
2
timedatectl set-ntp true        #将系统时间与网络时间进行同步
timedatectl status #检查服务状态

分区

首先将磁盘转换为 gpt 类型

1
2
3
4
5
lsblk                           #显示分区情况 找到你想安装的磁盘名称
parted /dev/nvme0n1 #执行parted,进入交互式命令行,进行磁盘类型变更
(parted)mktable #输入mktable
New disk label type? gpt #输入gpt 将磁盘类型转换为gpt 如磁盘有数据会警告,输入yes即可
quit #最后quit退出parted命令行交互

使用 cfdisk 命令对磁盘分区

1
2
cfdisk /dev/sdx                 #来执行分区操作,分配各个分区大小,类型
fdisk -l #分区结束后, 复查磁盘情况

格式化分区

1
2
mkfs.ext4  /dev/nvme0n1p2       #格式化根目录和home目录的两个分区
mkfs.vfat /dev/nvme0n1p1 #格式化efi分区

挂载分区

在挂载时,挂载是有顺序的,先挂载根分区,再挂载 EFI 分区

1
2
3
4
5
mount /dev/sda2  /mnt
mkdir /mnt/efi #创建efi目录
mkdir /mnt/home #创建home目录
mount /dev/sda1 /mnt/efi
mount /dev/sda3 /mnt/home

镜像源的选择

编辑镜像源

1
2
3
4
5
nano /etc/pacman.d/mirrorlist
## 科大
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
## 清华
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

安装系统

1
2
pacstrap /mnt base base-devel linux-zen linux-zen-headers linux-firmware    #base-devel在AUR包的安装是必须的
pacstrap /mnt dhcpcd iwd vim bash-completion fish networkmanager #一个有线所需(iwd也需要dhcpcd) 一个无线所需 一个编辑器 一个补全工具

生成 fstab 文件

fstab 用来定义磁盘分区

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

change root

把环境切换到新系统的/mnt 下

1
arch-chroot /mnt

时区设置

设置时区,在 /etc/localtime 下用/usr 中合适的时区创建符号连接。如下设置上海时区。

1
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

随后进行硬件时间设置,将当前的正确 UTC 时间写入硬件时间。

1
hwclock --systohc

设置 Locale 进行本地化

1
2
nano /etc/locale.gen   #en_US.UTF-8 所在行以及 zh_CN.UTF-8 所在行的注释符号(#)
locale-gen

/etc/locale.conf 导入内容

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

设置主机名

1
nano /etc/hostname   #加入你想为主机取的主机名

接下来在 /etc/hosts 设置与其匹配的条目。

1
nano /etc/hosts

加入如下内容

1
2
3
127.0.0.1   localhost
::1 localhost
127.0.1.1 archname

为 root 用户设置密码

1
passwd root

安装微码

1
2
pacman -S intel-ucode           #Intel
pacman -S amd-ucode #AMD

安装引导程序

1
2
pacman -S grub efibootmgr       #grub是启动引导器,efibootmgr被 grub 脚本用来将启动项写入 NVRAM。
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB

接下来编辑/etc/default/grub 文件,去掉 GRUB_CMDLINE_LINUX_DEFAULT 一行中最后的 quiet 参数,同时把 log level 的数值从 3 改成 5。这样是为了后续如果出现系统错误,方便排错。同时在同一行加入 nowatchdog 参数,这可以显著提高开关机速度。

1
nano /etc/default/grub

最后生成 GRUB 所需的配置文件

1
grub-mkconfig -o /boot/grub/grub.cfg

完成安装

1
2
3
exit                           #退回安装环境
umount -R /mnt #卸载新分区
reboot #重启

重启后,开启 networkmanager 服务,即可连接网络

1
systemctl enable --now NetworkManager  #立即启动networkmanager

若为无线链接,则还需要启动 iwd 才可以使用 iwctl 连接网络

1
2
systemctl start iwd            #立即启动iwd
iwctl #和之前的方式一样,连接无线网络

准备非 root 用户

1
useradd -m -G wheel -s /bin/fish testuser  #wheel附加组可sudo,以root用户执行命令 -m同时创建用户家目录

设置新用户 testuser 的密码

1
passwd testuser

编辑 sudoers 配置文件

1
EDITOR=nano visudo              #需要以 root 用户运行 visudo 命令

找到下面这样的一行,把前面的注释符号 # 去掉,保存即可

1
#%wheel ALL=(ALL:ALL) ALL

到此为止,一个基础的,无 UI 界面的 Arch Linux 已经安装完成了。

  • 标题: ArchLinux基础安装
  • 作者: 是失心丫
  • 创建于 : 2024-02-08 19:09:58
  • 更新于 : 2024-03-06 06:55:46
  • 链接: https://blog.shix.ink/2024/02/08/Arch-installation/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。