如何查找我安装的非发布软件?

如何查找我安装的非发布软件?

我想要一个已安装软件的列表,这些软件不是作为其他软件的依赖项安装的。例如,我想查看但gvim排除哪些是gvim-datagvim-commongvim

当然,我不想将发布软件纳入列表中。

我也想看安装时间。

看来 aptitude 可以部分地做到这一点。

答案1

为此,我过滤了 /var/log/apt/history.log 文件。

文件中的记录如下所示:

Start-Date: 2016-12-14  18:28:01
Commandline: synaptic
Requested-By: user (1000)
Install: libglib2.0-bin:amd64 (2.48.1-1~ubuntu16.04.1, automatic) libglib2.0-dev:amd64 (2.48.1-1~ubuntu16.04.1)
End-Date: 2016-12-14  18:28:06

名称中带有“automatic”的包是依赖项(示例中为libglib2.0-bin),不带有“automatic”的包是通过命令安装的(libglib2.0-dev)。

我在我的档案中找到了这段代码,它可能有效

#!/usr/bin/env python
# -*- 编码:utf-8 -*-
进口再
导入系统

对于 sys.argv[1:] 中的 arg:
  fil = 打开(参数)
  对于文件中的行:
    ma = re.match(r'安装:(.*)',行)
    如果妈:
      grp = ma.groups()[0]
      lst = re.split(r'\), *', grp)
      对于 lst 中的项目:
        如果 item.endswith(',automatic'):
          继续
        别的:
          名称 = 项目.split(':')[0]
          打印日期、姓名
    ma = re.match(r'开始日期: ([^ ]*)', 行)
    如果妈:
      dte = ma.groups()[0]
  fil.close()

相关内容