侧边栏壁纸
博主头像
v林羽博主等级

行动起来,活在当下

  • 累计撰写 171 篇文章
  • 累计创建 34 个标签
  • 累计收到 14 条评论

目 录CONTENT

文章目录

【Linux使用】之--Arch Linux安装记录

v林羽
2022-07-17 / 0 评论 / 2 点赞 / 1248 阅读 / 17448 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-11-01,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

【Linux使用】之–Arch Linux安装记录

#系统 #Linux #教程 #虚拟机 #arch #archlinux

Arch Linux对刚开始使用linux系统的新用户来说并不友好,但却是一个学习linux的一个好系统,前提是你喜欢折腾。本文旨在记录一下Arch Linux安装过程,希望对你有所帮助。

ArchLinux 简介:Arch Linux

ArchLinux 常问问题:Frequently asked questions

ArchLinux 与其他发行版的区别:Arch compared to other distributions

ArchLinux 安装指引:Installation guide

1. 下载官方镜像

下载地址:Arch Linux - Downloads

找到中国镜像源

下载完后查看sha256校验码是否一致,防止下载文件被篡改,同时,也可以有效防止下载文件损坏、不完整等造成的安装问题。

windows下打开PowerShell通过的Get-FileHash校验

PS E:\下载> Get-FileHash .\archlinux-2022.07.01-x86_64.iso

Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
SHA256          54974BCAC724E97EC242552A8B7D01E037CA8A944100F366BBB6C80865B311DF       E:\下载\archlinux-2022.07.01-..

2. 制作启动盘

先下载制作工具

下载地址:Rufus - 轻松创建USB启动盘

插入1G以上的u盘,启动Rufus,选择镜像,开始制作启动盘

3. 开始安装

3.1. 进入Live环境

通过u盘启动,进入Live环境

archlinux安装镜像不支持安全启动(Secure Boot)。要引导安装媒介,需要禁用安全启动。如果需要,可在完成安装后重新配置安全启动。

3.2. 禁用 reflector 服务

reflector 是archlinux 安装镜像中用以更新 mirrorlist软件源镜像服务器列表的一项服务,但并不适用于国内的网络环境。

systemctl stop reflector.service

查看该服务是否被禁用,按下 q 退出结果输出:

systemctl status reflector.service

3.3. 确认是否为 UEFI 模式

查看是否支持UEFI启动,如果命令结果显示了目录且没有报告错误,则系统以 UEFI模式引导。

ls /sys/firmware/efi/efivars

3.4. 连接网络

  1. 查看网卡信息
ip link

如果要使用的网卡包含state down字段,表示网卡未开启,需要开启网卡

ip link set 网卡名 up
  1. 有线网络连接

DHCP模式下,连接网络后获取分配地址,网络应该可用了。

dhcpcd
  1. 无线网络连接
# 如果知道WiFi名称和密码
iwctl --passphrase 密码 station 无线网卡名 connect 无线名称

# 下面进入交互模式连接无线网络
iwctl                         # 进入无线网络交互
device list                   # 列出所有无线网卡设备名称
station wlan0 scan            # 使用设备wlan0扫描网络
station wlan0 get-networks    # 列出要连接的无线网络
station wlan0 connect SSID    # 连接SSID网络
exit                          # 退出交互模式
  1. 静态IP

添加静态IP到某网卡,以eth0为例 下面IP地址只是示例,根据自己网络情况添加

ip address add 192.168.1.5/24 dev eth0

添加默认路由:其中192.168.1.1是网关地址

ip route add default via 192.168.1.1 
或者
ip route add default via 192.168.1.1 dev eth0

添加dns解析

nano /etc/resolv.conf

比如

nameserver 192.168.1.1
nameserver 8.8.8.8
  1. 测试连接情况
ping www.baidu.com            # 返回连接时间,表明网络正常

3.5. 同步系统时间

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

3.6. 修改国内镜像源

提高镜像下载速度,修改/etc/pacman.d/mirrorlist镜像源地址,找到中国服务器地址放在前面

nano /etc/pacman.d/mirrorlist
## China
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch

nano编辑器几个简单用法

ctrl+w       # 搜索
alt+w        # 搜索下一个
ctrl+6       # 标记,通过光标选择
ctrl+k       # 剪切
ctrl+u       # 粘贴
ctrl+o       # 保存
ctrl+x       # 退出

修改完毕后测试一下,更新能否获取服务器数据,如果不能获取成功代表服务器连接不成功,修改的内容是否错误。或者是网络出现问题。如果获取成功选择n,不需要更新。

pacman -Syu

3.7. 磁盘分区

根据需要选择文件系统,下面给出了两种文件系统的分区方案,推荐使用Btrfs 文件系统。

3.7.1. Btrfs 文件系统

  1. 查看磁盘列表
fdisk -l
  1. 进入磁盘交互模式,如要对/dev/sda,进行更改
fdisk /dev/sda

m       # 查看帮助
g       # 创建GPT格式磁盘
n       # 新建分区
p       # 查看分区
w       # 保存退出(不执行w,所有操作不会生效)
q       # 退出(不保存)
  1. 分区,下面划分了四个分区,根据自己需求划分
/dev/sda1       # 512M efi引导分区
/dev/sda2       # 2G 内存交换区
/dev/sda3       # 剩余

使用 fdisk 或 lsblk 命令复查分区情况

lsblk
  1. 格式化
mkfs.fat -F32 /dev/sda1   # 格式化efi引导分区
mkswap /dev/sda2          # 格式化内存交换区
mkfs.btrfs -L myArch /dev/sda3     # 格式化Btrfs文件系统,-L指定分区标签名称myArch
  1. 创建 Btrfs 子卷

先挂载分区

mount -t btrfs -o compress=zstd /dev/sda3 /mnt

-t 选项后指定挂载分区文件系统类型,-o 选项后添加挂载参数compress=zstd开启透明压缩

创建子卷

btrfs subvolume create /mnt/@          # 创建 / 目录子卷
btrfs subvolume create /mnt/@home      # 创建 /home 目录子卷
btrfs subvolume list -p /mnt           # 复查子卷情况

卸载分区

umount /mnt
  1. 挂载分区
mount -t btrfs -o subvol=/@,compress=zstd /dev/sda3 /mnt # 挂载 / 目录
mkdir /mnt/home # 创建 /home 目录
mount -t btrfs -o subvol=/@home,compress=zstd /dev/sda3 /mnt/home # 挂载 /home 目录
mkdir -p /mnt/boot/efi # 创建 /boot/efi 目录
mount /dev/sda1 /mnt/boot/efi # 挂载 /boot/efi 目录
swapon /dev/sda2 # 挂载交换分区

3.7.2. Ext4 文件系统

  1. 查看磁盘列表
fdisk -l
  1. 进入磁盘交互模式,如要对/dev/sda,进行更改
fdisk /dev/sda

m       # 查看帮助
g       # 创建GPT格式磁盘
n       # 新建分区
p       # 查看分区
w       # 保存退出(不执行w,所有操作不会生效)
q       # 退出(不保存)
  1. 分区,下面划分了四个分区,根据自己需求划分
/dev/sda1       # 512M efi引导分区
/dev/sda2       # 2G 内存交换区
/dev/sda3       # 20G 根目录
/dev/sda4       # 剩余 /home目录
  1. 格式化
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda3
mkfs.ext4 /dev/sda4
mkswap /dev/sda2
swapon /dev/sda2 
  1. 挂载分区
mount /dev/sda3 /mnt
mkdir -p /mnt/boot/efi
mkdir /mnt/home
mount /dev/sda1 /mnt/boot/efi
mount /dev/sda4 /mnt/home

3.8. 安装系统

更新密钥环

pacman -Sy archlinux-keyring

安装系统到/mnt下,安装base软件包和Linux内核以及常规硬件的固件linux-firmware,其他软件包组base-devel,这四个为基础。后面根据需求可以追加安装其他的软件。

pacstrap /mnt base linux linux-firmware base-devel nano bash-completion

生成fstab,检查一下生成的 /mnt/etc/fstab 文件是否正确。

# 生成fstab
genfstab -U /mnt >> /mnt/etc/fstab

# 查看fstab
cat /mnt/etc/fstab

3.9. 配置系统

切换进入安装的系统

arch-chroot /mnt
  1. 编辑hostname,主机名,网络中唯一标识一台机器的名称。编辑 /etc/hostname使之包含单独一行。myhostname,按照自己需求修改
nano /etc/hostname
  1. 编辑hosts,本地主机名解析
nano /etc/hosts

加入一下内容,myhostname,按照自己需求修改

127.0.0.1        localhost
::1              localhost
127.0.1.1        myhostname.localdomain        myhostname
  1. 设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

设置硬件时间,运行hwclock生成/etc/adjtime

hwclock --systohc
  1. 本地化,配置语言环境,搜索en_US,找到en_US.UTF-8 UTF-8去掉前的注释(#)
nano /etc/locale.gen

使新语言环境生效

locale-gen

创建/etc/locale.conf文件,并编辑设定LANG变量

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

3.10. root密码设置及新建用户

新安装系统root密码为空,为了安全设置一下密码

passwd root

新建用户,myarch

useradd -m -G wheel -s /bin/bash myarch

设置myarch的密码

passwd myarch

编辑myarch账户权限

EDITOR=nano visudo

找到%wheel ALL=(ALL:ALL)ALL,去掉前的注释(#)

3.11. 安装cpu微码、生成引导

安装所需软件

pacman -S intel-ucode grub efibootmgr os-prober

如果是amd的CPU更换intel-ucode,为amd-ucode

os-prober是用来查找已安装的操作系统,自动创建多系统引导程序。如果有需要作如下配置

nano /etc/default/grub

添加一行

GRUB_DISABLE_OS_PROBER=false

然后运行,--efi-directory=/boot/efi,修改为自己的挂载位置,--bootloader-id=Arch修改为自己的名字

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Arch

生成grub.cfg

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

至此archlinux系统安装完毕,下面是安装KDE桌面环境和部分软件。

4. 桌面环境安装

这里以KDE桌面为例。

  1. 安装所需包
pacman -S plasma konsole dolphin pulseaudio pulseaudio-alsa pulseaudio-bluetooth xf86-input-libinput wqy-zenhei wqy-microhei ttf-dejavu noto-fonts-emoji noto-fonts-extra ark gwenview packagekit packagekit-qt5 net-tools networkmanager iwd dhcpcd neofetch openssh firefox vim git wget man ntfs-3g

安装包介绍

plasma # KDE桌面
konsole # KDE桌面终端
dolphin # KDE桌面文件管理器
pulseaudio pulseaudio-alsa # 声音相关
pulseaudio-bluetooth # 蓝牙耳机
xf86-input-libinput # 触摸板
wqy-zenhei wqy-microhei ttf-dejavu noto-fonts-emoji noto-fonts-extra # 字体
ark # 解压缩工具
gwenview # 图片查看工具
packagekit packagekit-qt5 # 软件包管理系统
net-tools networkmanager iwd dhcpcd # 网络管理工具
neofetch # 一个系统信息显示小工具
openssh # ssh工具
firefox # firefox浏览器
ntfs-3g # 用于ntfs文件系统读写
vim git wget man # 一些常用工具
latte-dock # KDE的dock栏插件
  1. 开启守护进程
systemctl enable NetworkManager bluetooth dhcpcd sddm sshd

sddm显示管理器,不可用root账户登陆,需要创建一个非root账户。

  1. VMware虚拟机安装archlinux一些设置(实体机跳过)
pacman -S gtkmm gtk2 gtkmm3 open-vm-tools xf86-input-vmmouse xf86-video-vmware
systemctl enable vmtoolsd

添加模块

nano /etc/mkinitcpio.conf

修改MODULES=()

MODULES=(vsock vmw_vsock_vmci_transport vmw_balloon vmw_vmci vmwgfx)

重新生成初始化环境

mkinitcpio -p linux

5. 完成安装

现在可以通过exit或者ctrl+d退回到live环境了,然后卸载/mnt目录

umount -R /mnt

reboot

重启之后进入KDE桌面

6. 配置archlinuxcn中国源

打开终端

# 启用root
sudo -i
nano /etc/pacman.conf

找到Color[multilib]去掉前的注释(#),添加[archlinuxcn]

[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
Server = http://mirrors.163.com/archlinux-cn/$arch

安装archlinuxcn-keyring导入GPG key

pacman -S archlinuxcn-keyring

如果报错,则删除/etc/pacman.d/gnupg,重新生成

rm -rf /etc/pacman.d/gnupg
pacman-key --init
pacman-key --populate archlinx
pacman-key --populate archlinxcn

7. 安装aur软件助手

yay或paru,或我全都要

pacman -S yay paru

8. 安装输入法

pacman -S fcitx5-im fcitx5-chinese-addons fcitx5-pinyin-moegirl fcitx5-pinyin-zhwiki fcitx5-material-color 

编辑运行环境,启用fcitx5

EDITOR=nano sudoedit /etc/environment

添加如下内容

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx

9. pacman和yay用法

pacman -S package_name        # 安装软件
pacman -S extra/package_name  # 安装不同仓库中的版本
pacman -Syyu                  # 升级整个系统,y 是更新数据库,yy 是强制更新,u 是升级软件
pacman -Ss string             # 在包数据库中查询软件
pacman -Si package_name       # 显示软件的详细信息
pacman -Sc                    # 清除未安装的软件缓存,即 /var/cache/pacman/pkg 目录下的文件
pacman -Scc                   # 清理缓存中所有内容
paccache -r                   # 清理缓存,仅包含最近的三个版本
paccache -rk1                 # 清理缓存,仅包含最近的1个版本
pacman -R package_name        # 删除单个软件
pacman -Rs package_name       # 删除指定软件及其没有被其他已安装软件使用的依赖关系
pacman -Qs string             # 查询已安装的软件包
pacman -Qi package_name       # 查询本地安装包的详细信息
pacman -Ql package_name       # 获取已安装软件所包含的文件的列表
pacman -U package.tar.zx      # 从本地文件安装
pactree package_name          # 显示软件的依赖树
yay -S 包名     # 安装软件
yay -Ss 关键字  # 根据关键字搜索软件包
yay -Rns 包名   # 卸载软件
yay -G 包名     # 可以只下载aur包而不构建

10. 其他记录

Intel + NVIDIA双显卡

安装以下几个包:

yay -S nvidia bbswitch optimus-manager-qt-kde
nvidia                      # 英伟达驱动
bbswitch                    # 独立显卡电源控制
optimus-manager-qt-kde      # 能完整发挥独显性能的解决方案
2

评论区