Pacman包管理器是ArchLinux的一大亮點。它汲取了其他Linux版本軟件管理的優點,譬如Debian的APT機制、Redhat的Yum機制、 Suse的Yast等,對於安裝軟件提供了無與倫比的方便。另外由於ArchLinux是一個針對i686架構優化的發行版,因此對於軟件的效率提高也有一定的幫助。pacman可以說是ArchLinux的基礎,因爲ArchLinux默認安裝非常少的軟件,其他軟件都是使用pacman通過網絡來安裝的。它將一個簡單的二進制包格式和易用的構建系統結合了起來。Pacman使得簡單的管理與自定義軟件包成爲了可能,而不論他們來自於官方的Arch軟件庫或是用戶自己創建的。Pacman可以通過和主服務器同步包列表來進行系統更新,這使得注重安全的系統管理員的維護工作成爲輕而易舉的事情。
下面是偶總結的Pacman命令參數:
安裝軟件包
安裝或者升級單個軟件包,或者一列軟件包(包含依賴包),使用如下命令:
pacman -S package_name1 package_name2
有時候在不同的軟件倉庫中,一個軟件包有多個版本(比如extra和testing)。你可以選擇一個來安裝:
pacman -S extra/package_name
pacman -S testing/package_name
刪除軟件包
刪除單個軟件包,保留其全部已經安裝的依賴關係
pacman -R package_name
刪除指定軟件包,及其所有沒有被其他已安裝軟件包使用的依賴關係:
pacman -Rs package_name
缺省的,pacman會備份被刪除程序的配置文件,將它們加上*.pacsave擴展名。如果你在刪除軟件包時要同時刪除相應的配置文件(這種行爲在基於Debian的系統中稱爲清除purging),你可是使用命令:
pacman -Rn package_name
當然,它也可以加上-s參數來刪除當前無用的依賴。這樣的話,真正刪除一個軟件包、它的配置文件以及所有不再需要的依賴的命令如下:
pacman -Rsn package_name
注意!Pacman不會刪除軟件包安裝後才創建的配置文件。你可以從你的home文件夾中手動刪除它們。
升級系統
Pacman能夠只用一個指令來升級系統中所有已安裝的包。升級的時間取決於你的系統有多新。
pacman -Su
當然,最好做法的是將升級系統和同步倉庫數據合成爲一條指令:
pacman -Syu
查詢包數據庫
Pacman可以在包數據庫中查詢軟件包,查詢位置包含了包的名字和描述:
pacman -Ss package
要查詢已安裝的軟件包:
pacman -Qs package
一旦你得到了軟件包的完整名字,你可以獲取關於它的更爲詳盡的信息:
pacman -Si package
pacman -Qi package
要獲取已安裝軟件包所包含文件的列表:
pacman -Ql package
你也可以通過查詢數據庫獲知目前你的文件系統中某個文件是屬於哪個軟件包。
pacman -Qo /path/to/a/file
要羅列所有不再作爲依賴的軟件包(孤立orphans):
pacman -Qdt
Pacman使用-Q參數來查詢本地軟件包數據庫。參見:
pacman -Q –help
…而使用-S參數來查詢遠程同步的數據庫。參見:
pacman -S –help
詳情可參見pacman man。
其它用法
Pacman是個非常廣泛的包管理工具,這裏只是它的一些其它主要特性。
- 下載包而不安裝它:
pacman -Sw package_name
- 安裝一個’本地’包(不從源裏):
pacman -U /path/to/package/package_name-version.pkg.tar.gz
- 安裝一個’遠程’包(不從源裏):
pacman -U http://url/package_name-version.pkg.tar.gz
- 清理當前未被安裝軟件包的緩存(/var/cache/pacman/pkg):
pacman -Sc
- 完全清理包緩存:
pacman -Scc
- 要刪除孤立軟件包(遞歸的,要小心):
pacman -Rs $(pacman -Qtdq)
- 重新安裝你係統中所有的軟件包(倉庫中已有的):
pacman -S $(pacman -Qq | grep -v “$(pacman -Qmq)”)
- 獲取本地軟件包和它們大小的一個已排序清單列表:
LANG=C pacman -Qi | sed -n ‘/^Name[^:]*: (.*)/{s//1 /;x};/^Installed[^:]*: (.*)/{s//1/;H;x;s/n//;p}’ | sort -nk2
要了解更詳細的參數開關可以pacman --help
或者man
pacman
。
配置
Pacman的配置文件位於/etc/pacman.conf
。關於配置文件的進一步信息可以用man
pacman.conf
查看。
常用選項
常用選項都在[options]段。閱讀man手冊或者查看缺省的pacman.conf可以獲得有關信息和用途。
跳過升級軟件包
如果由於某種原因,你不希望升級某個軟件包,可以加入內容如下:
IgnorePkg = 軟件包名
跳過升級軟件包組
和軟件包一樣,你也可以象這樣跳過升級某個軟件包組:
IgnoreGroup = gnome
附註:
ArchLinux的版本庫裏面包括:
core-核心軟件包
extra-其他常用軟件
community-社區軟件包,譬如Mysql等。
testing-正在測試階段,還沒有正式加入源的軟件包。通常軟件版本比較新,但是不是非常穩定
release-已經發布的軟件包
unstable-非正式的軟件包,可能包括以前版本的軟件或者測試軟件
因爲Pacman的軟件都是從源裏面更新,因此在/etc/pacman.d裏面配置這些軟件源的地址。
在/etc/pacman.d目錄裏面分別有上面幾種軟件類型對應的文件名,可以自己手工配置這些軟件源的地址。