我知道软件中心可以做到这一点(在“历史记录”部分),但我还没有在 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
。