port installed
显示本地计算机上所有已安装的软件包,但有没有办法列出每个软件包的大小?谢谢!
答案 0 :(得分:6)
I0423 02:49:39.286489 1 kube2sky.go:436] Etcd server found: http://127.0.0.1:4001
I0423 02:49:40.295909 1 kube2sky.go:503] Using http://172.17.0.1:8080 for kubernetes master
I0423 02:49:40.296183 1 kube2sky.go:504] Using kubernetes API v1
简单易用,自2011年version 2.0以来一直可用!
答案 1 :(得分:1)
我不相信Macports有一个内置命令来列出你的安装大小,但你可以这样做:
在终端中尝试此命令:
du -sh /opt/local/var/macports/software/*
这将为您提供/ opt / local / var / macports / software / *中每个包的大小,我相信是默认的安装位置。
显然,如果您在其他地方安装端口,则可以使用
du -sh [directory]
如果没有内置的Macports命令,这可能是您可以做的最好的。
我想到的一个替代方案是创建一个可以获取
输出的脚本 port installed
并回显每次安装的大小。
编辑:
我错了。 / opt / local / var / macports / software / *包含从中提取安装的 tarbells ,因此大小会更小。
如果您使用-sh / opt / local,它应该列出所有内容的大小,但列表中可能会有一些非macports包。
命令port contents installed
将显示macports已安装的所有目录。
答案 2 :(得分:1)
这是一个小型bash函数,可以进行任何有效的macports查询
function port_size {
size=0
pkg_size=0
for pkg in $(port $@ | tail -n +2 | awk '{ print $1 }')
do
pkg_size=$(port contents $pkg \
| sed -r 's/^[[:space:]]*(.*)[[:space:]]*$/\1/g;s/ /\\ /g' \
| tail -n +2 | xargs du | cut -f1 | paste -sd '+' | bc)
size=$(( $size + $pkg_size ))
printf "%10d %s\n" $pkg_size $pkg
done
printf "%10d %s\n" $size "Total Size (KB)"
}
我只用GNU版本的sed和awk测试过,但无论如何都应该可以使用。
port_size installed # will print out all installed packages and their size
port_size installed gcc* # will print out all packages matching gcc* wildcard
同样,任何有效的macports查询都会有效(包括installed inactive
或outdated
。