web-dev-qa-db-ja.com

xxxx-clientパッケージとxxxx-serverパッケージの違いは何ですか?

パッケージまたはソフトウェアをインストールするときに、クライアント|サーバーバージョンが表示されます。実際にはどういう意味ですか?例えば:

apt-get install xxxx-client
apt-get install xxxx-server

これらの違いは何ですか?アプリケーションまたはパッケージをインストールする必要がある場合、どのように分類できますか?まあ言ってみれば:

Nginxをインストールする場合は、apt-get install nginxと入力してインストールするだけなので、混乱することはありません。

MySQLを探しているとき、どのエディションをインストールすればよいですか?私はクライアントとサーバーでとても混乱しています。

7
soldier

ほとんどすべてのアプリケーションは、分散 クライアントサーバーモデル を使用して作成できます。

  • サーバーはリソースを提供します1 またはサービス、
  • クライアントusesリソースまたはサービス。

一部のアプリケーションでは、サーバーとクライアントの両方が同じプロデューサーによって作成され、1つの製品の一部としてブランド化されています。これはOpenSSHまたはMySQLの場合です。

ただし、サーバーとクライアントの間の protocol が本当に重要です。パワー2 クライアントサーバーモデルの特徴は、プロトコルを実装するすべてのソフトウェアがそれを使用できることです(クライアントまたはサーバーの両方として、以下を参照してください)。 Nginx(またはApache)のプロデューサーがソフトウェアのクライアントを提供しなかったのはなぜですか?それらの製品はWebサーバーであり、FirefoxやChromeなど、多数のクライアント(この場合はWebブラウザーと呼ばれます)がすでに利用可能になっているためです。

最初のグループに戻ります…OpenSSHの「公式」クライアントが提供されていますが、 PuTTY などの別のクライアントを使用できますよね?また、一般的なMySQLクライアントと連携する代替のMySQLサーバー実装( MariaDB および Percona Server )もあります。これも、提供されているコマンドラインMySQLクライアントに限定されません。パッケージごと mysql-client


1 Xサーバー の場合、リソースはデータベース(* SQL)、Webページ、またはコンソール(キーボード、マウス、モニター)です。

2 もう1つの利点は、これらのパーツを異なるマシンで実行できることです。ただし、デプロイヤーが必要とするのと同じように、ほとんどの場合同じです。

14
Melebius

サーバーモードで利用できるプログラムもあれば、クライアントのみとして利用できるプログラムもあります。

nginxはサーバーのみのアプリケーションなので、サーバー/クライアントの違いは意味がありません(とにかく私には)。

ただし、Openshには両方があります。

クライアントリモートボックスまたはサーバーへのログインを許可します)、または

server他のリモートクライアントが自分自身にログインすることを許可します、サーバー)。

5
guiverc

Nginxをインストールする場合は、apt-get install nginxと入力してインストールするだけなので、混乱はありません。

正解です。nginxはとりわけWebサーバーです。通信するように設定されているクライアントにコンテンツを提供します。すでにさまざまな目的でうまく設計されたクライアントがたくさんあるので、nginxは独自に作成する必要がありませんでした。

MySQLを探しているときに、どのエディションをインストールする必要があるかを選択するにはどうすればよいですか?

サーバーはデータベースであり、すべてのデータベースとテーブルおよびデータを保持します。また、データとの通信方法を知っているすべてのクライアントにデータを提供します。

クライアントがデータベースに接続します。これは、一般的な管理タスクに使用したり、データに対してリモートでクエリやその他の機能を実行したりするために使用できます。

たとえが必要な場合は、それを店と考えることができます。ストア(サーバー)は顧客にサービスを提供し、顧客が商品とお金を交換できるようにします。お客様(クライアント)が来店し、店舗で物を購入できます。さまざまなタイプの顧客がさまざまなことをしたいと考え、さまざまな問題に関心を持っています。

2
GammaGames

私はそれをこのように説明しようとします:

「サーバー」は他のプログラムやコンピュータにサービスを提供します。たとえば、nginxとApacheはWebサーバーです。 MySQLとPostgreSQLはデータベースサーバーです。

「クライアント」は、定義されたプロトコル(Webサーバーの場合はHTTPまたはHTTPS)を使用してサーバーと通信します。 MySQLとPostgreSQLには、独自の特定のプロトコルがあります(MySQLは ここ で文書化されています)。

サーバーにアクセスするには、クライアントが必要です。たとえばmysqlの場合、Java、PHPなど、プロトコルのクライアント側のさまざまな実装があります。MySQLが提供する対話型クライアントもあります。

ただし、クライアントを取得するためだけにサーバー全体をインストールする必要はありません。サーバーは通常、クライアントよりも大きいです。しかし、より重要なことは、不要なものをインストールしないことです。セキュリティホールが存在する可能性があり、それらを最新の状態に保つ必要があります。

つまり、Ubuntu(および他のほとんどのLinuxディストリビューション)では、サーバーとクライアントは別々のパッケージにあります。

0
Roger Lipscombe