如何只保留Ubuntu-Minimal?

如何从Ubuntu中删除所有软件包,并确保不会丢失ubuntu-minimal
2个回答

有天赋的话,这个相当容易。首先,确保你已经安装了aptitude和ubuntu-minimal:

sudo apt-get install aptitude ubuntu-minimal

然后,将所有软件包标记为自动安装,除了ubuntu-minimal:
sudo aptitude markauto '~i!~nubuntu-minimal'

在这之后,你应该只剩下ubuntu-minimal和它所依赖的东西。 警告:这不包括内核,所以我建议立即安装linux-image-generic

标记包裹为“自动”有什么意义,为什么会移除其他所有内容?这些包裹还可以被标记为什么,它们会产生什么效果? - Oxwivi
自动安装的软件包,如果没有被手动安装的软件包所依赖,就被认为是不需要的。它们会被aptitude自动安排删除,或者可以使用apt-get autoremove手动删除。 - tumbleweed
2我明白了。但是除了 ubuntu-minimal 之外,是否可以添加多个参数以添加 linux-image-generic 和其他我想要保留的软件包呢? - Oxwivi
是的,你可以这样做。 - tumbleweed
你能否为markauto添加一个排除多个软件包的示例?aptitude的语法相当令人困惑。对使用的模式语法进行简要说明将非常有帮助。 - SystemParadox
这个方法帮我避免了一个非常糟糕的do-release-upgrade,因为有很多依赖冲突。通过这种方式几乎清除了所有内容,然后安装ubuntu-desktop,使得系统恢复得几乎和全新安装一样。 - PowerKiKi

ubuntu-minimal 是一个metapackage。它的功能是作为其他软件包的依赖。这些其他软件包是构成最小系统所需的软件包。ubuntu-minimal 实际上并没有直接提供任何文件。如果你尝试删除除它以外的所有软件包,你也会删除它的依赖...这不是你想要的。

如果你最近在最小系统上安装了软件,并且现在想回到最小系统,那么这应该不太难。如果你记得你安装了什么,卸载它即可。如果你不记得,查看你的日志(如果安装是最近进行的,/var/log/apt/term.log 应该有效)。

你可以尝试找出安装在你的系统上的与ubuntu-minimal直接或间接依赖关系的所有软件包。其中一些间接依赖关系(即依赖的依赖,甚至更远的依赖关系)可能有不同的替代方案可满足,因此不能保证让你拥有一个初始安装时所需的所有软件包就等同于移除除了那些必要保留ubuntu-minimal所需的软件包以外的当前已安装的所有软件包。虽然可能并没有太大的区别。
假设可以通过运行所有的删除命令 这里, 这里, 这里这里(适用于12.10版本;对于其他版本,您将删除网站上相关部分列出的所有软件包)来实现这样的目标,并且最小程度地麻烦。
  • 如果您想尝试这个操作,只需运行仅包含apt-get remove命令,而不是之后安装软件包或执行配置的命令。因此,在每个命令的末尾会出现sudo apt-get install ...。不要运行该命令或其后面的任何内容。
  • 这些命令被设计用于删除一个Ubuntu版本/桌面环境中存在的内容,除了在另一个中存在的内容。有很多重叠,但并非全部,指定同一个软件包多次进行删除不会成为问题。
  • 理论上,通过运行所有这些命令,您可以摆脱与每个桌面环境相关联的所有软件包,而无需费力去弄清楚任何内容。然而,这将保留同时存在于Ubuntu、Kubuntu、Xubuntu、Lubuntu和Edubuntu中的所有内容,包括大量的软件包,其中包括在纯命令行系统中不存在的最小GUI软件包。
  • 对于这种方式的更温和版本(四个巨大的命令而不是十六个),只需在这四个页面的顶部执行“Remove Ubuntu”操作即可。假设您有一个“原始”的Ubuntu系统,这应该能够处理大部分软件包。但请注意,与更极端的版本相比,它可能会留下更多东西。
  • 最后,重要的是您运行sudo apt-get install ubuntu-minimal。它可能会被自动移除以解决删除其他软件包的依赖关系。命令页面中提到可能会导致在运行这些命令时将其删除的潜在错误。一般来说,最好甚至不要假设元软件包已安装。
  • 这可能不起作用,并且可能会造成严重混乱。虽然您不太可能因此而丢失实际文档:
    1. 备份您的文档,因为应始终进行备份,并且您正在使用具有sudo的巨大命令。除此之外,您可能会意外粘贴一些其他巨大的内容,导致在运行时造成损害。:)
    2. 确保准备好您的Ubuntu系统完全停止工作。它可能无法启动。您仍然应该能够使用Live CD/DVD/USB访问其中的内容。确保拥有其中之一。(使用备用或最小CD修复系统很困难。)
最后,'Call me V'是正确的,你应该重新安装(虽然最小CD和备选CD一样好,用于安装一个最小系统,并且下载文件较小)。如果你愿意冒险尝试上述建议,但结果可能会不顺利,从零开始安装将更简单、更快捷、更容易。 如果你希望有人能够给出更好的答案,详细说明需要删除哪些软件包,那么你需要提供更多信息。至少,你应该告诉我们你使用的Ubuntu版本。此外,如果你能告诉我们关于你系统上所有软件包的情况,也会有所帮助。