如何在Ubuntu中列出手动安装的软件包?

Iva*_*hev 8 script package-management ubuntu

可能的重复:
您如何跟踪 Ubuntu (Linux) 上安装了哪些软件包?

你好,

我正在使用apt-get install在我的 PC 上安装各种软件。我有几台需要安装相同软件包的 PC。如何获取通过安装的软件列表以及安装apt-get install包的顺序。好的,顺序不是那么重要,因为包管理器解决了依赖关系......我想创建一个脚本,一旦运行就会在其他 PC 上安装所有需要的软件。所有这些 PC 都是 Ubuntu 默认安装。很明显,包列表不能包括通过默认安装安装的所有包:)

此外,该列表不应包含通过synapticdpkg如果可能安装的软件。

vav*_*ava 12

aptitude 可以做你正在寻找的东西,实际上还有更多。

aptitude search '?installed ?not(?automatic)'
Run Code Online (Sandbox Code Playgroud)

或更短:

aptitude search '~i!~M'
Run Code Online (Sandbox Code Playgroud)

将列出所有手动安装的软件包。不会列出任何依赖(即,如 mysql-data 或 *-common,自动安装的)包。

如果您只需要包名称,请使用-F '%p'参数。

您可以查看搜索模式参考,几乎没有搜索不到的条件。


Nea*_*eal 2

您可以使用该命令在旧计算机上保存已安装软件包的列表dpkg --get-selections > ~/packages,然后使用 将该列表恢复到新计算机上sudo dpkg --set-selections < ~/packages && apt-get dselect-upgrade

你不必担心默认安装已经包含了很多东西,apt-get 会为你照顾一切。

您最终将得到几个文本文件,称为packages列出每台计算机上需要安装的软件包。如果您愿意,可以将所有这些添加在一起,然后使用 删除重复项uniq,这意味着您将需要安装一组软件包,而不是每台计算机安装一组软件包。