全文參考Ivon的部落格: 文章連結
- 隨身碟插著電腦,開機按Delete進入BIOS,關閉Secure Boot。
- 調整BIOS開機順序,以UEFI模式隨身碟開機,進入Arch Linux,用鍵盤選第一個選項,按Enter進入安裝媒體。
- 載入Arch Linux系統後會進入終端機(顯示root@archiso),系統應該會自動連上網路。
ping看看Arch Linux檢查網路是否正常:
ping -c 3 archlinux.org
- 檢查是否為UEFI模式開機,應會回傳「64」。若顯示No such file or directory的話,輸入poweroff關機,退回BIOS啟用UEFI再重新來過。
cat /sys/firmware/efi/fw_platform_size
- Arch Linux安裝媒體預設是從官方伺服器下載套件,有些地區的網速可能會很慢。為此可以先將Arch Linux的套件庫改成離您較近的鏡像站。
vim /etc/pacman.d/mirrorlist
#在第一行將#取消註解,並在Server的後面改為臺灣國網中心的Arch鏡像站網址。這樣Arch就會優先使用此套件庫。
Server = https://free.nchc.org.tw/arch/$repo/os/$arch
#嘗試同步套件庫,能連線的話就不會輸出任何錯誤訊息。
pacman -Syy
- 查看目前的硬碟分區
fdisk -l
- 選取要安裝系統的硬碟
fdisk /dev/sda 或者可能是 /dev/nvme0n1
- (可選擇) 輸入
g
刪除全部分區,建立GPT分割表。 - 建立EFI分割區
n # 新增分割區
1 # 第一個分割區
First Sector: (Enter) # 預設
Last Sector: +512M # 512MB大小
# 遇到Do you want to remove the signature?的問題就輸入yes
t # 更改分割區類型
1 # 第一個分割區
uefi # 更改成EFI分割區
- 建立SWAP分割區(交換分區,建議為記憶體的2倍)
n # 新增分割區
2 # 第二個分割區
First Sector: (Enter) # 預設
Last Sector: +32G # 若記憶體為16G,則建立32G的SWAP分割區
t # 更改分割區類型
2 # 第二個分割區
swap # 更改成SWAP分割區
- 建立ROOT分割區
n # 新增分割區
3 # 第三個分割區
First Sector: (Enter) # 預設
Last Sector: (Enter) # 預設
t # 更改分割區類型
3 # 第三個分割區
linux # 更改成Linux分割區
- 輸入
p
檢查分割區是否正確,輸入w
寫入分割區表並離開。
# 分割區應呈現
/dev/sda1 512M EFI
/dev/sda2 32G SWAP
/dev/sda3 XXXG Linux
- 格式化分割區,EFI分割區格式化為FAT32,ROOT分割區格式化為EXT4,SWAP分割區格式化為SWAP。
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda3
mkswap /dev/sda2
swapon /dev/sda2
- 掛載分割區至
/mnt
目錄
mount /dev/sda3 /mnt
- 掛載EFI分割區至
/mnt/boot
目錄
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
- 用
pacstrap
安裝Linux基本系統
pacstrap -K /mnt base linux linux-firmware
- 用genfstab工具設定開機後硬碟掛載規則
genfstab -U /mnt >> /mnt/etc/fstab
- 檢視掛載規則是否正確
cat /mnt/etc/fstab
- 進入新系統
arch-chroot /mnt
Intel顯示卡的驅動含在開源mesa套件,開箱即用,通常不需要特別安裝。下面是包含Vulkan驅動的套件:
pacman -S intel-media-driver vulkan-intel
AMD顯示卡的驅動跟Intel一樣,含在mesa套件。有需要Vulkan再額外安裝:
pacman -S vulkan-radeon libva-mesa-driver mesa-vdpau
至於Nvidia顯示卡,Arch的儲存庫有提供Nvidia顯示卡的專有驅動,不需要額外加套件庫。安裝後nouveau會自動被停用。
pacman -S linux-headers nvidia-dkms nvidia-settings
Nvidia顯示卡(驅動版本 > 545)的用戶建議編輯Nvdiia核心模組參數,啟用DRM框架,KDE Wayland才會有畫面。
echo "options nvidia_drm modeset=1 fbdev=1" >> /etc/modprobe.d/nvidia.conf
用lsci
查看硬體裝置的型號
lspci | egrep -i 'wifi|wireless|intel|broadcom|realtek'
如果網卡是用USB外接的,使用lsusb
指令檢查
pacman -S usbutils
lsusb
它應該會印出一組英數:英數
的代碼,到 Linux Wireless wiki 查詢該裝置有無驅動可用。
如果你運氣好,裝好linux-firmware
套件,有含在主線Linux核心的專有驅動就會在開機後自動載入。
pacman -S linux-firmware
運氣不好,裝驅動得用到AUR甚至DKMS編譯,那請後面開機再處理吧。
- 安裝KDE桌面環境以及常用套件
pacman -S sudo networkmanager vim firefox noto-fonts-cjk noto-fonts-emoji
pacman -S xorg xorg-server pipewire wireplumber pipewire-pulse intel-ucode nvtop
pacman -S sddm plasma-meta ffmpegthumbs feh mpv alacritty dolphin #packagekit-qt6
pacman -S fcitx5-im fcitx5-chewing fcitx5-qt fcitx5-gtk fcitx5-chinese-addons
pacman -S git openssh fakeroot base-devel ntfs-3g
- 設定時區
ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime
hwclock --systohc
- 編輯語言檔案,取消
zh_TW.UTF-8
的註解
vim /etc/locale.gen
- 產生語言檔案,設定系統語言為正體中文
locale-gen
echo "LANG=zh_TW.UTF-8" >> /etc/locale.conf
- 設定主機名稱(在此以ArchLinux為例)
echo "ArchLinux" >> /etc/hostname
- 設定host檔案
echo "127.0.0.1 localhost" >> /etc/hosts
echo "::1 localhost" >> /etc/hosts
echo "127.0.1.1 ArchLinux" >> /etc/hosts # 主機名稱
- 開機時啟動NetworkManager和SDDM
systemctl enable NetworkManager.service
systemctl enable sddm.service
systemctl enable sshd.service # 遠端連線(可選)
- 設定root密碼
passwd
# 輸入密碼兩次
- 建立新使用者username(可自選名稱)
useradd -m -g users -G wheel,audio,video,storage -s /bin/bash {{username}}
passwd {{username}}
# 輸入密碼兩次
- (可選) vim /etc/sudoers 編輯sudoers檔案,使username(使用者名稱)可以使用sudo權限
{{username}} ALL=(ALL) ALL
- 安裝GRUB引導程式
pacman -S grub efibootmgr
- 將EFI分區掛載到
/boot
目錄
mount /dev/sda1 /boot
- 安裝GRUB至EFI分區
grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot
grub-mkconfig -o /boot/grub/grub.cfg
- 檢查
/boot
目錄是否有安裝GRUB和Linux核心,應會列出grub
目錄和initramfs-linux.img
。
ls /boot
- 安裝完畢,離開chroot環境,取消掛載,重新開機
exit
umount /mnt/boot
umount /mnt
shutdown now
- 移除隨身碟,重新開機,進入GRUB引導程式,選擇ArchLinux進入系統。
如果Arch Linux開機後沒畫面,按CTRL+ALT+F2切換至tty,登入root帳號後再除錯。或是用開機隨身碟chroot到系統進行修復(重複上文2.4的步驟)。
一切順利的話,應該會看到登入畫面,輸入密碼後就能登入KDE桌面,下面是一些小優化。
- 安裝
yay
套件管理程式
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
- 編輯:
sudo vim /etc/makepkg.conf
,找到MAKEFLAGS="-j2"
這行,取消註解,再將後面改成"-j$(nproc)"
。這樣在編譯AUR套件時即會使用全部CPU。 - 編輯:
sudo vim /etc/pacman.conf
,取消註解Color
和ParallelDownloads
,開啟顏色和平行下載套件。
- 安裝Flatpak
sudo pacman -S flatpak
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
- 確認已安裝必要的Fcitx5套件
sudo pacman -S fcitx5-im fcitx5-chewing fcitx5-qt fcitx5-gtk fcitx5-chinese-addons
yay -S fcitx5-mcbopomofo-git #小麥輸入法
sudo pacman -S fcitx5-mozc #日文輸入法
- 編輯
sudo vim /etc/environment
,加入以下內容
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=fcitx
- 安裝UFW防火牆
sudo pacman -S ufw
sudo ufw enable
sudo systemctl enable ufw
sudo systemctl start ufw
- 設定防火牆規則
sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw allow 1714:1764 # KDE CONNECT(可選)
sudo ufw allow ssh # 遠端連線(可選)
sudo ufw reload
最簡單的方式是重裝Linux核心
sudo pacman -S linux linux-firmware
如果還是不行,可以從AUR補齊驅動程式
yay -S mkinitcpio-firmware
sudo pacman -S os-prober
sudo vim /etc/default/grub #取消GRUB_DISABLE_OS_PROBER=false的註解
sudo os-prober
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo pacman -S alacritty ttf-ubuntu-mono-nerd # 終端機、字型
設定Alacritty字型
mkdir ~/.config/alacritty
vim ~/.config/alacritty/alacritty.toml
# 加入以下內容
[font.normal]
family = "UbuntuMono Nerd Font"
style = "Regular"
[font.bold]
family = "UbuntuMono Nerd Font"
style = "Bold"
[font.italic]
family = "UbuntuMono Nerd Font"
style = "Italic"
[font]
size = 14
[env]
TERM = "xterm-256color"
sudo pacman -S tmux
設定tmux顏色
echo "set -g default-terminal \"screen-256color\"" >> ~/.config/tmux/tmux.conf
echo "set -ag terminal-overrides \",xterm-256color:RGB\"" >> ~/.config/tmux/tmux.conf
sudo pacman -S gcc make git ripgrep fd unzip neovim lazygit xclip nodejs
git clone https://github.com/ZongBen/nvim-config "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim
echo "notARepository: 'skip'" >> ~/.config/lazygit/config.yml
git config --global core.editor "nvim"
git config --global user.name "{name}"
git config --global user.email "{email}"
yay -S nvm twitch-dl yt-dlp spotify
echo 'source /usr/share/nvm/init-nvm.sh' >> ~/.bashrc
sudo pacman -S docker docker-compose
sudo systemctl enable docker # 開機啟動
sudo systemctl start docker # 啟動服務
sudo usermod -aG docker username # 將使用者加入docker群組
sudo pacman -S dotnet-sdk dotnet-runtime aspnet-runtime
sudo vim /etc/sddm.conf
#加入以下文字
[General]
Numlock=on
取消註解[multilib]
和Include = /etc/pacman.d/mirrorlist
,再更新套件庫
sudo vim /etc/pacman.conf
下載Steam
sudo pacman -S steam
若Steam下載速度緩慢
sudo vim ~/.steam/steam/steam_dev.cfg
# 加入以下內容
@nClientDownloadEnableHTTP2PlatformLinux 0
@fDownloadRateImprovementToAddAnotherConnection 1.0
Bottles是一個輕量級的Wine前端,可以讓你在Linux上執行Windows應用程式。
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo # 執行後重開機
flatpak install flathub com.usebottles.bottles
使用Bottles安裝LINE後,需要的相依套件
cjkfonts、vcredist2012、d3dcompiler_46、iertutil
sudo pacman -S openvpn networkmanager-openvpn ark unrar p7zip discord xwaylandvideobridge
1.安裝
sudo pacman -S extra-cmake-modules plasma-framework5 gst-libav base-devel mpv python-websockets qt5-declarative qt5-websockets qt5-webchannel vulkan-headers cmake
yay -S plasma6-wallpapers-wallpaper-engine-git
2.裝好後重啟Plasma shell服務
systemctl --user restart plasma-plasmashell.service
3.到 steam 下載 wallpaper engine
4.回到KDE桌面,在桌面空白處右鍵點選「自訂桌面」,點選「取得新的外掛程式」,搜尋安裝「Wallpaper Engine KDE Plugin」
5.將桌布類型調為Wallpaper Engine for KDE
6.點選Library資料夾圖示,選取Steam收藏庫下的Steam目錄(不是Wallpaper Engine的目錄,也不是steamapps)。
你可能得在檔案選擇器按右鍵,點"Show Hidden Folders"才能看到隱藏目錄。
Linux的路徑:~/.local/share/Steam