将通过手动调用 apt-get 安装的软件包列表写入文件

将通过手动调用 apt-get 安装的软件包列表写入文件

我正在尝试从头开始安装新版本的 Ubuntu,但我想要一个我手动安装的软件包列表(而不是作为依赖项安装或随系统附带的软件包)。

Installed (manual)我可以在 Synaptic 上通过只查看我的包,然后只查看那些包来获得合理的近似值不是Ubuntu 支持的软件包(即所有没有 Ubuntu Unity 符号的文件)。但是,我似乎无法让 Synaptic 导出这些软件包的列表。

因此我的问题是是否可以生成通过命令手动安装的软件包列表apt-get install

以下操作不是工作:

这个问题和 Stack Exchange 网站以及其他地方提出的其他问题类似(例如生成手动安装的软件包列表并查询单个软件包https://serverfault.com/questions/133681/generating-a-list-of-installed-packages-in-ubuntu, 和http://ubuntuforums.org/showthread.php?t=947865&page=2)。

David Kalnischkieshttp://bugs.debian.org/cgi-bin/bugreport.cgi?bug=727799给出了一些观点,说明为什么准确定义“手动安装”的含义很困难(例如,您运行的程序中安装了哪些软件包,这些程序算作“手动安装”吗?)。因此,我专门将这个问题(与我列出的其他问题不同)限制为仅调用apt-get install

编辑:如何查看手动安装的不包含依赖项的软件包列表有个好主意,就是使用 apt-get 的日志文件来执行此操作。不幸的是,这不会跟踪哪些软件包已被删除。即使我简单地从我得到的两个列表中grep 'apt-get purge'选择diff,它仍然无法解释我安装软件包、卸载它然后重新安装它这种极端情况。

答案1

由于没有答案使用易于已经找到,我建议进入Synaptic 软件包管理器,单击左下方的状态按钮,然后单击左上角的已安装(手动)以查看已安装软件包的列表。

Synaptic 中已安装软件包的列表

然后,您可以从 Synaptic 输出列表File | Save Markings As并将文件保存到可以使用的位置。

答案2

我刚刚在之前的页面上发布了这个想法,如果这不礼貌的话,我很抱歉(如果是这样的话,请随意删除它),但是

  1. 前往以下网址获取适用于你的 Ubuntu 版本的“清单”文件http://releases.ubuntu.com/ 据我了解,它列出了库存安装的所有软件包。
  2. 生成apt-mark showmanualapt-mark 认为已手动安装的所有软件包的列表。
  3. 消除该列表和清单之间的重复,保留输出中apt-mark showmanual不属于库存安装的包。

这可能有点粗糙,没有处理“手动安装”软件包的具体构成,但对我来说,这看起来是一个相当不错的近似值。或者也许 Synaptic 解决方案是最好的。

相关内容