问题描述
我们已经在我们的开发服务器上安装了 Ubuntu 桌面版。现在我们将它放在数据中心,我们想将它剥离为服务器版本。
有没有一种简单的方法可以做到这一点,而不仅仅是手动进入和卸载包?
最佳办法
反过来也可以,但我从来没有见过任何人能够通过安装元包或其他东西来做到这一点。
您最好的选择是:
-
全新安装
-
手动删除不需要的软件包并安装您需要的服务器组件
次佳办法
您可以删除 ubuntu-desktop
并同时删除 auto-remove 其所有孤立的依赖项:
sudo apt-get autoremove ubuntu-desktop
如果您还想删除受影响软件包的配置(并且不要保留它以备日后重新安装),请添加 --purge
选项。
如果您有任何其他桌面也将其删除。如果您在此之后重新启动,您应该没有 GUI 可以登录。如果您清除程序而不是仅仅删除它,您还会删除任何可能保留的配置文件。
正如 Rinzwind 建议的那样尝试 sudo apt-get remove gnome-*
。
在 Ubuntu 16.04 之前,它还为服务器安装提供了一个特殊的内核包 linux-image-server
:
-
sudo apt-get install linux-image-server
并重新启动。
然后我建议你安装你想要的服务器应用程序,比如 ssh-server
。
但与往常一样,最好进行全新安装。它减少了错误和损坏包的风险。
第三种办法
注意:如评论中所述,taskel 只能用于安装任务,不能删除它们。在这个特定的任务(删除桌面 -> 安装服务器)中,它似乎工作正常。所以请谨慎使用。
你可以试试taskel。有了它,你可以通过选择 Basic Ubuntu Server 并取消选中 Ubuntu 桌面来做你想做的事。
sudo apt-get install tasksel