Pacman 是一個(gè)軟件包管理器,作為Arch Linux發(fā)行版的一部分,是Arch Linux 的一大亮點(diǎn)。它將一個(gè)簡(jiǎn)單的二進(jìn)制包格式和易用的構(gòu)建系統(tǒng)結(jié)合了起來。不管軟件包是來自官方的 Arch 庫還是用戶自己創(chuàng)建,Pacman 都能方便的管理。
開發(fā)歷史
受到另一個(gè)極簡(jiǎn)主義發(fā)行版CRUX的啟發(fā),Judd Vinet 在 2002 年 3 月啟動(dòng)了 Arch Linux 項(xiàng)目。選擇這個(gè)名稱是因?yàn)?Vinet 喜歡這個(gè)詞的“主要”含義,如“頭號(hào)敵人”。
最初僅適用于32 位 x86 CPU,第一個(gè)x86_64安裝 ISO 于 2006 年 4 月發(fā)布。
Vinet 一直領(lǐng)導(dǎo) Arch Linux 直到 2007 年 10 月 1 日,之后他因時(shí)間不夠而辭職,并將該項(xiàng)目的控制權(quán)移交給 Aaron Griffin。
2012 年 8 月開始遷移到systemd作為其初始化系統(tǒng),并于 2012 年 10 月成為新安裝的默認(rèn)系統(tǒng)。它取代了自發(fā)行版誕生以來一直使用的SysV 風(fēng)格的初始化系統(tǒng)。
i686支持的終止于 2017 年 1 月宣布,2017 年 2 月的 ISO 是最后一個(gè)包含 i686 的ISO ,并于 2017 年 11 月使該架構(gòu)不再受支持。從那時(shí)起,社區(qū)衍生品 Arch Linux 32 可以用于 i686 硬件。
2020 年 2 月 24 日,Aaron Griffin 宣布,由于他對(duì)該項(xiàng)目的參與有限,他將在投票期結(jié)束后將該項(xiàng)目的控制權(quán)移交給 Levente Polyak。這一變化還導(dǎo)致項(xiàng)目負(fù)責(zé)人職位增加了新的 2 年任期。
2021 年 3 月,Arch Linux 開發(fā)人員正在考慮將 Arch Linux 軟件包移植到x86_64-v3 ,大致與英特爾 Haswell處理器時(shí)代相關(guān)。
2021 年 4 月,Arch Linux 安裝映像開始默認(rèn)包含引導(dǎo)安裝腳本。
2021 年底,Arch Linux 開發(fā)人員發(fā)布了 Pacman 6.0,支持并行下載。
2022 年 2 月,Arch Linux 開發(fā)人員開始提供調(diào)試包。
軟件簡(jiǎn)介
Pacman 包管理器是 Arch Linux 的一大亮點(diǎn)。Pacman 通過和主服務(wù)器同步軟件包列表來進(jìn)行系統(tǒng)更新,這使得注重安全的系統(tǒng)管理員的維護(hù)工作成為輕而易舉的事情。這種服務(wù)器/客戶端模式可以使用一條命令就下載/安裝軟件包,同時(shí)安裝必需的依賴包。
功能和服務(wù)
pacman的官方并沒有發(fā)布有圖形界面的前端,其他的開發(fā)者發(fā)布了可用的pacman GUI圖形前端。以下是一些可用的pacman GUI圖形前端:
Qt/KDE界面
- Shaman: Shaman是多功能的Qt 4前端,它擴(kuò)展了pacman一系列功能,圖形化的設(shè)置,以及ABS的支持。
- pacmanager-svn: 用Qt 4開發(fā),基于pacman的包管理器。
- kpacupdate: 適用與KDE系統(tǒng)消息欄的Pacman更新消息提示工具。
- octopi: 使用Qt編寫的pacman圖型前端。
- oktopi: octopi的分支,針對(duì)KDE所設(shè)計(jì),已并入octopi。
TK/GNOME界面
- gtkpacman: 采用PyGTK2開發(fā)的pacman圖形前端。
- alunn: 顯示新的更新和消息的系統(tǒng)提示。
- guzuta: 另一個(gè)采用PyGTK開發(fā)的前端。
- pacmon-svn: 提示可用更新的任務(wù)欄部件。
- pacupdate: 提示系統(tǒng)更新的系統(tǒng)提示。
- wakka: gtkpacman的一個(gè)分支。
- kalu: 在系統(tǒng)匣顯示官方新聞及更新(包含官方套件庫及AUR),同時(shí)包含了一個(gè)系統(tǒng)升級(jí)的圖形前端。
PacmanXG4 — 是一個(gè) pacman 的 GUI 前端。不依賴于GTK 或者 Qt,僅僅依賴X11。它可以完成以下功能:
- 安裝/移除/升級(jí)軟件包
- 搜索/過濾軟件包
- 獲取軟件包信息,包括截圖
- 降級(jí)軟件包 (需要 AUR/downgrade 工具)
- 刷新包數(shù)據(jù)庫,同步鏡像
- 一鍵式系統(tǒng)升級(jí)
- Find out which package a specific file belongs to (include file with pkgfile utility)
- YAOURT 支持
語法
Pacman 的操作主要通過在終端中輸入命令來完成。以下是一些常用的命令和參數(shù):
同步包
在終端機(jī)里輸入:
pacman -S
這樣系統(tǒng)會(huì)自動(dòng)下載封包`
參數(shù):
- `-s --search <正則表達(dá)式>`:會(huì)在所有源列表中搜索與表達(dá)式匹配的包并列出
- `-u --sysupgrade`:將升級(jí)所有版本比源列表低的包,通過調(diào)用兩次可以變?yōu)榕c源列表不相等的包,該命令對(duì)于從不穩(wěn)定源切換至穩(wěn)定源十分有用
- `-w --downloadonly`:只返回搜索結(jié)果,不進(jìn)行安裝或升級(jí)操作
- `-y --refresh`:下載主源列表最新副本,通常配合-u使用,通過調(diào)用兩次即可強(qiáng)制下載,即使版本相同
移除
在終端機(jī)里輸入:
pacman -R
這樣系統(tǒng)會(huì)自動(dòng)移除`
參數(shù):
- `-c --cascade`:遞歸刪除該包及所有與該包有依賴關(guān)系的包,請(qǐng)小心使用該參數(shù)
- `-u --uneeded`:刪除向下沒有依賴關(guān)系的包,比起-c,本參數(shù)更為安全
更新
在終端機(jī)中輸入:
pacman -U
這樣系統(tǒng)可以同步已經(jīng)在本地的包至最新狀態(tài)。
參考資料 >