当前位置: 首页>>技术教程>>正文


如何列出已安装大小的已安装软件?

ubuntuer 技术教程 , 去评论

问题描述

我想在我的机器上有一个已安装软件的列表,其中包含它们所占用的磁盘空间。我希望能够以最大/最小的顺序排序,但这不是必需的。

我是那种会安装软件来尝试它的人,而不是在我自己之后清理。

结果,我的7GB(Windows和我的数据在不同的分区,以及交换区域)Ubuntu 11.04分区正在受到影响,并且已经开始定期显示警告消息。

最佳解决方案

您可以在Synaptic中以图形方式执行此操作。

首先确保您启用了“已安装的大小”和“下载大小”列(如果需要,则只能启用一个)。

  • 要执行此操作,请转到设置>首选项并选择“列”和“字体”,然后勾选要查看的列。

  • 然后单击确定。

package-management,ubuntu

  • 启用它们后,您可以通过单击列列出已下载/安装大小的已安装软件包。

package-management,ubuntu

  • 请注意:我没有以这种方式列出我的软件包,但是它有效。

次佳解决方案

dpkg-query -W -f='${Installed-Size;8}  ${Package}\n' | sort -n

显示按大小排序的包列表

第三种解决方案

首选解决方案

我找到了一个较短的答案,不需要aptitude

dpkg-query -Wf '${Installed-size}\t${Package}\n' | column -t

旧的解决方案

aptitudeshow命令能够显示包的安装大小。

我有这个小脚本,它使用aptitude(单独安装)来获得所有已安装包大小的列表:

#!/bin/bash

export LC_ALL=C

aptitude show $(dpkg-query -Wf '${Package}\n') |
  awk '$1 == "Package:"     { name = $2 }
       $1 == "Uncompressed" { printf("%10s %s\n", $3, name) }' |
  awk '$1 ~ /k/ { $1 *= 1 }; $1 ~ /M/ { $1 *= 1024 }
       { printf("%9d %s\n", $1, $2)}'

大小以千字节表示,并且是近似值,由aptitude show pkg返回。

可以使用单个awk调用来改进脚本(但我很懒:-)

第四种方案

另一种选择是使用debian-goodies包中的dpigs应用程序:

NAME
   dpigs - Show which installed packages occupy the most space

SYNOPSIS
   dpigs [options]

DESCRIPTION
   dpigs sorts the installed packages by size and outputs the largest ones. Per
   default dpigs displays the largest 10 packages. You can change this value by
   using the -n option (see "OPTIONS"). The information is taken from the dpkg
   status file with grep-status(1).

OPTIONS
   -h, --help
       Display some usage information and exit.

   -n, --lines=N
       Display the N largest packages on the system (default 10).

   -s, --status=FILE
       Use FILE instead of the default dpkg status file (which is /var/lib/dpkg/status
       currently).

   -S, --source
       Display the largest source packages of binary packages installed on the system.

第五种方案

您可以在terminal-based包经理Aptitude中查看此类列表:

  1. 使用sudo aptitude打开Aptitude。

  2. 点击S(大写S)并在提示符下键入~installsize。 (~用于降序排序;如果你想要最小的包,你可以省略它。)

  3. 到目前为止,包在每个层次级别内按大小排序。要获得概述,您需要尽可能少的级别。点击G并在提示符下输入status。现在所有已安装的软件包都在一个部分中,按大小排序。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2618.html,未经允许,请勿转载。