簡體   English   中英

bash 獲得 package 大小與依賴 apt

[英]bash get package size with dependencies apt

我怎樣才能得到循環中所有包裹的總和?
我想我必須使用 bc 但我現在一無所知

#!/bin/bash
a=$(sudo apt install $1 -s 2>/dev/null | grep Inst | awk '{ print $2 }') 
for i in $a; do
    b=$(apt show $i 2>/dev/null | grep Installed-Size | awk '{ print $2 }')  
done

您可以使用dpkg-query ,而不是使用apt在腳本中提取有關包的信息,它具有穩定的界面,正如評論中已經提到的。

例如,您可以獲取軟件包的Installed-Size ,每行一個,然后將數字與awk

$ dpkg-query -Wf '${Installed-Size}\n' | awk '{ sum += $0 } END { print sum " KB" }'
4650121 KB

請注意, Installed-Size將為您提供:

估計安裝命名的 package 所需的磁盤空間總量。 實際安裝大小可能因塊大小、文件系統屬性或 package 維護者腳本所采取的操作而異。

磁盤空間以估計安裝大小的 integer 值(以字節為單位)除以 1024 並向上取整給出。

有關dpkg-query的更多信息: man dpkg-query

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM