Pacman命令介紹


用pacman很久了,一直沒有深入去研究到底它包含多少神秘的力量,每次都是pacman -Syu就簡單的把所有升級更新問題搞定實在是讓筆者懶惰了很多。不過也正是因為pacman的簡單讓筆者愛不釋手,同時Archlinux的強大靈活也讓其成為筆者最為心儀的Linux,不過筆者對Archlinux的最終評價就是-Archlinux是一款為折騰而誕生的Linux(至少對筆者來說是這樣的)。想要折騰,就用Archlinux吧。今天給大家帶來的是Archlinux下最關鍵,也是靈魂的工具pacman命令介紹(這個工具與debian,ubuntu下的apt-get十分類似),不過命令稍微復雜一些,轉過來當做給自己作參考了。

一、首先說說啥是pacman吧:

Pacman 是一個 軟件包管理器, 作為 ArchLinux發行版的一部分. 它最早由 Arch Linux 的 Judd Vinet開發. Pacman 可以解決安裝過程中的依賴問題,自動下載並且安裝所有需要的軟件包。Pacman包管理器是Arch Linux的一大亮點。它將一個簡單的二進制包格式和易用的構建系統結合了起來。Pacman使得簡單的管理與自定義軟件包成為了可能,而不論他們來自於官方的Arch軟件庫或是用戶自己創建的。

 

二、pacman參數詳細說明

1. [arch@ghostbb ~]$ pacman -h  
 2. 用法:  pacman <操作> [...]  
 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

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

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

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

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

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

 

來源:http://xiexiejiao.cn/linux/pacman-introduce.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM