xxxx-client 和 xxxx-server 包有什么区别?

sol*_*ier 8 server mysql package-management apt client

当我要安装软件包或软件时,我可以看到客户端 | 服务器版本。这实际上是什么意思?例如:

apt-get install xxxx-client
apt-get install xxxx-server
Run Code Online (Sandbox Code Playgroud)

这些有什么区别?当我们需要安装应用程序或包时,我们如何分类?让我们说:

如果我想安装 nginx,我只需输入 即可安装apt-get install nginx,所以我们不会有任何混淆。

当我在寻找 MySQL 时,如何选择我应该安装哪个版本?我对客户端和服务器很困惑。

Mel*_*ius 14

几乎任何应用程序都可以使用分布式客户端-服务器模型

  • 服务器提供资源1或服务,
  • 客户端使用资源或服务。

在某些应用程序中,服务器和客户端均由同一生产商制造,并标记为一种产品的一部分——OpenSSH 或 MySQL 就是这种情况。

然而,服务器和客户端之间的协议才是真正重要的。电源2的客户端-服务器模型的是,实现协议的所有软件可以使用它(同时作为客户端或服务器,见下文)。为什么 Nginx(或 Apache)的生产者没有为他们的软件提供客户端?因为他们的产品是 Web 服务器,并且已经有很多客户端(在这种情况下称为 Web 浏览器)可用,例如 Firefox、Chrome 等。

回到第一组……虽然提供了 OpenSSH 的“官方”客户端,但您可以使用另一个客户端,例如PuTTY,对吗?并且还有其他 MySQL 服务器实现(MariaDBPercona Server),它们与常见的 MySQL 客户端协作,同样,不限于包提供的命令行 MySQL 客户端mysql-client


1X 服务器的情况下,资源可以是数据库 (*SQL)、网页甚至控制台(键盘、鼠标和显示器)。

2另一个优点是这些部分可以在不同的机器上运行——但大多数也是相同的,就像他们的部署者需要的那样。


gui*_*erc 5

一些程序在服务器模式下可用,其他程序仅作为客户端。

nginx是一个仅限服务器的应用程序,因此服务器/客户端的差异没有意义(无论如何对我来说)。

然而,Openssh 两者都有,即。

客户端允许登录到远程盒子或服务器),或

服务器允许其他远程客户端登录到自己的服务器)。

  • @soldier 如果你不能回答这个问题,我认为你不会得到那份工作。 (6认同)
  • 我今天参加面试,所以他们问了我同样的问题,但我怎么能说这些差异没有任何意义呢。我应该有强有力的答案和描述。 (2认同)