ArchLinux安裝

jokerpoker發表於2024-07-26

安裝系統

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

[可選]最佳化mirrorlist列表

檢視伺服器狀態
使用reflector自動更改Pacman的軟體源

pacman -S reflector # 安裝
# 選擇最快的映象源
sudo reflector --verbose -l 200 -p https --sort rate --save /etc/pacman.d/mirrorlist
# 或者 選擇在xx的最快映象源,最新的50個
sudo reflector --verbose --latest 200 -p https --sort rate -c Japan,'South Korea',Taiwan,India,'United States',Canada,Germany,France --save /etc/pacman.d/mirrorlist
  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。
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB

vim /etc/default/grub
# 改GRUB_CMDLINE_LINUX_DEFAULT引數:loglevel=5 nowatchdog  

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

不推薦安裝 plasma-meta(無法在不解除安裝元包的情況下解除安裝元件,並且所有元件被安裝為依賴)和kde-applications(裡面的東西太雜了,包括好多遊戲、專業軟體,以及兩個瀏覽器)

ArchLinux安裝KDE桌面環境
How to Install and Configure KDE Plasma Desktop in Arch Linux
在 Arch Linux 中設定 Full Wayland 的指南
KDE 應用程式列表

顯示卡管理

安裝驅動

sudo pacman -S mesa lib32-mesa vulkan-intel lib32-vulkan-intel # 英特爾核芯顯示卡
sudo pacman -S nvidia nvidia-utils nvidia-settings lib32-nvidia-utils # 英偉達獨立顯示卡

安裝nvidia-prime

sudo pacman -S nvidia-prime
#執行軟體heroic
prime-run heroic

影片硬體解碼支援

# 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

安裝qBittorrent

安裝加強版qbittorrent-enhanced-git

yay -S qbittorrent-enhanced-git 

配置黑名單
關於peer_blacklist.txt等檔案的存放位置

Windows: %LocalAppData%\qBittorrent
Linux: $HOME/.local/share/qBittorrent

啟動qBittorrent EE後,可在日誌(選單欄中:檢視 -> 日誌 -> 顯示)中看到如下內容

<時間戳> - 'peer_whitelist.txt' doesn't exist. The corresponding filter is disabled.
<時間戳> - 'peer_blacklist.txt' contains 2 valid rules.

搜尋需要的Jackett

yay -S jackett-bin # 安裝jackett
sudo systemctl enable --now jackett #啟動服務,加入開機啟動

開啟 http://127.0.0.1:9117 ,進入jackett配置,複製API Key,寫入jackett.json檔案

cd ~/.local/share/qBittorrent/nova3/engines
vim jackett.json # 寫入api key

{
    "api_key": "xxxx",
    "tracker_first": false,
    "url": "http://127.0.0.1:9117"
}

完成,可以進入http://127.0.0.1:9117增加搜尋引擎

使用qBittorrent+Jackett打造一站式資源搜尋+下載神器
請問如何啟用Peer 白名單/黑名單

配置休眠檔案

若不配置,則無法休眠

Archlinux 設定休眠到swap檔案

讓Shell更易辨識

Arch Linux 終端升級zsh(oh my zsh)

更換Linux核心

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

安裝應用

參見Manjaro Linux安裝

相關文章