Ubuntu Server 是否仅适用于命令行?

How*_*owl 6 server webserver

有一天,我的公司将需要一台服务器,我喜欢 Ubuntu,因为它在所有操作系统中病毒数量最少(我认为),但是当我查看 Ubuntu 服务器时,它只有黑色背景和白色文本,这是命令行。这就是 Ubuntu Server 的全部吗?或者它像 Ubuntu 桌面,还有一个命令行模块?我真的不希望它只是命令行。

我是 Ubuntu 操作系统的新手。即使现在我仍然使用windows。

Jor*_*tro 14

Ubuntu Server 旨在成为专业人士的横向扩展服务器操作系统。

这是一个精简的操作系统,没有附加任何装饰。Ubuntu Server 的目标受众是熟悉命令行的人。有些人甚至会争辩说它不是为命令行设计的,它是如此精简,以至于它被设计为由像 Chef、Puppet 和 Ansible 这样的配置管理工具和像 Juju 这样的编排工具作为更高级别的基线图像驱动基础设施(比如 Cloud Foundry,如果你想要 PaaS,或者 OpenStack,如果你想要 IaaS,或者所有这些东西的任何组合)。

如果您希望使用 Docker 容器进行密集部署或高密度 OpenStack 部署,那么这就是 Ubuntu Server 的用途。

话虽如此,在适当的条件下,它可以成为用于个人服务器的不错的“易于使用”的服务器。Ubuntu 并没有真正追求小型个人服务器市场。然而,有一家公司采用 Ubuntu Server 并为想要易于使用的家庭和小型企业服务器的人们提供了一个漂亮的 Web UI:

也可以看看:


Sim*_*ter 7

如果您构建面向公众的服务器,您应该熟悉并熟悉您正在使用的系统。

您提到病毒防护是一个原因,这向我表明您正在寻找“安全即产品”,而这是不存在的。安全始终是一个过程,公共网络上的服务器需要不断受到监控和维护——Windows 和 Linux 都是如此。

减少工作量的关键是

  • 最小化攻击面
  • 自动化

我发现在 Linux/Unix 环境中这样做更容易,因为 Windows 最大的优势,即组件的紧密集成,实际上是这里的障碍。

完全不可能构建一个没有安装 Web 浏览器组件的 Windows 系统(其中包括下载和执行 JavaScript 代码的功能,然后可以加载 ActiveX 组件),仅仅因为 Explorer 需要该组件。理想的服务器环境只包含提供服务所需的代码,不包含其他任何内容。

同时,组件的集成为它们设计的用例提供了非常有效的通信渠道,但是对于服务的自动化监控,通常需要以意想不到的方式将它们组合起来,这需要编写脚本。脚本环境只提供控制流和数据在组件之间传递的 Windows 哲学是合理的,但比编写文本文件的程序更难调试,您可以在将其传递给下一个程序之前手动检查文本文件。

许多管理员对命令行的偏好很简单,因为它与他们用于编写脚本的语言相同。在调查了一个问题之后,我可以简单地将我的命令历史转储到一个文件中,删除一些不相关的行,并且我有一个可以在出现类似问题时使用的工作脚本。使用 GUI,我必须手动回溯我刚刚所做的事情,找出执行相同步骤的正确 API,然后编写程序并在不中断服务的情况下对其进行调试。

最后但并非最不重要的一点:运行您自己的服务器的另一种选择是获得一个托管服务器,其他人负责持续维护。他们可以比你更有效地做到这一点,因为他们已经有了一个监控基础设施,因此将你的服务器添加到他们的系统中的工作可以忽略不计,他们甚至可以在夜班时检测和处理紧急问题。