0%

ArchLinux 使用

Arch 是众多 Linux 发行版中的其中一个,但是它比较纯净, 同时安装也相比于其它的 Linux 发行版复杂一些, 从头安装一个 ArchLinux 可以学习不少 Linux 知识

推荐按照官方的安装教程一步步执行: https://wiki.archlinux.org/title/Installation_guide

最好阅读英文版,更新日期比较新

以下是折腾 Arch 的记录

1 安装步骤

1.1 制作启动 U 盘

  • 镜像文件下载: https://archlinux.org/download/
  • 使用 rufus 等工具制作 UEFI 启动盘
  • BIOS 中设置启动模式为 UEFI
  • 通过 U 盘启动

1.2 连接网络

U 盘启动后是一个用于安装系统的 Linux 环境,必须连接到网络才能进行 arch linux 的安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 查看网卡状态, 打开网口
ip link
ip link set dev [interface] up

# iwctl 连接wifi
iwctl # 进入iwc交互模式
[iwd] help
[iwd] device list
[iwd] device [device] set-property Powered on
[iwd] adapter [adapter] set-property Powered on
[iwd] station [device] scan
[iwd] station [device] get-networks
[iwd] station [device] connect SSID

# 检测网络
ping archlinux.org

如果 wifi 不好连接,可直接使用网线连接

1
2
# 查看系统ip地址
ip addr

之后使用 ssh 远程连接,方便操作

1.3 同步系统时钟

同步系统时钟

1
2
3
4
# 开启时间同步
timedatectl set-ntp true
# 时区不对先不用管
timedatectl

1.4 磁盘分区

1
2
3
4
5
6
# 查看磁盘设备
lsblk
fdisk -l

# 使用fdisk分区
fdisk /dev/[nvme0n1] # 需要分区的磁盘设备, 交互式操作, m查看帮助, 创建GTP分区表, 分区开始位置自动, 结束位置可以使用+1G的方式确定

一般来说,一个 linux 系统需要以下 3 个分区

挂载点 大小 说明
/boot 300M ~ 1G EFI 分区,一般需要是磁盘第一个分区
[swap] 4G ~ 32G (看心情) 交换分区,内存不足时用于缓存
/ 剩余所有 linux 系统根目录

也可以根据需要将 /home, /root, /srv 或者 /var 等进行单独分区,以便于数据备份

fdisk 分区写入后,退出交互操作,格式化各分区

1
2
3
4
# 格式化分区
mkfs.ext4 /dev/[root_partition] # 以及其它linux文件分区, /home, /root, /srv
mkswap /dev/[swap_partition]
mkfs.fat -F 32 /dev/[efi_system_partition] # EFI分区必须格式化为FAT32格式

1.5 挂载系统分区

所有的分区都要按照实际情况挂载上去,包括交换分区, 之后的 genfstab 命令会检测所有的挂载分区和交换分区

1
2
3
4
5
6
7
8
9
# 首先挂载根分区
mount /dev/[root_partition] /mnt
mount --mkdir /dev/[efi_system_partition] /mnt/boot
# 如果有自定义的其余分区, 也都挂载进来
mount --mkdir /dev/[home_partition] /mnt/home
mount --mkdir /dev/[root_home_partition] /mnt/root
mount --mkdir /dev/[srv_partition] /mnt/srv
# 如果有swap分区, 也打开它
swapon /dev/[swap_partition]

1.6 更改 pacman 镜像源

1
2
3
nano /etc/pacman.d/mirrorlist
# 源的优先级取决于顺序, 可以将以下国内源添加在最上方
# Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

1.7 安装系统

首先安装必须的基本包

1
pacstrap -K /mnt base linux linux-firmware

配置系统

1
2
# 将分区挂载信息写入fstab文件, 生成文件后检查文件是否有错
genfstab -U /mnt >> /mnt/etc/fstab

change root 到新系统下

1
arch-chroot /mnt

设置系统时间时区

1
2
ln -sf /usr/share/zoneinfo/[Asia/Shanghai] /etc/localtime
hwclock --systohc # 写入系统时间bios

本地化配置

编辑 /etc/locale.gen, 取消注释 en_US.UTF-8 UTF-8, 执行以下命名

1
locale-gen

创建 /etc/locale.conf, 填入以下内容

1
LANG=en_US.UTF-8

设置网络名称

创建 /etc/hostname 文件, 并填写自己的 hostname

更改 root 账户密码

1
passwd

安装配置 grub

1
2
3
4
5
6
7
# 更新源信息
pacman -Sy
pacman -S grub
# 安装启动文件
grub-install --target=x86_64-efi --efi-directory=[/boot] --bootloader-id=GRUB
# 生成grub配置
grub-mkconfig -o /boot/grub/grub.cfg

安装 microcode 微码包

1
2
# intel cpu安装intel-ucode, amd cpu安装amd-ucode
pacman -S amd-ucode

微码包应该尽量早的加载,可以通过 grub 配置

1
2
3
4
# 重新运行grub配置, 将自动检测微码包资源, 并放在最开始加载
grub-mkconfig -o /boot/grub/grub.cfg
# 在/boot/grub/grub.cfg中应该能看到以下配置
# initrd /boot/[cpu_manufacturer]-ucode.img /boot/initramfs-linux.img

安装基本软件

1
2
# 安装需要的软件
pacman -S base-devel openssh nano dhcpcd wpa_supplicant neofetch dmidecode radeontop

配置网络和 ssh (以免重启后未联网,还要重新操作,或者连接显示器, 比较麻烦)

参考

https://wiki.archlinux.org/title/Network_configuration/Wireless

https://wiki.archlinux.org/title/Dhcpcd

https://wiki.archlinux.org/title/Wpa_supplicant

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 编辑ssh配置, 允许root登录
nano /etc/ssh/sshd_config # PermitRootLogin yes

# 打开ssh自启动
systemctl enable sshd

# 添加dhcp对wpa_supplicant(wifi wpa)的hook
ln -s /usr/share/dhcpcd/hooks/10-wpa_supplicant /usr/lib/dhcpcd/dhcpcd-hooks/

# 查看网口
ip link

# 仅开启无线网口的自启动配置, 如果没有@xxx, 那么会自启动所有网口
systemctl enable dhcpcd@[wlan0].service

# wpa_supplicant配置, wpa_supplicant会由dhcpcd自动打开, 如果使用systemctl自启动, 也可以开启wpa_supplicant@[wlan0].service
wpa_passphrase [MYSSID] [passphrase] > /etc/wpa_supplicant/wpa_supplicant-[wlan0].conf

配置好所有内容后,重启系统

1
2
# 关机使用poweroff
reboot

2 使用 pacman

帮助: pacman -h

标签帮助: pacman -Sh

更新软件源: pacman -Sy

更新源并更新系统: pacman -Syu

搜索在线包: pacman -Ss <package_name>

安装包: pacman -S <package_name>

pacman -Rns <package_name> 删除软件以及不被其他软件依赖的包 (-Rsu 可能删除其他软件包还在依赖的项,不安全)

pacman -Rc <package_name> 删除软件包以及其配置项 (可以先使用

pacman -Qdtq 列出不再被其它软件包依赖的软件包名称

3 常用软件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 查看cpu核心信息
lscpu -e
# 查看各传感器温度
pacman -Syu
pacman -S lm_sensors # 工具集, 可以搜索以下lm_sensors其余用法
sensors # 查看硬件温度
# 查看内存占用
free -h
# 查看磁盘占用
df -h
# 查看系统信息
pacman -S neofetch
neofetch
# 查看磁盘分区详情
lsblk
fdisk -l
# 查看pci设备
lspci [-k]
# 查看硬件信息
dmidecode [-t memory]
# 查看amd显卡信息
radeontop

至此已安装完毕

4 展示环节