问题描述
如何从 Ubuntu 中删除所有软件包并确保 ubuntu-minimal
不会丢失?
最佳回答
使用 aptitude 是相当容易的。首先,确保你有它并安装了 ubuntu-minimal:
sudo apt-get install aptitude ubuntu-minimal
然后,将所有包标记为自动安装,但 ubuntu-minimal
除外:
sudo aptitude markauto '~i!~nubuntu-minimal'
在那之后,你应该只剩下 ubuntu-minimal
,以及它所依赖的东西。
警告:这不包括内核,所以我建议立即安装 linux-image-generic
。
次佳回答
ubuntu-minimal
是一个 metapackage 。它的作用是让其他包成为依赖。那些其他包是最小系统所需的包。 ubuntu-minimal
实际上并不直接提供任何文件。如果您尝试删除除它之外的所有包,您也会删除它的依赖项……这不是您想要的。
如果您最近在最小系统上安装了软件,现在想回到最小系统,那 ‘s shouldn’t 就太难了。如果您还记得安装了什么,请将其卸载。如果不这样做,请查看您的日志(如果安装是最近的,/var/log/apt/term.log
应该可以解决问题)。
您可以尝试找出系统上安装的所有直接或间接依赖于 ubuntu-minimal
的软件包。一些间接依赖关系(即依赖关系的依赖关系,甚至进一步删除)可能可以通过不同的替代方案来满足,因此不能保证让您拥有最小系统在首次安装时拥有的所有软件包与除保留 ubuntu-minimal
所必需的软件包外,删除所有当前安装的软件包。不过,这可能不会有太大的区别。
大概可以通过运行所有删除命令 here 、 here 、 here 和 here (对于 12.10;对于另一个版本,您将删除相关部分中的所有包列表那个网站)。
-
如果您想尝试这样做,您只需运行
apt-get remove
命令,而不是之后安装包或执行配置的命令。所以在每个命令的末尾附近,都会出现sudo apt-get install ...
。不要在它之后运行它或任何东西。 -
这些命令旨在删除一种 Ubuntu 风格/桌面环境中存在的内容,但存在于另一种风格/桌面环境中的除外。有很多(但不是全部)重叠,并且多次指定要删除的相同包不是问题。
-
理论上,通过运行所有这些程序,您可以摆脱与每个桌面环境关联的所有程序包,而无需进行任何弄清楚的工作。但是,这将同时保留 Ubuntu、Kubuntu、Xubuntu、Lubuntu 和 Edubuntu 中的所有内容,其中包括大量的包,包括最小的 GUI 包,这些包在最小的 命令行 only 系统中不存在。
-
对于一个相当不那么极端的版本(四个巨大的命令而不是十六个),只在这四个页面的每一页的顶部删除 “Remove Ubuntu”。假设您有一个 “vanilla” Ubuntu 系统,这应该可以处理您的大部分软件包。但是请注意,它可能会留下比更极端的版本更多的东西。
-
最后,运行
sudo apt-get install ubuntu-minimal
很重要。它可能会自动删除以解决删除其他包的依赖关系。带有命令的页面提到了一个可能的错误,该错误会导致在运行它们时将其删除。一般来说,最好不要假设首先安装了元数据包。 -
这可能行不通,而且可能会把事情搞得一团糟。虽然您不太可能因此而真正丢失文档:\n\n
-
备份您的文档,因为它们应该始终备份,并且您正在使用
sudo
运行大量命令。如果不出意外,您可能会意外粘贴一些其他巨大的东西,这会在运行时造成伤害。 🙂 -
确保您已准备好让您的 Ubuntu 系统完全停止工作。它可能无法启动。您应该仍然可以使用实时 CD/DVD/USB 访问其内容。确保拥有其中之一。 (很难尝试使用备用或最小 CD 来修复系统。)
-
最后,‘Call me V’ is correct 和您应该重新安装(尽管最小 CD 与备用 CD 一样好,用于安装最小系统,而且下载量要小得多)。如果您愿意让它在您面前爆炸,请尝试上面的建议来获得乐趣,但是从头开始安装会更简单、更快、更容易。
如果您希望有人尝试给您一个更好的答案,详细说明需要删除哪些包,那么您将必须提供更多信息。至少,您应该告诉我们您使用的是什么 Ubuntu 版本。但如果你 told us about all the packages on your system 也会有所帮助。