用pacman好久了,一直沒有深刻去研究到底它包含多少神祕的力量,每次都是pacman -Syu就簡單的把全部升級更新問題搞定實在是讓筆者懶惰了不少。不過也正是由於pacman的簡單讓筆者愛不釋手,同時Archlinux的強大靈活也讓其成爲筆者最爲心儀的Linux, 不過筆者對Archlinux的最終評價就是-Archlinux是一款爲折騰而誕生的Linux(至少對筆者來講是這樣的)。想要折騰,就用 Archlinux吧。今天給你們帶來的是Archlinux下最關鍵,也是靈魂的工具pacman命令介紹(這個工具與debian,ubuntu下的 apt-get十分相似),不過命令稍微複雜一些,轉過來當作給本身做參考了。html
1、首先說說啥是pacman吧:node
Pacman 是一個 軟件包管理器, 做爲 ArchLinux發行版的一部分. 它最先由 Arch Linux 的 Judd Vinet開發. Pacman 能夠解決安裝過程當中的依賴問題,自動下載而且安裝全部須要的軟件包。Pacman包管理器是Arch Linux的一大亮點。它將一個簡單的二進制包格式和易用的構建系統結合了起來。Pacman使得簡單的管理與自定義軟件包成爲了可能,而不論他們來自於 官方的Arch軟件庫或是用戶本身建立的。mysql
2、pacman參數詳細說明linux
view plaincopy to clipboardprint?sql
1. [arch@ghostbb ~]$ pacman -h 數據庫
2. 用法: pacman <操做> [...] ubuntu
3. 操做: 緩存
4. pacman {-h --help} //幫助 服務器
5. pacman {-V --version} //查看版本 架構
6. pacman {-D --data base} <選項> <軟件包> //pacman管理數據庫選項
7. pacman {-Q --query} [選項] [軟件包] //查詢安裝包
8. pacman {-R --remove} [選項] <軟件包> //刪除安裝包
9. pacman {-S --sync} [選項] [軟件包] //安裝安裝包
10. pacman {-U --upgrade} [選項] <文件> //更新安裝包
11.
12. 使用 'pacman {-h --help}' 及某個操做以查看可得的選項
[arch@ghostbb ~]$ pacman -h
用法: pacman <操做> [...]
操做:
pacman {-h –help} //幫助
pacman {-V –version} //查看版本
pacman {-D –database} <選項> <軟件包> //pacman管理數據庫選項
pacman {-Q –query} [選項] [軟件包] //查詢安裝包
pacman {-R –remove} [選項] <軟件包> //刪除安裝包
pacman {-S –sync} [選項] [軟件包] //安裝安裝包
pacman {-U –upgrade} [選項] <文件> //更新安裝包
使用 ‘pacman {-h –help}’ 及某個操做以查看可得的選項
1,pacman -D
view plaincopy to clipboardprint?
1. [arch@ghostbb ~]$ pacman -D --help
2. 用法: pacman {-D --database} <選項> <軟件包>
3. 選項:
4. --asdeps 標記爲非單獨指定安裝的軟件包
5. --asexplicit 標記爲單獨指定安裝的軟件包
6. --config <路徑> 指定另外的配置文件
7. --logfile <路徑> 指定另外的日誌文件
8. --noconfirm 不詢問確認
9. --noprogressbar 下載文件時不顯示進度條
10. --noscriptlet 不執行安裝小腳本
11. -v, --verbose 循環執行
12. -- debug 顯示除錯信息
13. -r, --root <路徑> 指定另外的安裝根目錄
14. -b, --dbpath <路徑> 指定另外的數據庫位置
15. --cachedir <目錄> 指定另外的軟件包緩存位置
16. --arch <架構> 設定另外的架構
[arch@ghostbb ~]$ pacman -D –help
用法: pacman {-D –database} <選項> <軟件包>
選項:
–asdeps 標記爲非單獨指定安裝的軟件包
–asexplicit 標記爲單獨指定安裝的軟件包
–config <路徑> 指定另外的配置文件
–logfile <路徑> 指定另外的日誌文件
–noconfirm 不詢問確認
–noprogressbar 下載文件時不顯示進度條
–noscriptlet 不執行安裝小腳本
-v, –verbose 循環執行
— debug 顯示除錯信息
-r, –root <路徑> 指定另外的安裝根目錄
-b, –dbpath <路徑> 指定另外的數據庫位置
–cachedir <目錄> 指定另外的軟件包緩存位置
–arch <架構> 設定另外的架構
2,pacman -Q
view plaincopy to clipboardprint?
1. [arch@ghostbb ~]$ pacman -Q --help
2. 用法: pacman {-Q --query} [選項] [軟件包]
3. 選項:
4. -c, --changelog 查看某軟件包的更新日誌
5. -d, --deps 列出全部做爲依賴關係安裝的軟件包 [過濾器]
6. -e, --explicit 列出全部單獨指定安裝的軟件包 [過濾器]
7. -g, --groups 查看某軟件包組所屬的全部軟件包
8. -i, --info 查看軟件包信息 (-ii 查看備份文件)
9. -k, --check 檢查該軟件包擁有的文件是否存在
10. -l, --list 列出被查詢軟件包的內容
11. -m, --foreign 列出沒有在同步數據庫時找到的已安裝軟件包 [過濾器]
12. -o, --owns <文件> 查詢哪一個軟件包擁有 <文件>
13. -p, --file <軟件包> 從某個軟件包而不是數據庫查詢
14. -s, --search <regex> 搜尋符合指定字符串的已安裝本地的軟件包
15. -t, --unrequired 列出全部不被其餘軟件包要求的軟件包 [過濾器]
16. -u, --upgrades 列出全部可升級的軟件包 [過濾器]
17. -q, --quiet 在查詢或搜索時顯示較少的信息
18. --config <路徑> 指定另外的配置文件
19. --logfile <路徑> 指定另外的日誌文件
20. --noconfirm 不詢問確認
21. --noprogressbar 下載文件時不顯示進度條
22. --noscriptlet 不執行安裝小腳本
23. -v, --verbose 循環執行
24. -- debug 顯示除錯信息
25. -r, --root <路徑> 指定另外的安裝根目錄
26. -b, --dbpath <路徑> 指定另外的數據庫位置
27. --cachedir <目錄> 指定另外的軟件包緩存位置
28. --arch <架構> 設定另外的架構
</regex>
[arch@ghostbb ~]$ pacman -Q –help
用法: pacman {-Q –query} [選項] [軟件包]
選項:
-c, –changelog 查看某軟件包的更新日誌
-d, –deps 列出全部做爲依賴關係安裝的軟件包 [過濾器]
-e, –explicit 列出全部單獨指定安裝的軟件包 [過濾器]
-g, –groups 查看某軟件包組所屬的全部軟件包
-i, –info 查看軟件包信息 (-ii 查看備份文件)
-k, –check 檢查該軟件包擁有的文件是否存在
-l, –list 列出被查詢軟件包的內容
-m, –foreign 列出沒有在同步數據庫時找到的已安裝軟件包 [過濾器]
-o, –owns <文件> 查詢哪一個軟件包擁有 <文件>
-p, –file <軟件包> 從某個軟件包而不是數據庫查詢
-s, –search 搜尋符合指定字符串的已安裝本地的軟件包
-t, –unrequired 列出全部不被其餘軟件包要求的軟件包 [過濾器]
-u, –upgrades 列出全部可升級的軟件包 [過濾器]
-q, –quiet 在查詢或搜索時顯示較少的信息
–config <路徑> 指定另外的配置文件
–logfile <路徑> 指定另外的日誌文件
–noconfirm 不詢問確認
–noprogressbar 下載文件時不顯示進度條
–noscriptlet 不執行安裝小腳本
-v, –verbose 循環執行
— debug 顯示除錯信息
-r, –root <路徑> 指定另外的安裝根目錄
-b, –dbpath <路徑> 指定另外的數據庫位置
–cachedir <目錄> 指定另外的軟件包緩存位置
–arch <架構> 設定另外的架構
3,pacman -R
view plaincopy to clipboardprint?
1. [arch@ghostbb ~]$ pacman -R --help
2. 用法: pacman {-R --remove} [選項] <軟件包>
3. 選項:
4. -c, --cascade 刪除軟件包及全部的依賴於此的軟件包
5. -d, --nodeps 略過依賴關係檢查
6. -k, --dbonly 只刪除數據庫記錄,不刪除文件
7. -n, --nosave 同時刪除配置文件
8. -s, --recursive 同時刪除 (不會破壞其餘軟件包的) 依賴關係(-ss·也包括單獨指定安裝的依賴關係)
9. -u, --unneeded 同時刪除不須要的 (且不會破壞其餘軟件包的) 依賴關係
10. --print 僅打印目標而不執行操做
11. --print-format <字符串>指定如何打印目標
12. --config <路徑> 指定另外的配置文件
13. --logfile <路徑> 指定另外的日誌文件
14. --noconfirm 不詢問確認
15. --noprogressbar 下載文件時不顯示進度條
16. --noscriptlet 不執行安裝小腳本
17. -v, --verbose 循環執行
18. -- debug 顯示除錯信息
19. -r, --root <路徑> 指定另外的安裝根目錄
20. -b, --dbpath <路徑> 指定另外的數據庫位置
21. --cachedir <目錄> 指定另外的軟件包緩存位置
22. --arch <架構> 設定另外的架構
[arch@ghostbb ~]$ pacman -R –help
用法: pacman {-R –remove} [選項] <軟件包>
選項:
-c, –cascade 刪除軟件包及全部的依賴於此的軟件包
-d, –nodeps 略過依賴關係檢查
-k, –dbonly 只刪除數據庫記錄,不刪除文件
-n, –nosave 同時刪除配置文件
-s, –recursive 同時刪除 (不會破壞其餘軟件包的) 依賴關係(-ss·也包括單獨指定安裝的依賴關係)
-u, –unneeded 同時刪除不須要的 (且不會破壞其餘軟件包的) 依賴關係
–print 僅打印目標而不執行操做
–print-format <字符串>指定如何打印目標
–config <路徑> 指定另外的配置文件
–logfile <路徑> 指定另外的日誌文件
–noconfirm 不詢問確認
–noprogressbar 下載文件時不顯示進度條
–noscriptlet 不執行安裝小腳本
-v, –verbose 循環執行
— debug 顯示除錯信息
-r, –root <路徑> 指定另外的安裝根目錄
-b, –dbpath <路徑> 指定另外的數據庫位置
–cachedir <目錄> 指定另外的軟件包緩存位置
–arch <架構> 設定另外的架構
4,pacman -S
view plaincopy to clipboardprint?
1. [arch@ghostbb ~]$ pacman -S --help
2. 用法: pacman {-S --sync} [選項] [軟件包]
3. 選項:
4. --asdeps 做爲非單獨指定安裝的軟件包安裝
5. --asexplicit 做爲單獨指定安裝的軟件包安裝
6. -c, --clean 從緩存目錄中刪除舊軟件包 (-cc 清除全部)
7. -d, --nodeps 略過依賴關係檢查
8. -f, -force 強制安裝,覆蓋存在衝突的文件
9. -g, --groups 查看某軟件包組所屬的全部軟件包
10. -i, --info 查看軟件包信息
11. -l, --list <軟件庫> 查看在該軟件庫中的軟件包清單
12. -s, --search <regex表達式> 按照指定字符串查詢遠端軟件庫
13. -u, --sysupgrade 升級全部已安裝的軟件包 (-uu 可啓用降級)
14. -w, --downloadonly 下載但不安裝/升級軟件包
15. -y, --refresh 從服務器下載新的軟件包數據庫
16. --needed 不從新安裝已經爲最新的軟件包
17. --ignore <軟件包> 升級時忽略某個軟件包 (可屢次使用)
18. --ignoregroup <軟件包組>升級時忽略某個軟件包組 (可屢次使用)
19. --print 僅打印目標而不執行操做
20. --print-format <字符串>指定如何打印目標
21. -q, --quiet 在查詢或搜索時顯示較少的信息
22. --config <路徑> 指定另外的配置文件
23. --logfile <路徑> 指定另外的日誌文件
24. --noconfirm 不詢問確認
25. --noprogressbar 下載文件時不顯示進度條
26. --noscriptlet 不執行安裝小腳本
27. -v, --verbose 循環執行
28. -- debug 顯示除錯信息
29. -r, --root <路徑> 指定另外的安裝根目錄
30. -b, --dbpath <路徑> 指定另外的數據庫位置
31. --cachedir <目錄> 指定另外的軟件包緩存位置
32. --arch <架構> 設定另外的架構
</regex表達式>
[arch@ghostbb ~]$ pacman -S –help
用法: pacman {-S –sync} [選項] [軟件包]
選項:
–asdeps 做爲非單獨指定安裝的軟件包安裝
–asexplicit 做爲單獨指定安裝的軟件包安裝
-c, –clean 從緩存目錄中刪除舊軟件包 (-cc 清除全部)
-d, –nodeps 略過依賴關係檢查
-f, -force 強制安裝,覆蓋存在衝突的文件
-g, –groups 查看某軟件包組所屬的全部軟件包
-i, –info 查看軟件包信息
-l, –list <軟件庫> 查看在該軟件庫中的軟件包清單
-s, –search 按照指定字符串查詢遠端軟件庫
-u, –sysupgrade 升級全部已安裝的軟件包 (-uu 可啓用降級)
-w, –downloadonly 下載但不安裝/升級軟件包
-y, –refresh 從服務器下載新的軟件包數據庫
–needed 不從新安裝已經爲最新的軟件包
–ignore <軟件包> 升級時忽略某個軟件包 (可屢次使用)
–ignoregroup <軟件包組>升級時忽略某個軟件包組 (可屢次使用)
–print 僅打印目標而不執行操做
–print-format <字符串>指定如何打印目標
-q, –quiet 在查詢或搜索時顯示較少的信息
–config <路徑> 指定另外的配置文件
–logfile <路徑> 指定另外的日誌文件
–noconfirm 不詢問確認
–noprogressbar 下載文件時不顯示進度條
–noscriptlet 不執行安裝小腳本
-v, –verbose 循環執行
— debug 顯示除錯信息
-r, –root <路徑> 指定另外的安裝根目錄
-b, –dbpath <路徑> 指定另外的數據庫位置
–cachedir <目錄> 指定另外的軟件包緩存位置
–arch <架構> 設定另外的架構
5,pacman -U
view plaincopy to clipboardprint?
1. [arch@ghostbb ~]$ pacman -U --help
2. 用法: pacman {-U --upgrade} [選項] <文件>
3. 選項:
4. --asdeps 做爲非單獨指定安裝的軟件包安裝
5. --asexplicit 做爲單獨指定安裝的軟件包安裝
6. -d, --nodeps 略過依賴關係檢查
7. -f, -force 強制安裝,覆蓋存在衝突的文件
8. -k, --dbonly 添加數據庫記錄,不安裝或保持現存文件
9. --print 僅打印目標而不執行操做
10. --print-format <字符串> 指定如何打印目標
11. --config <路徑> 指定另外的配置文件
12. --logfile <路徑> 指定另外的日誌文件
13. --noconfirm 不詢問確認
14. --noprogressbar 下載文件時不顯示進度條
15. --noscriptlet 不執行安裝小腳本
16. -v, --verbose 循環執行
17. -- debug 顯示除錯信息
18. -r, --root <路徑> 指定另外的安裝根目錄
19. -b, --dbpath <路徑> 指定另外的數據庫位置
20. --cachedir <目錄> 指定另外的軟件包緩存位置
21. --arch <架構> 設定另外的架構
[arch@ghostbb ~]$ pacman -U –help
用法: pacman {-U –upgrade} [選項] <文件>
選項:
–asdeps 做爲非單獨指定安裝的軟件包安裝
–asexplicit 做爲單獨指定安裝的軟件包安裝
-d, –nodeps 略過依賴關係檢查
-f, -force 強制安裝,覆蓋存在衝突的文件
-k, –dbonly 添加數據庫記錄,不安裝或保持現存文件
–print 僅打印目標而不執行操做
–print-format <字符串> 指定如何打印目標
–config <路徑> 指定另外的配置文件
–logfile <路徑> 指定另外的日誌文件
–noconfirm 不詢問確認
–noprogressbar 下載文件時不顯示進度條
–noscriptlet 不執行安裝小腳本
-v, –verbose 循環執行
— debug 顯示除錯信息
-r, –root <路徑> 指定另外的安裝根目錄
-b, –dbpath <路徑> 指定另外的數據庫位置
–cachedir <目錄> 指定另外的軟件包緩存位置
–arch <架構> 設定另外的架構
三,一些常規用法
1,安裝包
安裝或者升級單個軟件包,或者一列軟件包(包含依賴包),使用以下命令:
pacman -S mysql
有時候在不一樣的軟件倉庫中,一個軟件包有多個版本(好比extra和community)。你能夠選擇一個來安裝:
pacman -S extra/mysql
pacman -S community/mysql
你也能夠在一個命令裏同步包數據庫而且安裝一個軟件包:
pacman -Sy mysql
2,刪除包
刪除單個軟件包,保留其所有已經安裝的依賴關係
pacman -R mysql
刪除指定軟件包,及其全部沒有被其餘已安裝軟件包使用的依賴關係:
pacman -Rs mysql
3,升級系統
pacman -Syu
安裝一個本地包:
pacman -U 後面根上已下載的包或者是遠程URL
當咱們用pacman進行升級時,常常會遇到下載的包沒有,到源裏看時,要升級的包是有的,可是版本不同,你要下的版本是沒有,這種狀況下,就能夠用pacman -u
4,查詢包
查詢可用安裝包
pacman -Ss mysql
要查詢已安裝的軟件包:
pacman -Qs mysql
5,其餘用法
清理當前未被安裝軟件包的緩存(/var/cache/pacman/pkg):
pacman -Sc
下載包而不安裝它:
pacman -Sw mysql
轉載請註明來源並保留原文連接