ArchLinux入坑教程
2021-06-19
ArchLinux简介
Arch Linux 是通用 x86-64 GNU/Linux 发行版。Arch采用滚动升级模式,尽全力提供最新的稳定版软件。初始安装的Arch只是一个基本系统,随后用户可以根据自己的喜好安装需要的软件并配置成符合自己理想的系统。Arch Linux 是通用发行版,初始安装仅提供命令行环境:用户不需要删除大量不需要的软件包,而是可以从官方软件仓库成千上万的高质量软件包中进行选择,搭建自己的系统。如过你有闲工夫折腾,ArchLinux完全能胜任你的主力机。
个人观点
安装ArchLinux的过程,同时也是一个学习Linux的过程,期间你可能会遇到各种各样的问题,当你把问题都解决后,我相信你的能力也有所提高了
前期准备
准备一个USB存储设备,比如U盘,4G就够了 下载ArchLinux镜像 制作启动盘,推荐工具
Rufus
,将你下载好的镜像以DD的方式写入U盘
1.开始安装
启动到 Live 环境,Arch Linux 安装镜像不支持安全启动(Secure Boot)请提前在BIOS中禁用安全启动
1.1验证启动模式
# ls /sys/firmware/efi/efivars
如果命令没有错误地显示了目录,则系统以 UEFI 模式启动。 如果目录不存在,系统可能以 BIOS 模式启动
1.2连接网络
有线网络,插上网线就行,下面介绍一下无线网络的连接方法
ArchLinux ISO 自带了无线网络连接工具iwd 这里简述一下iwd的使用方法
iwctl #启动iwd工具
device list # 查看网卡设备
station device scan # 扫描网络
station device get-networks # 列出所有可用的网络
station device connect SSID # 连接到指定网络,SSID为WIFI名,如果有密码就输入密码
quit #退出iwd
如果上述命令
[iwd#] device list
中发现网卡处于off
状态,请看下面的注意事项
注意事项:许多笔记本都有一个硬件按钮或开关用于关闭无线网卡,然而无线网卡也可以通过内核来屏蔽。这一任务可由
rfkill
处理 P.S.我的笔记本就是这种情况,需要手动开启网卡,使用命令rfkill unblock wifi
还有一点就是,并不是所有网卡Linux内核都支持,就比如我笔记本的垃圾网卡
rtl8821ce
,虽然有办法编译安装内核模块,但是非常不稳定,所以为了更好的体验ArchLinux,我给自己的电脑换了块无线网卡Intel AX200
,还支持WiFi6,美滋滋!
1.3换源
reflector -c China -a 6 --sort rate --save /etc/pacman.d/mirrorlist # 获取速度最快的6个镜像源,保存至/etc/pacman.d/mirrorlist
pacman -Syyy # 更新镜像源
1.4更新系统时间
timedatectl set-ntp true
1.5建立硬盘分区
这里 推荐使用
cfdisk
工具,上手比较简单cfdisk -l
查看硬盘cfdisk /dev/要分区的盘
挂载点 | 分区 | 分区类型 | 建议大小 |
---|---|---|---|
/mnt/efi | /dev/efi_system_partition | EFIsystem | 300M |
/mnt | /dev/root_partition | Linuxx86-64root | 36G |
[swap] | /dev/swap_partition | Linuxswap | 8G |
/mnt/home | /dev/home_partition | Linuxhome | 剩余空间 |
1.6格式化分区
mkfs.fat -F32 /dev/efi_system_partition # 格式化EFI分区
mkfs.ext4 /dev/root_partition # 格式化root分区
mkfs.ext4 /dev/home_partition # 格式化home分区
mkswap /dev/swap_partition #初始化swap分区
1.7挂载分区
mount /dev/root_partition /mnt # 先挂载root分区
mkdir /mnt/efi # 创建挂载点
mkdir /mnt/home # 创建挂载点
mount /dev/efi_system_partition /mnt/efi #挂载EFI分区
mount /dev/home_partition /mnt/home #挂载home分区
swapon /dev/swap_partition # 启用swap分区
2.配置系统
2.1安装基本的软件包
pacstrap /mnt base linux linux-firmware vim
可选内核linux-lts
linux-zen
linux-hardened
2.2生成 fstab 文件
genfstab -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab # 检查文件是否正确
2.3进入安装的系统
arch-chroot /mnt
2.4设置时区
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc # 同步硬件时钟
2.5设置本地化
vim /etc/locale.gen # 编辑locale.gen文件
# 取消以下注释
#en_US UTF-8
#zh_CN UTF-8
locale-gen # 生成 locale 信息
vim /etc/locale.conf #创建locale.conf文件
# 输入以下内容,指定系统区域语言
LANG=en_US.UTF-8 # 不建议改成中文,中文命令行可能会乱码
# 或者用以下命令
localectl set-locale LANG=zh_CN.UTF-8
2.6设置网络
vim /etc/hostname # 创建hostname文件,输入主机名,例如lsp
vim /etc/hosts # 添加对应的信息到hosts,内容如下
127.0.0.1 localhost
::1 localhost
127.0.1.1 lsp.localdomain lsp # 主机名.本地域名 主机名
2.7 创建root密码
passwd
2.8 创建普通用户
# 让普通用户可以执行root命令
visudo
# 取消下面的注释
# %wheel ALL=(ALL) ALL
useradd -m ielave # 创建普通用户ielave
usermod -aG wheel,audio,video,optical,storage ielave # 将之添加到以上组
passwd ielave # 修改密码
2.9 安装引导(这一步非常关键)
安装微码
pacman -S amd-ucode
对于 AMD 处理器,安装amd-ucode
对于 Intel 处理器,安装intel-ucode
2.9.1 grub引导
pacman -S os-prober grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=ArchLinux
grub-mkconfig -o /boot/grub/grub.cfg # 生成grub配置文件
2.9.2 systemd-boot引导
bootctl install
系统自带的命令 这时会在boot目录下生成一个loader文件 ,在EFI目录下生成Linux和systemd文件cd /boot/loader
会发现有两个文件一个目录loader.conf
可以修改引导选项的超时时间entries
目录下可自定义引导内容cd entries/
vim ArchLinux.conf
输入以下内容
title ArchLinux
linux /vmlinuz-linux # lts内核改成 vmlinuz-linux-lts
initrd /amd-ucode.img # intel CPU改成 intel-ucode
initrd /initramfs-linux.img # lts内核改成initramfs-linux-lts.img
options root="PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" rw # 根分区的 PARTUUID
根分区的
PARTUUID
,可以通过blkid
命令可查询到,在vim
中,可在命令模式下,使用命令r! blkid
直接读取到文件中,然后复制粘贴就行了。以上的引导内容都可在/boot
目录下找到
2.10 安装网络工具
pacman -S iwd dhcpd
# 不装你就白给
3.重启
exit # 退出当前系统
umount -R /mnt/efi
umount -R /mnt/home
umount -R /mnt # 手动卸载被挂载的分区
reboot # 重启系统
4.安装后的工作
4.1连接网络
启动以下服务(start 启动 enable 开机自启)
systemctl start iwd.service # WIFI连接工具
systemctl enable iwd.service
systemctl start systemd-resolved.service # 域名解析
systemctl enable systemd-resolved.service
systemctl start dhcpd.service # dhcp
systemctl enable dhcpd.service
然后使用iwd工具正常联网,可能先得启用网卡
rfkill unblock wifi
到此为止,基本的ArchLinux就安装完毕了!!!