Manjaro 套件管理完整指南
Manjaro 提供多種套件管理方式,本指南詳細介紹各種工具的特點、使用方法和最佳實踐。
套件管理概述
Manjaro vs Arch 套件庫
Manjaro 並不直接使用 Arch Linux 的套件庫,而是維護自己的軟體倉庫:
Manjaro 套件庫特點:
- 經過額外測試,穩定性更高
- 更新速度較 Arch 稍慢(通常延遲 1-2 週)
- 與 Arch 套件完全相容
- 提供三個分支:Stable、Testing、Unstable
套件來源優先級:
- Manjaro 官方倉庫 - 最穩定,推薦日常使用
- AUR (Arch User Repository) - 社群維護,軟體最新最全
- Flatpak/Snap - 通用格式,沙盒化運行
Pamac - 官方套件管理器
圖形界面 (GUI)
Pamac 是 Manjaro 的預設套件管理器,提供直觀的圖形界面:
主要功能:
- 瀏覽和搜尋套件
- 一鍵安裝/移除軟體
- 系統更新管理
- AUR 支援(需手動啟用)
- 套件依賴關係顯示
啟用 AUR 支援:
- 開啟 Pamac →
偏好設定 - 切換到
第三方分頁 - 勾選
啟用 AUR 支援 - 勾選
檢查 AUR 更新
命令列界面 (CLI)
# 更新套件資料庫
pamac update
# 搜尋套件
pamac search firefox
# 安裝套件
pamac install firefox
# 移除套件
pamac remove firefox
# 列出已安裝套件
pamac list -i
# 清理套件快取
pamac clean
# 從 AUR 安裝
pamac build yay
Pacman - Arch 原生套件管理器
基本操作
# 更新系統
sudo pacman -Syu
# 安裝套件
sudo pacman -S firefox
# 移除套件
sudo pacman -R firefox
# 移除套件及其依賴
sudo pacman -Rs firefox
# 搜尋套件
pacman -Ss firefox
# 查看套件資訊
pacman -Si firefox
# 列出已安裝套件
pacman -Q
# 查找檔案屬於哪個套件
pacman -Qo /usr/bin/firefox
進階操作
# 清理套件快取
sudo pacman -Sc
# 移除孤立套件
sudo pacman -Rs $(pacman -Qtdq)
# 降級套件
sudo pacman -U /var/cache/pacman/pkg/package-old-version.pkg.tar.xz
# 忽略特定套件更新
# 編輯 /etc/pacman.conf,添加:
# IgnorePkg = firefox
# 強制重新安裝
sudo pacman -S firefox --overwrite '*'
Yay - AUR 輔助工具
安裝 Yay
# 方法一:使用 pamac
pamac install yay
# 方法二:從 AUR 手動編譯
sudo pacman -S git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
基本使用
# 更新系統(包含 AUR)
yay
# 搜尋套件(官方倉庫 + AUR)
yay firefox
# 安裝 AUR 套件
yay -S google-chrome
# 僅更新 AUR 套件
yay -Sua
# 移除套件
yay -R package-name
# 清理不需要的依賴
yay -Yc
進階配置
# 編輯 yay 配置
yay --save --answerdiff None --answerclean None --removemake
# 查看 yay 統計資訊
yay -Ps
# 顯示套件統計
yay -Qi package-name
AUR (Arch User Repository)
什麼是 AUR
AUR 是 Arch Linux 社群維護的軟體倉庫:
優點:
- 軟體數量龐大(80,000+ 套件)
- 更新迅速,通常包含最新版本
- 社群活躍,問題回報快速
風險:
- 社群維護,安全性相對較低
- 需要編譯安裝,耗時較長
- 可能存在惡意程式碼
安全使用 AUR
# 1. 檢查 PKGBUILD 檔案
yay -G package-name
cd package-name
less PKGBUILD
# 2. 檢查套件維護者
yay -Si package-name
# 3. 查看套件評論和投票
# 訪問 https://aur.archlinux.org/packages/package-name
# 4. 使用沙盒環境(進階)
sudo pacman -S bubblewrap
yay --batchinstall --sudoloop
常用 AUR 套件
# 開發工具
yay -S visual-studio-code-bin
yay -S google-chrome
yay -S discord
yay -S slack-desktop
# 系統工具
yay -S timeshift
yay -S stacer
yay -S bleachbit
# 媒體工具
yay -S spotify
yay -S obs-studio-git
Flatpak 支援
安裝 Flatpak
# 安裝 Flatpak
sudo pacman -S flatpak
# 添加 Flathub 倉庫
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# 重新啟動系統以完成設置
基本操作
# 搜尋應用程式
flatpak search firefox
# 安裝應用程式
flatpak install flathub org.mozilla.firefox
# 運行應用程式
flatpak run org.mozilla.firefox
# 列出已安裝應用程式
flatpak list
# 更新應用程式
flatpak update
# 移除應用程式
flatpak uninstall org.mozilla.firefox
Snap 支援
安裝 Snap
# 安裝 snapd
sudo pacman -S snapd
# 啟用 snapd 服務
sudo systemctl enable --now snapd.socket
# 創建符號連結
sudo ln -s /var/lib/snapd/snap /snap
# 安裝 Snap Store(可選)
sudo snap install snap-store
基本操作
# 搜尋 snap 套件
snap find firefox
# 安裝 snap 套件
sudo snap install firefox
# 列出已安裝 snap
snap list
# 更新 snap 套件
sudo snap refresh
# 移除 snap 套件
sudo snap remove firefox
套件管理最佳實踐
日常維護
# 每日更新檢查
pamac update || yay
# 每週清理
sudo pacman -Sc
yay -Yc
flatpak uninstall --unused
# 每月完整清理
sudo pacman -Scc
sudo journalctl --vacuum-time=1month
系統備份
# 備份已安裝套件列表
pacman -Qqe > pkglist.txt
pacman -Qqm > aurlist.txt
# 恢復套件(新系統)
sudo pacman -S --needed - < pkglist.txt
yay -S --needed - < aurlist.txt
故障排除
套件衝突:
# 查看衝突詳情
sudo pacman -S package-name --debug
# 強制覆蓋檔案
sudo pacman -S package-name --overwrite '*'
損壞的套件資料庫:
# 重建套件資料庫
sudo rm /var/lib/pacman/db.lck
sudo pacman-db-upgrade
sudo pacman -Sy
AUR 編譯失敗:
# 清理編譯快取
yay -Scc
# 重新下載 PKGBUILD
yay -G package-name --force
效能優化
平行下載
編輯 /etc/pacman.conf:
# 啟用平行下載
ParallelDownloads = 5
# 啟用彩色輸出
Color
# 顯示套件大小
VerbosePkgLists
鏡像站優化
# 安裝 reflector
sudo pacman -S reflector
# 自動選擇最快鏡像站
sudo reflector --country Taiwan,Japan,Korea --age 12 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
# 設定自動更新鏡像站
sudo systemctl enable reflector.timer