Synaptic 可以按时间对包裹进行排序吗?

Synaptic 可以按时间对包裹进行排序吗?

我知道软件中心可以做到这一点(在“历史记录”部分),但我还没有在 Synaptic 中找到一个过滤器/列,可以按安装/删除的时间对软件包进行排序。我真的可以用它来批量删除我最近安装但记不住名称/依赖项的东西。

我可以为此设置自定义过滤器/列/属性/其他内容吗?或者其他什么?我感觉至少你应该能够从终端执行此操作。如果不行,软件中心如何做到这一点?

像这样: 看看吧,南加州大学可以做到!

答案1

我感觉,至少你应该能够从终端做到这一点。

是的,这很容易做到,只需查看 中的时间戳/var/lib/dpkg/info/即可。例如,

ls -lct /var/lib/dpkg/info |egrep -o "May.*\." |
    剪切 -d. -f1 | uniq | 更多

-lct按 ctime 排序,“May” 是您要查找的当前(或最近)月份,cut只需删除末尾烦人的句号,并uniq删除重复项。这将为您提供类似以下内容的结果:

...
5月11日 18:03 libcogl-pango0:amd64
5月11日 18:03 libcogl9:amd64
5月11日 18:03 libcaribou0:amd64
5月11日 18:03 libcaribou-common
5月11日 03:35 libcpufreq0
5月11日 03:35 cpufrequtils
...

假设您想要批量删除 5 月 11 日 18:03 安装的所有软件包,您可以执行以下操作:

apt-get 删除`ls -lct /var/lib/dpkg/info|
egrep -o "五月.*18:03.*\" |
剪切-d.-f1|uniq|
剪切 -d' ' -f4 | tr '\n' ' '`

其中第二个cut只是选择包名称并将tr换行符转换为空格,从而为您提供适合的列表apt-get

相关内容