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

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

我有一台配备 8 GB SSD 的 Dell Mini 9。几年前我安装了 Lucid,每次都升级,现在我的硬盘几乎满了。我发现安装了新的默认程序,但不会自动删除旧程序(例如 Banshee 和 Rhythmbox)。现在我可以从头开始安装新的发行版,但如果有办法避免麻烦,那就太好了。我不介意多年来安装的程序被删除,它们只有少数几个,我可以立即重新安装它们。

答案1

这个问题的解决办法也许也能解决你的问题。

Ubuntu 12.04 之前版本

gnome-terminal做:

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

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

Ubuntu 12.04

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

  1. 文件系统清单
  2. 文件系统.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

这将为你提供排序列表当前.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

这将让你了解两个软件包列表之间的差异,其中已安装.txt包含默认安装中不包含的所有软件包,并且卸载.txt包含与默认安装相比缺少的所有软件包。

答案2

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

我打赌你想删除的肯定是奇数的 10 个左右,这可能需要 15 分钟,

相关内容