根据使用频率对已安装的应用程序进行排序?

根据使用频率对已安装的应用程序进行排序?

我的/快没电了所以我正在考虑通过卸载一些软件包来释放一些空间。 “Debian 上哪些已安装的软件包使用最多的磁盘空间?” 已经涵盖了排序依据尺寸,但我想按方式排序频繁地我使用每个包。

如何根据使用频率对已安装的应用程序进行排序?我想考虑卸载最不常用的应用程序。

我检查了dpkg联机帮助页,但找不到任何内容。我正在运行Ubuntu。

答案1

根据Debian 人气大赛自述文件,

该软件包包含一个脚本 /usr/sbin/popularity-contest,它会生成系统上安装的软件包列表,按照最近使用最多到最近最少使用的顺序排列。使用此信息的最简单方法是通过删除未使用的软件包来帮助清理硬盘驱动器。

例如,

popularity-contest | grep '<OLD>'

将向您显示一段时间未使用的软件包列表。请注意,此输出并不完全准确:某些包显示为“旧”,但您无法删除它们,因为其他(非旧)包依赖于它们。

答案2

没有一个标准机制来跟踪您运行程序的频率。

如果您的系统跟踪文件访问时间,您可以检查程序/usr/bin或其数据文件的上次读取日期。这只能告诉您自上次执行该程序以来已经过去了多长时间,而不能告诉您在此之前该程序执行的频率。

ls -rtu /usr/bin | head -n 30

要找出哪个软件包提供了这些程序:

dpkg -S $(ls -rtu /usr/bin/* | head -n 30)

您可以通过安装来记录应用程序的执行时间acct包裹。命令lastcomm报告可执行文件的启动时间。要查看自上次轮换日志以来最常见的日志:

lastcomm | awk '{print $1}' | sort | uniq -c | sort -nr | head -n 30

对于最终用户程序,查看大型软件包列表并删除名称不明显的软件包效果相当好。只需确保仅删除不是交互式应用程序的包(根据包描述):不要删除系统实用程序,因为您不知道什么可能在幕后使用它们。当然,要注意依赖关系:只有当您确定依赖于某个东西的所有东西也不是您关心的东西时,才删除它。

相关内容