如何在Ubuntu上显示已安装的包大小

时间:2020-03-05 15:29:39  来源:igfitidea点击:

在本教程中,我将带我们完成在Ubuntu/Debian Linux系统上显示已安装的包大小的步骤。
在进行空间审核时,这可能是重要的,尝试在系统上使用占用大型空间查找包。

Ubuntu/debian dpkg-query和dpkg包管理器提供了一些可用于此任务的命令行选项,以及一些Linux Regex工具,如awk,sed,sort,tr等。

使用wajig显示已安装的包装尺寸

我们可以用于列出包大小空间的另一个程序是WAJIG。
Wajig是Debian/Ubuntu包的简化命令行管理员。
可以使用命令安装此工具:

$sudo apt-get install wajig

要以降序列出最大的已安装软件包,请使用命令:

# wajig large
Package Size (KB) Status
=================================-==========-============
libc6 10,508 installed
grub-common 11,484 installed
linux-headers-3.13.0-32-generic 12,999 installed
linux-headers-3.13.0-143-generic 13,216 installed
iso-codes 15,207 installed
perl-modules 16,134 installed
perl 17,320 installed
vim-runtime 25,186 installed
linux-image-3.13.0-32-generic 41,029 installed
linux-image-3.13.0-143-generic 43,054 installed
linux-headers-3.13.0-32 61,797 installed
linux-headers-3.13.0-143 62,064 installed
linux-firmware 124,150 installed
linux-image-extra-3.13.0-32-generic 148,283 installed
linux-image-extra-3.13.0-143-generic 150,240 installed

从上面的输出,使用我的Ubuntu服务器上最大空间的包是Linux-image-ofter-3.13.0-143通用,尺寸为150MB。

使用DPKG查询显示已安装的包大小

我们还可以使用dpkg-query命令列出按大小过滤的已安装包。
DPKG查询是用于显示DPKG数据库中列出的包的信息的工具。
我们必须使用选项-wf并管制输出来对命令进行排序,以便按顺序排序输出。

# dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n | tail -n 10
23508 git
26870 vim-runtime
30094 libicu55
32502 cassandra
65367 linux-image-4.4.0-87-generic
68901 linux-headers-4.4.0-87
75176 snapd
97190 openjdk-8-jre-headless
148663 linux-image-extra-4.4.0-87-generic
207968 linux-firmware

我们应该注意到此输出与来自Wajig命令的输出类似。
列出的最后一个文件是最大的。

使用DPIG显示已安装的包装大小

DPIGS是一种Debian工具,用于显示哪个已安装的软件包占据系统上最大的空间。
DPIGS按大小对已安装的软件包进行排序并输出最大的包,显示的默认包数为10.

默认情况下未安装此工具,使用命令在Ubuntu/Debian系统上安装它。

# apt-get install debian-goodies

运行:

# dpigs
150240 linux-image-extra-3.13.0-143-generic
148283 linux-image-extra-3.13.0-32-generic
124150 linux-firmware
93841 libboost1.54-dev
62064 linux-headers-3.13.0-143
61797 linux-headers-3.13.0-32
54539 openjdk-7-jre-headless
43054 linux-image-3.13.0-143-generic
41029 linux-image-3.13.0-32-generic
39210 python-neutron

使用/var/lib/dpkg/status和awk显示已安装的包尺寸

我们还可以使用awk从/var/lib/dpkg/status读取数据,并过滤它以获取系统上安装的每个包的大小。
为此,请使用以下命令。

# awk '{if ( ~ /Package/) p = ; if ( ~ /Installed/) printf("%9d %s\n", , p)}' /var/lib/dpkg/status

我们可以通过将其输送到排序和尾部的头命令进一步过滤输出。

# awk '{if ( ~ /Package/) p = ; if ( ~ /Installed/) printf("%9d %s\n", , p)}' /var/lib/dpkg/status | sort -n | tail

上面的命令将以最小的最小升序向我们升序显示包大小。