1. 程式人生 > >ArchLinux軟體安裝命令

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

Warning: 關於pacman -Scc,僅在你確定不需要做任何軟體包降級工作時才這樣做。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目錄裡面分別有上面幾種軟體型別對應的檔名,可以自己手工配置這些軟體源的地址。