如何卸载除默认Ubuntu软件包之外的所有软件包?

我有戴尔Mini 9和8 GB SSD。 几年前我安装了Lucid,并且每次升级,现在我的硬盘几乎已满。 我看到安装了新的默认程序,但是旧的默认程序没有被自动删除(例如Banshee和Rhythmbox)。 现在我可以从头开始安装一个新的发行版,但如果有办法避免麻烦,那就太棒了。 我不介意我多年来安装的程序是否被删除,它们只是少数,我可以快速重新安装它们。

这个问题的解决方案也可能解决您的问题。

Ubuntu在12.04之前

gnome-terminal做:

 cat filesystem.manifest-desktop | awk '{print $1}' | sort > default.txt 

这将删除软件包版本,并为您提供一个排序列表default.txt,其中包含默认安装的所有软件包。 如链接问题中所述,请记住,在安装Ubuntu期间安装更新和/或受限软件包时,您可能会更改默认安装。

Ubuntu 12.04

上面的步骤有所改变。 要获取最初安装的软件包列表,您需要解压缩两个文件:

  1. filesystem.manifest
  2. filesystem.manifest -删除

要获得你想要的东西,你需要从后者中删除后者:

 comm -3 <(cat filesystem.manifest | awk '{print $1}' | sort) <(cat filesystem.manifest-remove | sort) > default.txt 

现在像12.04之前一样继续:

 dpkg --get-selections | awk '{print $1}' | sort > current.txt 

这将为您提供所有当前安装的软件包的排序列表current.txt

 diff -u default.txt current.txt | grep "^+[^+]" | cut -c 2- > installed.txt diff -u default.txt current.txt | grep "^-[^-]" | cut -c 2- > uninstalled.txt 

这将使您了解两个软件包列表之间的差异,其中installed.txt包含不属于默认安装的所有软件包,而uninstalled.txt包含与默认安装相比缺少的所有软件包。

如果您坚持手动删除这些软件包,您可以启动Ubuntu软件中心,甚至可以使用旧的但风险更大的Synaptic,浏览“已安装”部分并开始删除您认为不需要的任何内容。 这可以包括所有旧程序,但即使是当前安装中的程序,但您永远不会使用。

我敢打赌,你想要删除它将是一个奇怪的10左右,这可能需要15分钟,