ArchLinux安装

安装系统

Arch Linux 安装使用教程
以下简述步骤,详情去链接查看
一. 下载镜像ios

  1. 验证签名
    gpg --keyserver-options auto-key-retrieve --verify archlinux-202x.0x.01-x86_64.iso.sig
  2. 刻录到u盘
    sudo dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress oflag=sync
  3. 调整BOIS启动方式为 UEFI

二. 进入Live CD

  1. 禁用 reflector
    systemctl stop reflector.service
  2. 再次确保是否为 UEFI 模式
    ls /sys/firmware/efi/efivars
  3. 连接网络
iwctl                           #执行iwctl命令,进入交互式命令行
device list                     #列出设备名,比如无线网卡看到叫 wlan0
station wlan0 scan              #扫描网络
station wlan0 get-networks      #列出网络 比如想连接YOUR-WIRELESS-NAME这个无线
station wlan0 connect YOUR-WIRELESS-NAME #进行连接 输入密码即可
exit                            #成功后exit退出
  1. 更新系统时钟
timedatectl set-ntp true    #将系统时间与网络时间进行同步
timedatectl status          #检查服务状态
  1. 分区
    不要用fdisk分区,此命令只支持MBR,不支持GPT
    注意对齐分区,参考:使用parted命令对齐分区,以获得最佳性能
parted /dev/sda
(parted) mklabel
New disk label type? gpt                                                  
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? Yes                                                               
(parted) mkpart
Partition name?  []?                                                     
File system type?  [ext2]? xfs                                            
Start? 2048s                                                              
End? 100%                                                                 
(parted) print

或者

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

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

示例:
/dev/sdb1 efi 800M
/dev/sdb2 / 1000G
/dev/sdb3 var 12G
/dev/sdb4 /home 剩余

  1. 格式化
mkfs.xfs  /dev/sdax
mkfs.ext4  /dev/sdax            #格式化根目录和home目录的两个分区
mkfs.vfat  /dev/sdax            #格式化efi分区
  1. 挂载
mount /dev/sdax  /mnt
mkdir /mnt/efi     #创建efi目录
mount /dev/sdax /mnt/efi
mkdir /mnt/home    #创建home目录
mount /dev/sdax /mnt/home
  1. 镜像源的选择
vim /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. 添加archlilnuxcn,即arch中文社区的软件源仓库
sudo vim /etc/pacman.conf

[archlinuxcn]
[archlinuxcn]
SigLevel = Required DatabaseOptional TrustedOnly
Server = https://repo.archlinuxcn.org/$arch

[可选] 优化mirrorlist列表

pacman -S reflector # 安装
# 选择最快的镜像源
sudo reflector --verbose -l 200 -p https --sort rate --save /etc/pacman.d/mirrorlist
# 或者 选择在xx的最快镜像源,最新的50个
sudo reflector --verbose --latest 200 --protocol https --sort rate --country 'Japan,South Korea,Taiwan,India,United States,Canada,Germany,France' --save /etc/pacman.d/mirrorlist

archlilnuxcn镜像源
查看服务器状态
使用reflector自动更改Pacman的软件源

  1. 安装系统
pacstrap /mnt base base-devel linux linux-headers linux-firmware  #base-devel在AUR包的安装是必须的
#必须的功能性软件
pacstrap /mnt dhcpcd iwd vim bash-completion   #一个有线所需(iwd也需要dhcpcd) 一个无线所需 一个编辑器 一个补全工具
  1. 生成 fstab 文件
genfstab -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab

示例

# lsblk -o name,mountpoint,size,uuid #查看UUID
# /dev/sdb2
UUID=560a74f2-582b-45c8-99c7-5572e592e263       /               ext4            rw,relatime     0 1
# /dev/sdb3
UUID=1d7d0a88-411c-4a13-837f-91a760040bef       /var            ext4            rw,relatime     0 2
# /dev/sdb4
UUID=eeeeb548-c5ba-4f6c-b22a-c452da93fe87       /home           ext4            rw,relatime     0 2
# /dev/sdb1
UUID=1DAE-DA22          /efi            vfat            rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro   0 2
# /dev/sda1
UUID=54576ec2-8019-4a5d-9837-5c7f0f145669       /data           xfs             rw,relatime     0 0
#swapfile
/swapfile       none    swap    defaults        0 0
  1. hange root
arch-chroot /mnt
  1. 一些设置
# 时区设置
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc #进行硬件时间设置,将当前的正确 UTC 时间写入硬件时间
  1. 设置 Locale 进行本地化
vim /etc/locale.gen # 去掉 en_US.UTF-8 所在行以及 zh_CN.UTF-8 所在行的注释符号(#)
locale-gen
echo 'LANG=en_US.UTF-8'  > /etc/locale.conf
  1. 设置主机名
vim /etc/hostname
  1. 为 root 用户设置密码
passwd root
  1. 安装微码
pacman -S intel-ucode   #Intel
pacman -S amd-ucode     #AMD
  1. 安装引导程序
pacman -S grub efibootmgr   #grub是启动引导器,efibootmgr被 grub 脚本用来将启动项写入 NVRAM。
sudo grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB

vim /etc/default/grub
# 改GRUB_CMDLINE_LINUX_DEFAULT参数:loglevel=5 nowatchdog  

sudo grub-mkconfig -o /boot/grub/grub.cfg  # 生成 GRUB 所需的配置文件
  1. 完成安装
exit                # 退回安装环境#
umount -R  /mnt     # 卸载新分区
reboot              # 重启

systemctl start dhcpcd  #立即启动dhcp
ping www.gnu.org      #测试网络连接
systemctl start iwd #立即启动iwd
iwctl               #和之前的方式一样,连接无线网络

三、桌面环境与常用应用

pacman -Syyu    #升级系统中全部包

#wheel附加组可sudo,以root用户执行命令 -m同时创建用户家目录
passwd testuser
useradd -m -G wheel -s /bin/bash testuser  
#编辑 sudoers 配置文件
EDITOR=vim visudo  # 需要以 root 用户运行 visudo 命令 把#%wheel ALL=(ALL) ALL的注释符号 # 去掉,:wq 保存

# 安装 KDE Plasma 桌面环境
sudo pacman -Sy plasma konsole kde-accessibility kde-graphics kde-system kde-utilities  cups ffmpegthumbs noto-fonts
# 卸载多余
sudo pacman -Rns discover flatpak-kcm plasma-sdk

# 安装wayland
sudo pacman -S --needed wayland
yay -S sddm-git
pacman -S --needed xorg-xwayland xorg-xlsclients qt5-wayland glfw-wayland
pacman -S --needed plasma-wayland-session egl-wayland

# 启动SDDM的命令
sudo systemctl enable sddm

# 启动网络、蓝牙、打印机服务
sudo systemctl enable NetworkManager bluetooth cups

# 安装其他驱动
sudo pacman -S dkms
yay -S r8168-dkms #  Realtek 8168 network cards
yay -S xpadneo-dkms # Xbox One Wireless Gamepad
过时,报错:yay -S rts_bpp-dkms-git # Realtek Card Reader RTL8402/8411/8411B 

不推荐安装 plasma-meta(无法在不卸载元包的情况下卸载组件,并且所有组件被安装为依赖)和kde-applications(里面的东西太杂了,包括好多游戏、专业软件,以及两个浏览器)

ArchLinux安装KDE桌面环境
How to Install and Configure KDE Plasma Desktop in Arch Linux
在 Arch Linux 中设置 Full Wayland 的指南
KDE 应用程序列表

显卡管理

安装驱动

Screenshot_20251226_111919

Screenshot_20251226_112008

内核驱动(内核自带)、OpenGL驱动(mesa)、Vulkan驱动(vulkan-intel)、VAAPI驱动(intel-media-driver)。以上建议都装。
OpenCL驱动(opencl-mesa)你要是需要就装,不需要可不装。
还有个Xorg的DDX驱动(xf86-video-intel)不要装。

## Intel Core i7-4712MQ 英特尔核芯显卡
sudo pacman -S mesa lib32-mesa vulkan-intel lib32-vulkan-intel libva-intel-driver lib32-libva-intel-driver

## GeForce GTX 950M 英伟达独立显卡
yay -S nvidia-580xx-dkms nvidia-580xx-utils nvidia-580xx-settings lib32-nvidia-580xx-utils

安装nvidia-prime

sudo pacman -S nvidia-prime
#运行软件heroic
prime-run heroic

使用方式1:KDE 內建「使用獨顯」選項

sudo pacman -S switcheroo-control
sudo systemctl enable --now switcheroo-control

在應用程式啟動器右鍵點擊應用 → 應用程式 分頁 → 進階選項
勾選 使用獨立顯示卡執行(Run using dedicated graphics card)

使用方式2:修改應用快捷鍵

cp /usr/share/applications/你的應用.desktop ~/.local/share/applications/
vim ~/.local/share/applications/你的應用.desktop
Exec=prime-run 原指令 %U
或
Exec=env __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia 原應用 %U

视频硬件解码支持

# 5代及以后的安装intel-media-driver,其他安装libva-intel-driver
sudo pacman -S libva-intel-driver # 视频硬解支持
sudo pacman -S libva-utils
vainfo # 查看是否驱动安装正确,输出中也包含了支持硬解的格式

配置 Firefox / chromium使之支持视频硬解

firefox

about:config
layers.acceleration.force-enabled 设置为 true
gfx.webrender.all 设置为 true
media.hardware-video-decoding.force-enabled 设置为 true

chromium

增加配置文件

vim ~/.config/chromium-flags.conf 
 
--ozone-platform=wayland # 原生Wayland上运行
--enable-wayland-ime # 支持输入法fcitx5
--enable-features=VaapiVideoDecodeLinuxGL # 视频硬件解码

打开 chrome://flags#ignore-gpu-blacklist,查找Override software rendering list,设置为开启enable
重启

阻止网站提供目前还不能硬解的格式

若显卡较旧,设置视频网站支持的格式

哔哩哔哩 选择“AVC”
Youtube 安装 h264ify 阻止 Youtube 提供除 H.264 以外的视频格式

Firefox 使用 VAAPI 硬解视频
Plasma/Tips

日誌配置

只保留最近 2 週的日誌

sudo journalctl --vacuum-time=2weeks

只保留最近 500M 的日誌

sudo journalctl --vacuum-size=500M

修改配置文件

sudo vim /etc/systemd/journald.conf

...
[Journal]
SystemMaxUse=500M
...

sudo systemctl restart systemd-journald

配置休眠文件

若不配置,则无法休眠

Archlinux 设置休眠到swap文件

让Shell更易辨识

Arch Linux 终端升级zsh(oh my zsh)

UFW 防火墙

使用gufw来设置,防止漏加规则

规则:

To                         Action      From
--                         ------      ----
8888                       ALLOW       Anywhere                  
8889                       ALLOW       Anywhere                  
1714:1764/udp              ALLOW       Anywhere                  
1714:1764/tcp              ALLOW       Anywhere                  
6800                       ALLOW       Anywhere                  
22                         LIMIT       Anywhere                  
Anywhere                   ALLOW       192.168.0.0/24            
8888 (v6)                  ALLOW       Anywhere (v6)             
8889 (v6)                  ALLOW       Anywhere (v6)             
1714:1764/udp (v6)         ALLOW       Anywhere (v6)             
1714:1764/tcp (v6)         ALLOW       Anywhere (v6)             
6800 (v6)                  ALLOW       Anywhere (v6)             
22 (v6)                    LIMIT       Anywhere (v6)   

更换Linux内核

Different Types of Kernel for Arch Linux and How to Use Them

安装应用

参见Arch Linux 安裝應用

posted @ 2024-07-26 22:08  jokerpoker  阅读(252)  评论(0)    收藏  举报