【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. 下载官方镜像
找到中国镜像源
下载完后查看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. 连接网络
- 查看网卡信息
ip link
如果要使用的网卡包含state down
字段,表示网卡未开启,需要开启网卡
ip link set 网卡名 up
- 有线网络连接
DHCP模式下,连接网络后获取分配地址,网络应该可用了。
dhcpcd
- 无线网络连接
# 如果知道WiFi名称和密码
iwctl --passphrase 密码 station 无线网卡名 connect 无线名称
# 下面进入交互模式连接无线网络
iwctl # 进入无线网络交互
device list # 列出所有无线网卡设备名称
station wlan0 scan # 使用设备wlan0扫描网络
station wlan0 get-networks # 列出要连接的无线网络
station wlan0 connect SSID # 连接SSID网络
exit # 退出交互模式
- 静态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
- 测试连接情况
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 文件系统
- 查看磁盘列表
fdisk -l
- 进入磁盘交互模式,如要对
/dev/sda
,进行更改
fdisk /dev/sda
m # 查看帮助
g # 创建GPT格式磁盘
n # 新建分区
p # 查看分区
w # 保存退出(不执行w,所有操作不会生效)
q # 退出(不保存)
- 分区,下面划分了四个分区,根据自己需求划分
/dev/sda1 # 512M efi引导分区
/dev/sda2 # 2G 内存交换区
/dev/sda3 # 剩余
使用 fdisk
或 lsblk
命令复查分区情况
lsblk
- 格式化
mkfs.fat -F32 /dev/sda1 # 格式化efi引导分区
mkswap /dev/sda2 # 格式化内存交换区
mkfs.btrfs -L myArch /dev/sda3 # 格式化Btrfs文件系统,-L指定分区标签名称myArch
- 创建 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
- 挂载分区
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 文件系统
- 查看磁盘列表
fdisk -l
- 进入磁盘交互模式,如要对
/dev/sda
,进行更改
fdisk /dev/sda
m # 查看帮助
g # 创建GPT格式磁盘
n # 新建分区
p # 查看分区
w # 保存退出(不执行w,所有操作不会生效)
q # 退出(不保存)
- 分区,下面划分了四个分区,根据自己需求划分
/dev/sda1 # 512M efi引导分区
/dev/sda2 # 2G 内存交换区
/dev/sda3 # 20G 根目录
/dev/sda4 # 剩余 /home目录
- 格式化
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda3
mkfs.ext4 /dev/sda4
mkswap /dev/sda2
swapon /dev/sda2
- 挂载分区
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
- 编辑hostname,主机名,网络中唯一标识一台机器的名称。编辑
/etc/hostname
使之包含单独一行。myhostname,按照自己需求修改
nano /etc/hostname
- 编辑hosts,本地主机名解析
nano /etc/hosts
加入一下内容,myhostname,按照自己需求修改
127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname
- 设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
设置硬件时间,运行hwclock
生成/etc/adjtime
hwclock --systohc
- 本地化,配置语言环境,搜索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桌面为例。
- 安装所需包
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栏插件
- 开启守护进程
systemctl enable NetworkManager bluetooth dhcpcd sddm sshd
sddm显示管理器,不可用root账户登陆,需要创建一个非root账户。
- 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 # 能完整发挥独显性能的解决方案
评论区