pacman用法詳解

用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.  1. [arch@ghostbb ~]$ pacman -h  數據庫

  2.  2. 用法:  pacman <操做> [...]  ubuntu

  3.  3. 操做:  緩存

  4.  4.  pacman {-h --help}       //幫助  服務器

  5.  5.  pacman {-V --version}   //查看版本  架構

  6.  6.  pacman {-D --data base} <選項> <軟件包>  //pacman管理數據庫選項  

  7.  7.  pacman {-Q --query}    [選項] [軟件包]    //查詢安裝包  

  8.  8.  pacman {-R --remove}   [選項] <軟件包>  //刪除安裝包  

  9.  9.  pacman {-S --sync}     [選項] [軟件包]      //安裝安裝包  

  10. 10.  pacman {-U --upgrade}  [選項] <文件>   //更新安裝包  

  11. 11.  

  12. 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.  1. [arch@ghostbb ~]$ pacman -D --help  

  2.  2. 用法:  pacman {-D --database} <選項> <軟件包>  

  3.  3. 選項:  

  4.  4.  --asdeps         標記爲非單獨指定安裝的軟件包  

  5.  5.  --asexplicit     標記爲單獨指定安裝的軟件包  

  6.  6.  --config <路徑>  指定另外的配置文件  

  7.  7.  --logfile <路徑> 指定另外的日誌文件  

  8.  8.  --noconfirm      不詢問確認  

  9.  9.  --noprogressbar  下載文件時不顯示進度條  

  10. 10.  --noscriptlet    不執行安裝小腳本  

  11. 11.  -v, --verbose        循環執行  

  12. 12.  -- debug        顯示除錯信息  

  13. 13.  -r, --root <路徑>    指定另外的安裝根目錄  

  14. 14.  -b, --dbpath <路徑>  指定另外的數據庫位置  

  15. 15.  --cachedir <目錄> 指定另外的軟件包緩存位置  

  16. 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.    1. [arch@ghostbb ~]$ pacman -Q --help  

  2.    2. 用法:  pacman {-Q --query} [選項] [軟件包]  

  3.    3. 選項:  

  4.    4.  -c, --changelog      查看某軟件包的更新日誌  

  5.    5.  -d, --deps           列出全部做爲依賴關係安裝的軟件包 [過濾器]  

  6.    6.  -e, --explicit       列出全部單獨指定安裝的軟件包 [過濾器]  

  7.    7.  -g, --groups         查看某軟件包組所屬的全部軟件包  

  8.    8.  -i, --info           查看軟件包信息 (-ii 查看備份文件)  

  9.    9.  -k, --check          檢查該軟件包擁有的文件是否存在  

  10.   10.  -l, --list           列出被查詢軟件包的內容  

  11.   11.  -m, --foreign        列出沒有在同步數據庫時找到的已安裝軟件包 [過濾器]  

  12.   12.  -o, --owns <文件>     查詢哪一個軟件包擁有  <文件>  

  13.   13.  -p, --file <軟件包> 從某個軟件包而不是數據庫查詢  

  14.   14.  -s, --search <regex> 搜尋符合指定字符串的已安裝本地的軟件包  

  15.   15.  -t, --unrequired     列出全部不被其餘軟件包要求的軟件包 [過濾器]  

  16.   16.  -u, --upgrades       列出全部可升級的軟件包 [過濾器]  

  17.   17.  -q, --quiet          在查詢或搜索時顯示較少的信息  

  18.   18.  --config <路徑>  指定另外的配置文件  

  19.   19.  --logfile <路徑> 指定另外的日誌文件  

  20.   20.  --noconfirm      不詢問確認  

  21.   21.  --noprogressbar  下載文件時不顯示進度條  

  22.   22.  --noscriptlet    不執行安裝小腳本  

  23.   23.  -v, --verbose        循環執行  

  24.   24.  -- debug        顯示除錯信息  

  25.   25.  -r, --root <路徑>    指定另外的安裝根目錄  

  26.   26.  -b, --dbpath <路徑>  指定另外的數據庫位置  

  27.   27.  --cachedir <目錄> 指定另外的軟件包緩存位置  

  28.   28.  --arch <架構>    設定另外的架構  

  29. </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.  1. [arch@ghostbb ~]$ pacman -R --help  

  2.  2. 用法:  pacman {-R --remove} [選項] <軟件包>  

  3.  3. 選項:  

  4.  4.  -c, --cascade        刪除軟件包及全部的依賴於此的軟件包  

  5.  5.  -d, --nodeps         略過依賴關係檢查  

  6.  6.  -k, --dbonly         只刪除數據庫記錄,不刪除文件  

  7.  7.  -n, --nosave         同時刪除配置文件  

  8.  8.  -s, --recursive      同時刪除 (不會破壞其餘軟件包的) 依賴關係(-ss·也包括單獨指定安裝的依賴關係)  

  9.  9.  -u, --unneeded       同時刪除不須要的 (且不會破壞其餘軟件包的) 依賴關係  

  10. 10.  --print          僅打印目標而不執行操做  

  11. 11.  --print-format <字符串>指定如何打印目標  

  12. 12.  --config <路徑>  指定另外的配置文件  

  13. 13.  --logfile <路徑> 指定另外的日誌文件  

  14. 14.  --noconfirm      不詢問確認  

  15. 15.  --noprogressbar  下載文件時不顯示進度條  

  16. 16.  --noscriptlet    不執行安裝小腳本  

  17. 17.  -v, --verbose        循環執行  

  18. 18.  -- debug        顯示除錯信息  

  19. 19.  -r, --root <路徑>    指定另外的安裝根目錄  

  20. 20.  -b, --dbpath <路徑>  指定另外的數據庫位置  

  21. 21.  --cachedir <目錄> 指定另外的軟件包緩存位置  

  22. 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.    1. [arch@ghostbb ~]$ pacman -S --help  

  2.    2. 用法:  pacman {-S --sync} [選項] [軟件包]  

  3.    3. 選項:  

  4.    4.  --asdeps         做爲非單獨指定安裝的軟件包安裝  

  5.    5.  --asexplicit     做爲單獨指定安裝的軟件包安裝  

  6.    6.  -c, --clean          從緩存目錄中刪除舊軟件包 (-cc 清除全部)  

  7.    7.  -d, --nodeps         略過依賴關係檢查  

  8.    8.  -f,  -force          強制安裝,覆蓋存在衝突的文件  

  9.    9.  -g, --groups         查看某軟件包組所屬的全部軟件包  

  10.   10.  -i, --info           查看軟件包信息  

  11.   11.  -l, --list <軟件庫>    查看在該軟件庫中的軟件包清單  

  12.   12.  -s, --search <regex表達式> 按照指定字符串查詢遠端軟件庫  

  13.   13.  -u, --sysupgrade     升級全部已安裝的軟件包 (-uu 可啓用降級)  

  14.   14.  -w, --downloadonly   下載但不安裝/升級軟件包  

  15.   15.  -y, --refresh        從服務器下載新的軟件包數據庫  

  16.   16.  --needed         不從新安裝已經爲最新的軟件包  

  17.   17.  --ignore <軟件包>   升級時忽略某個軟件包 (可屢次使用)  

  18.   18.  --ignoregroup <軟件包組>升級時忽略某個軟件包組 (可屢次使用)  

  19.   19.  --print          僅打印目標而不執行操做  

  20.   20.  --print-format <字符串>指定如何打印目標  

  21.   21.  -q, --quiet          在查詢或搜索時顯示較少的信息  

  22.   22.  --config <路徑>  指定另外的配置文件  

  23.   23.  --logfile <路徑> 指定另外的日誌文件  

  24.   24.  --noconfirm      不詢問確認  

  25.   25.  --noprogressbar  下載文件時不顯示進度條  

  26.   26.  --noscriptlet    不執行安裝小腳本  

  27.   27.  -v, --verbose        循環執行  

  28.   28.  -- debug        顯示除錯信息  

  29.   29.  -r, --root <路徑>    指定另外的安裝根目錄  

  30.   30.  -b, --dbpath <路徑>  指定另外的數據庫位置  

  31.   31.  --cachedir <目錄> 指定另外的軟件包緩存位置  

  32.   32.  --arch <架構>    設定另外的架構  

  33. </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.  1. [arch@ghostbb ~]$ pacman -U --help  

  2.  2. 用法:  pacman {-U --upgrade} [選項] <文件>  

  3.  3. 選項:  

  4.  4.  --asdeps         做爲非單獨指定安裝的軟件包安裝  

  5.  5.  --asexplicit     做爲單獨指定安裝的軟件包安裝  

  6.  6.  -d, --nodeps         略過依賴關係檢查  

  7.  7.  -f,  -force          強制安裝,覆蓋存在衝突的文件  

  8.  8.  -k, --dbonly         添加數據庫記錄,不安裝或保持現存文件  

  9.  9.  --print          僅打印目標而不執行操做  

  10. 10.  --print-format <字符串> 指定如何打印目標  

  11. 11.  --config <路徑>  指定另外的配置文件  

  12. 12.  --logfile <路徑> 指定另外的日誌文件  

  13. 13.  --noconfirm      不詢問確認  

  14. 14.  --noprogressbar  下載文件時不顯示進度條  

  15. 15.  --noscriptlet    不執行安裝小腳本  

  16. 16.  -v, --verbose        循環執行  

  17. 17.  -- debug        顯示除錯信息  

  18. 18.  -r, --root <路徑>    指定另外的安裝根目錄  

  19. 19.  -b, --dbpath <路徑>  指定另外的數據庫位置  

  20. 20.  --cachedir <目錄> 指定另外的軟件包緩存位置  

  21. 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

轉載請註明來源並保留原文連接

相關文章
相關標籤/搜索