我如何从 Ubuntu 中删除所有软件包并确保ubuntu-minimal
不会丢失?
答案1
使用 aptitude 相当容易。首先,确保你已安装 aptitude 和 ubuntu-minimal:
sudo apt-get install aptitude ubuntu-minimal
然后,将所有包标记为自动安装,但以下包除外ubuntu-minimal
:
sudo aptitude markauto '~i!~nubuntu-minimal'
此后,您应该只剩下ubuntu-minimal
,以及它所依赖的东西。
警告:这不包括内核,所以我建议linux-image-generic
立即安装。
答案2
ubuntu-minimal
是元包。它的功能是将其他软件包作为依赖项。这些其他软件包是最小系统所需的软件包。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 软件包),这些软件包在最小命令行系统中不存在。
- 对于不太极端的版本(四个大命令而不是十六个),只需执行这四个页面顶部的“删除 Ubuntu”即可。假设您有一个“原始”Ubuntu 系统,这应该可以处理您的大部分软件包。但请注意,它可能会比更极端的版本留下更多东西。
- 最后,跑步很重要
sudo apt-get install ubuntu-minimal
。它可能会被自动删除,以解决移除其他软件包的依赖关系。带有命令的页面提到了在运行命令时可能导致它被删除的可能错误。一般来说,最好不要假设元软件包已经安装。 - 这可能不会起作用,并且可能会把事情搞得一团糟。虽然您不太可能因此而真正丢失文件:
- 备份您的文档,因为它们应该始终备份,而且您正在使用 运行大量命令
sudo
。如果没有其他问题,您可能会意外粘贴其他大量内容,从而在运行时造成危害。:) - 确保您已做好 Ubuntu 系统完全停止工作的准备。它可能无法启动。您仍然应该能够使用实时 CD/DVD/USB 访问其内容。确保有其中之一。(使用备用或最小 CD 很难尝试修复系统。)
- 备份您的文档,因为它们应该始终备份,而且您正在使用 运行大量命令
到底,“叫我 V” 是正确的您应该重新安装(尽管最小 CD 与备用 CD 一样好,用于安装最小系统,并且下载量要小得多)。如果您愿意让它在您面前爆炸,请尝试上述建议,但从头开始安装会更简单,更快捷,更容易。
如果您希望有人尝试给您一个更好的答案,详细说明需要删除哪些软件包,那么您必须提供更多信息。至少,您应该告诉我们你使用的 Ubuntu 版本. 但如果你告诉我们您系统上的所有软件包。
答案3
您也可以不aptitude
使用而仅使用默认安装的工具来实现此目的:
- 将所有包设置为自动安装:
sudo apt-mark auto \*
- 确保已安装 Ubuntu-minimal,这也将其标记为手动:
sudo apt-get install ubuntu-minimal
。你可能还需要一个内核,除非在容器中运行,例如sudo apt-get install linux-lowlatency
(或另一个变体)。 - 如果使用 LVM,您还需要安装
lvm2
- 删除其他所有内容,包括“建议”(可选)软件包:
sudo apt-get autoremove -o APT::Autoremove::SuggestsImportant=0