如何获取debian或ubuntu中所有已安装软件包的列表

时间:2015-03-05 00:30:18

标签: apt-get dpkg

我最近在我的Ubuntu 14.04机器上销毁了系统分区。因为我知道我可以轻松地从DVD中恢复它,所以我没有打算备份它。问题是每隔一段时间我偶然遇到一个我不需要的包裹。当然,我可以使用apt-get轻松安装它,但这会中断我的工作流程。

当然,对于这台机器来说已经太迟了,但是将来,我希望能够列出机器上安装的所有软件包。然后我可以做一些聪明的事情,比如

xargs < file_with_list_of_pckgs | apt-get install

然后定期,我可以创建一个包列表。如果我再次删除系统分区,我可以从DVD安装Ubuntu然后使用apt-get来获取我缺少的软件包。

我还必须备份/ etc。

下的所有内容

1 个答案:

答案 0 :(得分:2)

这是一个单行,它将在一行上生成这样的列表。

dpkg -l | awk  '{print $2}' > package_list.txt

package_list.txt文件顶部可能有一些奇怪的行,很容易摆脱使用你喜欢的文本编辑器。然后,您可以使用

安装所需的所有模块
xargs < package_list.txt apt-get install -y

不幸的是,您需要-y开关,因为xargs重定向stdin,因此您将安装package_list.txt中已过期的所有软件包。但是,你可能想要这样做,否则你就不会尝试这个特技。