pacman 命令(安裝所有軟件包)


MSYS2 中pacman安裝所有軟件包命令:

pacman -Sl | awk '{cmd="pacman -S --needed --noconfirm "$2;system(cmd)}'

pacman

用法:  pacman <操作> [...]
操作:
    pacman {-h --help}
    pacman {-V --version}
    pacman {-D --database} <選項> <軟件包>
    pacman {-F --files}    [選項] [軟件包]
    pacman {-Q --query}    [選項] [軟件包]
    pacman {-R --remove}   [選項] <軟件包>
    pacman {-S --sync}     [選項] [軟件包]
    pacman {-T --deptest}  [選項] [軟件包]
    pacman {-U --upgrade}  [選項] <文件>

pacman -D

用法:  pacman {-D --database} <選項> <軟件包>
選項:
  -b, --dbpath <路徑>  指定另外的數據庫位置
  -k, --check          檢查本地數據庫有效性 (-kk 以同步數據庫)
  -q, --quiet          不顯示成功消息的輸出
  -r, --root <路徑>    指定另外的安裝根目錄
  -v, --verbose        顯示詳細信息
      --arch <架構>    設定另外的架構
      --asdeps         標記為非明確指定安裝的軟件包
      --asexplicit     標記為明確指定安裝的軟件包
      --cachedir <dir> 指定另外的軟件包緩存位置
      --color <when>   彩色化輸出
      --config <路徑>  指定另外的配置文件
      --confirm        總是詢問確認
      --debug          顯示調試信息
      --disable-download-timeout
                       下載時用寬松的超時
      --gpgdir <路徑>  設定 GnuPG 的其他主目錄
      --hookdir <目錄>  指定另外的鈎子位置
      --logfile <路徑> 指定另外的日志文件
      --noconfirm      不詢問確認
      --sysroot        在一個已掛載的 guest 系統操作(僅 root)

pacman -F

  -b, --dbpath <路徑>  指定另外的數據庫位置
  -l, --list           列出被查詢軟件包的內容
  -o, --owns <文件>    查詢哪個軟件包擁有<文件>
  -q, --quiet          在查詢或搜索時顯示較少的信息
  -r, --root <路徑>    指定另外的安裝根目錄
  -s, --search <文件>  搜索符合指定字符串的軟件包文件名
  -v, --verbose        顯示詳細信息
  -x, --regex          啟用正則表達式進行搜索
  -y, --refresh        從服務器下載新的軟件包數據庫
                       (-yy 強制更新軟件包數據庫)
      --arch <架構>    設定另外的架構
      --cachedir <dir> 指定另外的軟件包緩存位置
      --color <when>   彩色化輸出
      --config <路徑>  指定另外的配置文件
      --confirm        總是詢問確認
      --debug          顯示調試信息
      --disable-download-timeout
                       下載時用寬松的超時
      --gpgdir <路徑>  設定 GnuPG 的其他主目錄
      --hookdir <目錄>  指定另外的鈎子位置
      --logfile <路徑> 指定另外的日志文件
      --machinereadable
                       產生機器可讀輸出
      --noconfirm      不詢問確認
      --sysroot        在一個已掛載的 guest 系統操作(僅 root)

pacman -Q

用法:  pacman {-Q --query} [選項] [軟件包]
選項:
  -b, --dbpath <路徑>  指定另外的數據庫位置
  -c, --changelog      查看某軟件包的更新日志
  -d, --deps           列出所有作為依賴關系安裝的軟件包 [過濾器]
  -e, --explicit       列出所有單獨指定安裝的軟件包 [過濾器]
  -g, --groups         查看某軟件包組所屬的所有軟件包
  -i, --info           查看軟件包信息 (-ii 查看備份文件)
  -k, --check          檢查軟件包的文件存在(-kk檢查文件屬性)
  -l, --list           列出被查詢軟件包的內容
  -m, --foreign        列出沒有在同步數據庫時找到的已安裝軟件包 [過濾器]
  -n, --native         列出只在(同步)數據庫中的已安裝軟件包 [過濾]
  -o, --owns <文件>    查詢哪個軟件包擁有<文件>
  -p, --file <軟件包>  從某個軟件包而不是數據庫查詢
  -q, --quiet          在查詢或搜索時顯示較少的信息
  -r, --root <路徑>    指定另外的安裝根目錄
  -s, --search <regex> 搜尋符合指定字符串的已安裝本地的軟件包
  -t, --unrequired     列出不被任何軟件包(可選)要求的軟件包(-tt 忽略可選依賴) [過濾器]
  -u, --upgrades       列出所有可升級的軟件包 [過濾器]
  -v, --verbose        顯示詳細信息
      --arch <架構>    設定另外的架構
      --cachedir <dir> 指定另外的軟件包緩存位置
      --color <when>   彩色化輸出
      --config <路徑>  指定另外的配置文件
      --confirm        總是詢問確認
      --debug          顯示調試信息
      --disable-download-timeout
                       下載時用寬松的超時
      --gpgdir <路徑>  設定 GnuPG 的其他主目錄
      --hookdir <目錄>  指定另外的鈎子位置
      --logfile <路徑> 指定另外的日志文件
      --noconfirm      不詢問確認
      --sysroot        在一個已掛載的 guest 系統操作(僅 root)

pacman -R

用法:  pacman {-R --remove} [選項] <軟件包>
選項:
  -b, --dbpath <路徑>  指定另外的數據庫位置
  -c, --cascade        刪除軟件包及所有依賴於此的軟件包
  -d, --nodeps         跳過依賴關系的版本檢查 (-dd 跳過所有檢查)
  -n, --nosave         刪除配置文件
  -p, --print          打印目標而不是執行操作
  -r, --root <路徑>    指定另外的安裝根目錄
  -s, --recursive      刪除不需要的依賴關系
                       (-ss 包括單獨指定安裝的依賴關系)
  -u, --unneeded       刪除不需要的軟件包
  -v, --verbose        顯示詳細信息
      --arch <架構>    設定另外的架構
      --assume-installed <package=version>
                       添加一個虛擬包用以滿足依賴要求
      --cachedir <dir> 指定另外的軟件包緩存位置
      --color <when>   彩色化輸出
      --config <路徑>  指定另外的配置文件
      --confirm        總是詢問確認
      --dbonly         僅修改數據庫條目,而非軟件包文件
      --debug          顯示調試信息
      --disable-download-timeout
                       下載時用寬松的超時
      --gpgdir <路徑>  設定 GnuPG 的其他主目錄
      --hookdir <目錄>  指定另外的鈎子位置
      --logfile <路徑> 指定另外的日志文件
      --noconfirm      不詢問確認
      --noprogressbar  下載文件時不顯示進度條
      --noscriptlet    不執行安裝小腳本
      --print-format  <字符串>
                       指定如何打印目標
      --sysroot        在一個已掛載的 guest 系統操作(僅 root)

pacman -S

用法:  pacman {-S --sync} [選項] [軟件包]
選項:
  -b, --dbpath <路徑>  指定另外的數據庫位置
  -c, --clean          從緩存目錄中刪除舊軟件包 (-cc 清除所有)
  -d, --nodeps         跳過依賴關系的版本檢查 (-dd 跳過所有檢查)
  -g, --groups         查看某軟件包組所屬的所有軟件包
                       (-gg 查看所有軟件包組和所屬於它們的軟件包)
  -i, --info           查看軟件包信息 (-ii 查看更多信息)
  -l, --list <repo>    查看在該軟件庫中的軟件包清單
  -p, --print          打印目標而不是執行操作
  -q, --quiet          在查詢或搜索時顯示較少的信息
  -r, --root <路徑>    指定另外的安裝根目錄
  -s, --search <正則表達式> 按照指定字符串查詢遠端軟件庫
  -u, --sysupgrade     升級所有已安裝的軟件包 (-uu 可啟用降級)
  -v, --verbose        顯示詳細信息
  -w, --downloadonly   下載但不安裝/升級軟件包
  -y, --refresh        從服務器下載新的軟件包數據庫
                       (-yy 強制更新軟件包數據庫)
      --arch <架構>    設定另外的架構
      --asdeps         作為非單獨指定安裝的軟件包安裝
      --asexplicit     作為單獨指定安裝的軟件包安裝
      --assume-installed <package=version>
                       添加一個虛擬包用以滿足依賴要求
      --cachedir <dir> 指定另外的軟件包緩存位置
      --color <when>   彩色化輸出
      --config <路徑>  指定另外的配置文件
      --confirm        總是詢問確認
      --dbonly         僅修改數據庫條目,而非軟件包文件
      --debug          顯示調試信息
      --disable-download-timeout
                       下載時用寬松的超時
      --gpgdir <路徑>  設定 GnuPG 的其他主目錄
      --hookdir <目錄>  指定另外的鈎子位置
      --ignore <軟件包>   升級時忽略某個軟件包 (可多次使用)
      --ignoregroup <軟件包組>
                         升級時忽略某個軟件包組 (可多次使用)
      --logfile <路徑> 指定另外的日志文件
      --needed         不重新安裝已是最新的軟件包
      --noconfirm      不詢問確認
      --noprogressbar  下載文件時不顯示進度條
      --noscriptlet    不執行安裝小腳本
      --overwrite <path>
                       覆蓋沖突的文件(可以使用多次)
      --print-format <字符串>
                       指定如何打印目標
      --sysroot        在一個已掛載的 guest 系統操作(僅 root)

pacman -T

用法:  pacman {-T --deptest} [選項] [軟件包]
選項:
  -b, --dbpath <路徑>  指定另外的數據庫位置
  -r, --root <路徑>    指定另外的安裝根目錄
  -v, --verbose        顯示詳細信息
      --arch <架構>    設定另外的架構
      --cachedir <dir> 指定另外的軟件包緩存位置
      --color <when>   彩色化輸出
      --config <路徑>  指定另外的配置文件
      --confirm        總是詢問確認
      --debug          顯示調試信息
      --disable-download-timeout
                       下載時用寬松的超時
      --gpgdir <路徑>  設定 GnuPG 的其他主目錄
      --hookdir <目錄>  指定另外的鈎子位置
      --logfile <路徑> 指定另外的日志文件
      --noconfirm      不詢問確認
      --sysroot        在一個已掛載的 guest 系統操作(僅 root)

pacman -U

用法:  pacman {-U --upgrade} [選項] <文件>
選項:
  -b, --dbpath <路徑>  指定另外的數據庫位置
  -d, --nodeps         跳過依賴關系的版本檢查 (-dd 跳過所有檢查)
  -p, --print          打印目標而不是執行操作
  -r, --root <路徑>    指定另外的安裝根目錄
  -v, --verbose        顯示詳細信息
      --arch <架構>    設定另外的架構
      --asdeps         作為非單獨指定安裝的軟件包安裝
      --asexplicit     作為單獨指定安裝的軟件包安裝
      --assume-installed <package=version>
                       添加一個虛擬包用以滿足依賴要求
      --cachedir <dir> 指定另外的軟件包緩存位置
      --color <when>   彩色化輸出
      --config <路徑>  指定另外的配置文件
      --confirm        總是詢問確認
      --dbonly         僅修改數據庫條目,而非軟件包文件
      --debug          顯示調試信息
      --disable-download-timeout
                       下載時用寬松的超時
      --gpgdir <路徑>  設定 GnuPG 的其他主目錄
      --hookdir <目錄>  指定另外的鈎子位置
      --ignore <軟件包>   升級時忽略某個軟件包 (可多次使用)
      --ignoregroup <軟件包組>
                         升級時忽略某個軟件包組 (可多次使用)
      --logfile <路徑> 指定另外的日志文件
      --needed         不重新安裝已是最新的軟件包
      --noconfirm      不詢問確認
      --noprogressbar  下載文件時不顯示進度條
      --noscriptlet    不執行安裝小腳本
      --overwrite <path>
                       覆蓋沖突的文件(可以使用多次)
      --print-format <字符串>
                       指定如何打印目標
      --sysroot        在一個已掛載的 guest 系統操作(僅 root)

更新系統:

pacman -Syu

安裝包:
pacman -S 包名:例如,執行 pacman -S firefox 將安裝 Firefox。你也可以同時安裝多個包,
只需以空格分隔包名即可。
pacman -S $(pacman -Qq | grep -v “$(pacman -Qmq)”) 重新安裝你系統中所有的軟件包(倉庫中已有的)
pacman -Sy 包名:與上面命令不同的是,該命令將在同步包數據庫后再執行安裝。
pacman -Sv 包名:在顯示一些操作信息后執行安裝。
pacman -U:安裝本地包,其擴展名為 pkg.tar.gz。
pacman -U http://www.example.com/repo/example.pkg.tar.xz 安裝一個遠程包(不在 pacman 配置的源里面)

刪除包:
pacman -R 包名:該命令將只刪除包,保留其全部已經安裝的依賴關系
pacman -Rs 包名:在刪除包的同時,刪除其所有沒有被其他已安裝軟件包使用的依賴關系
pacman -Rs $(pacman -Qtdq) 遞歸刪除孤立軟件包
pacman -Rsc 包名:在刪除包的同時,刪除所有依賴這個軟件包的程序
pacman -Rd 包名:在刪除包時不檢查依賴。

搜索包:
pacman -Ss 關鍵字:在倉庫中搜索含關鍵字的包。
pacman -Qs 關鍵字: 搜索已安裝的包。
pacman -Qi 包名:查看有關包的詳盡信息。
pacman -Ql 包名:列出該包的文件。

其它用法:
pacman -Sw package_name 包名:只下載包,不安裝。
pacman -Sc:清理未安裝的包文件,包文件位於 /var/cache/pacman/pkg/ 目錄。
pacman -Scc:清理所有的緩存文件

獲取所有軟件包:

pacman -Sl
MSYS2 安裝所有軟件包(跳過已安裝的軟件包):
#!/bin/bash

IFS=$'\n';
for LINE in `pacman -Sg`; do
    pacman -S --needed --noconfirm ${LINE}
done;

不知道為什么,這樣不行:

pacman -Sg | xargs pacman -S --need -- noconfirm

這樣好像才是對的:

pacman -Sl | awk '{cmd="pacman -S --needed --noconfirm "$2;system(cmd)}'

下載完后:

參考:

https://www.jianshu.com/p/ea651cdc5530
http://www.ha97.com/3459.html


免責聲明!

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



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