Arch Linux 手動設置
新增使用者至 wheel 群組
一直用 root 帳號在使用 Linux 還是有些危險,應該為大多數任務建立一腳使用者帳號。
useradd -m -G wheel -s /bin/bash brian-m創建家目錄-G加入 group-s使用者登入 shell 的路徑
再來編輯 /etc/sudoers 檔案,visudo 是專門用來編輯 sudo 權限的保險工具。在你修改完存檔離開的瞬間會在背景自動檢查語法。如果打錯字,它會報警並拒絕存檔保護系統。
EDITOR=vim visudo將它取消註解:
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL:ALL) ALL切換至新建好的 user:
su - ewdwheel
早期 UNIX 時代,只有最高階的管理員才能掌控系統, 特權階級內部有俚語被稱作「big wheel」, 沿用至今。
wheel 表示特殊使用者群組,用以控制對 su 或 sudo 指令的存取,是有潛力變身成管理員的特權用戶。
使用 systemctl 連上網路
systemd 是現代 Linux 的服務總管, 當你按下電源鍵、GRUB 引導完畢後,Linux 核心喚醒的第一個程式就是 systemd(它的進程 ID 永遠是 1)。
接下來整台電腦裡的所有功能(網路、藍牙、音效、圖形介面……)全部都由 systemd 負責點名、叫醒並在背景管理。主要使用 systemctl 指令與 systemd 對話。
enable來每次開機都要自動啟動--now現在立刻生效
systemctl enable --now NetworkManager使用 NetworkManager 下的 nmcli 來連網:
nmcli device wifi list
nmcli device wifi connect _SSID_ password _pwd_
這時可順便把 terminus-font 裝回來
使用 pacman 系統更新
sudo pacman -Syu-S:Sync,跟遠端的軟體倉庫進行操作。-y:Refresh,連線網路把最新的軟體清單(Package databases)下載一份到電腦裡更新-u:Sysupgrade,比對硬碟裡現有的套件,只要發現遠端有更新的版本,下載並升級。
安裝 gnome
喜歡折騰的話還有不少選擇,不過這次有點懶。
sudo pacman -S gnome gnome-tweaksgnome 內建的圖形登入介面叫做 GDM(GNOME Display Manager),再使用 systemd 來啟動……但不是「現在」。
sudo systemctl enable gdm先預防性的把中文字型也補上:
sudo pacman -S noto-fonts-cjk noto-fonts-emoji安裝 flatpak(如果沒有安裝)
日常開發工具(如 Rust 編譯器、Neovim/VS Code)直接用 pacman 裝在系統底層。 如果是日常軟體(例如 Spotify、Discord、Steam……),比較建議使用 Flatpak 來安裝。
sudo pacman -S flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo啟用 AUR / paru(AUR Helper)
paru 的前身是 yay,但它的作者後來決定用 Rust 重寫,它是一個 Pacman wrapper,也就是說可以直接用 paru 取代 pacman 指令。
AUR 助手不能直接透過 pacman 下載,需手動編譯,安裝可參考:Morganamilo/paru: Feature packed AUR helper
sudo pacman -S --needed base-devel--needed補上我目前硬碟裡真正缺少(needed)的工具,其他若有重複或版本已為最新,直接跳過它base-devel一個許多編譯與建構工具的 package group
makepkg -si在 Debian/Ubuntu,軟體打包格式叫 .deb;在 RedHat/Fedora 叫 .rpm;而 Arch Linux 用的格式為 .pkg.tar.zst,而 makepkg 是一個把原始碼編譯成標準安裝包的工具。
sSyncdeps,自動在背景呼叫 pacman,把缺少的 dependencies 下載下來i編譯後執行pacman -U
Rime & 輸入法
sudo pacman -S fcitx5-rime fcitx5-imSSH 不再自動中斷
systemctl --user enable --now ssh-agent編輯 ~/.zshrc
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"SSH 的用戶端設定保持連線,編輯 ~/.ssh/config:
Host github.com
IdentityFile ~/.ssh/id_ed25519
AddKeysToAgent yes
Host *
ServerAliveInterval 60
ServerAliveCountMax 3AddKeysToAgent自動將金鑰加入ssh-agentServerAliveInterval設定 60 秒會自動向伺服器發送一個保持連線的訊號ServerAliveCountMax如果連續 3 次沒有回應才會斷線
測試一下:
ssh -T git@github.com