Ubuntuデスクトップまたはサーバーがインストールされているかどうかを確認するにはどうすればよいですか?


34

共有ホスティングがあります。シェルにアクセスできます。OSはUbuntuであり、サーバーバージョンかデスクトップバージョンかを確認します。

シェルからログインすると、次の情報が表示されます。

Linux [server-name] 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux
Ubuntu 10.04.1 LTS

回答:


20

この答えは、一部の人々が作成しているほどカットしてドライではありません。あなたは行うことができubuntu-standard、パッケージのインストールやサーバーとしてそれを使用します。ubuntu-minimalサーバーとして使用できます。あなたは取ることができubuntu-desktop、それがXを使用しないように、それを破る...あるいはXが投与のために(EWW)のまま。カーネルパッケージを-serverから-genericに-rtなどに変更できます。motdを変更するか、motdが新しいものほど長くないバージョンからアップグレードすることもできます(私のサーバーはどれも出てきませんでした)おそらく、それらが古いLTSからアップグレードされているためでしょう)。

私たち全員が尋ねるべき質問は次のとおりだと思います。なぜ重要なのでしょうか?何を学ぼうとしていますか?あなたにとってどんな違いがありますか?

グラフィカルなものを実行しようとしている場合は、実際に必要なもの(X、x11vncなど)を確認してください。グラフィカルインターフェイスがないことを確認する場合は、同じ操作を行います。


+1。なぜ重要なのですか?さて、kspliceを検討してください。デスクトップは無料ですが、サーバーはそうではありません...;)
0xC0000022L

1
それはもっと具体的な質問です。無料のデスクトップバージョンを使用できるかどうかを決定するために、kspliceは何をチェックしますか。デスクトップとサーバーのカーネルのビルドをチェックしていると思います。
-poolie

1
なぜそれが重要なのですか?私はシステムを交換する権限を持っていないので、元の内容を知ることから始めて、unclusterfsckする必要があります。何を学ぼうとしていますか?求められたのは、サーバーまたはデスクトップのインストールだけでした。それはあなたにどんな違いをもたらしますか?サーバーインストールでXがいっぱいの場合は、ITスタッフなどを
解雇する必要があり

@JanKyuPeblik壊れたシステムを手渡され、それが明らかにデスクトップではない場合、障害を報告している人に尋ねるべきです。真剣に。コンピューターは車ではありません。動作値と許容値の仕様リストではありません。すべて設定可能です。ここでのポイント-あなたの考えに当てはまること-は、システムを渡す人が簡単にサーバーを取得し、デスクトップとして構成できることです。それをサーバーに戻すと、害を及ぼしました。インストール時の2つの技術的な違いは、問題には関係ありません。そして、2010年にどのような違いがあったかは、現在ではかなりわずかです。
オリ

私が得たのは「歴史は馬鹿げている」だけでした。
月きゅうPeblik

34
dpkg -l ubuntu-desktop 

推奨されるデスクトップコンポーネントがインストールされているかどうかがわかります。

uname -a

サーバーまたは汎用カーネルが使用されているかどうかがわかります。

「デスクトップまたはサーバー」はバイナリのものではありません-元々サーバーとしてインストールされていたマシンなどにいくつかのデスクトップコンポーネントをインストールすることは可能です。

「サーバー」または「デスクトップ」の主要な区別として使用するパッケージを決定する必要があります。xserver-xorg一部のサーバーでさえ、パッケージの依存関係やリモートデスクトップをサポートするためにそれを使用する場合がありますが、おそらく良い選択です。


2
dpkg -i ubuntu-desktop あなたが私のために説明することはしません。
8128

2
申し訳ありませんが、私はdpkg -l。(更新)
poolie

2
ubuntu-desktopパッケージなしで、完全に機能するデスクトップを使用することは可能です。これは、コントロールパネル、Debian固有のものなどのサポートアプリケーションの特定の標準セットがデスクトップとともにインストールされるようにするための単なるメタパッケージです。これらのいずれかを削除すると、ubuntu-desktopも効果的に「削除」されますが、デスクトップは引き続き使用できます。代わりにxserver-xorg-coreパッケージを確認することをお勧めします。そのパッケージの存在は、それが使用されていることを保証するものではありませんが、デスクトップ以外のマシンにインストールする正当な理由はありません。
-thomasrutter

はい、デスクトップとサーバーの間に明確な境界線がないという事実は、私のものを含むほとんどの回答で広く議論されてきました。しかしubuntu-desktop、Ubuntuデスクトップを持っているかどうかの妥当なテストです。デスクトップCD / ISOからインストールする場合、このパッケージがあります。
プーリー

15

を入力して確認できますcat /etc/motd。出力はサーバーでは異なり、デスクトップ版では異なります。

デスクトップ:

Ubuntu 10.10

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

サーバ:

Ubuntu 10.10

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

  System information as of Wed Nov 10 20:54:11 UTC 2010

  System load:  0.07               Processes:           78
  Usage of /:   30.4% of 14.76GB   Users logged in:     1
  Memory usage: 38%                IP address for eth0: XXXXXXXX
  Swap usage:   0%

  Graph this data and manage this system at https://landscape.canonical.com/
---------------------------------------------------------------------
At the moment, only the core of the system is installed. To tune the 
system to your needs, you can choose to install one or more          
predefined collections of software by running the following          
command:                                                             

   sudo tasksel --section server  

また、このファイルはsudoで簡単に編集できることにも言及する価値があります。これは、sshを介してログインするときにユーザーに表示されるメッセージであるため、非常に頻繁に行われます。


2
これは主にlandscape-clientインストールされているかどうかを示しています。それはサーバー上でたまたま真実かもしれませんが、サーバーOSを使用しているかどうかとは本質的に関係ありません。
poolie

5

これは最速または最も純粋な通知方法ではないかもしれませんが、実行してください:

dpkg --get-selections | grep linux-image | grep -v deinstall

現在インストールされているlinux-imageパッケージに「server」という単語が含まれている場合、Ubuntuサーバーを実行しています。

たとえば、Ubuntu 10.10デスクトップ用の現在の最新のカーネルパッケージ:

linux-image-2.6.35-22-generic

そしてサーバー:

linux-image-2.6.35-22-server

Ubuntuの異なるバージョン間で同じである必要がある、より汎用的なパッケージlinux-image-genericの場合、Ubuntuデスクトップのデフォルトパッケージlinux-image-serverであり、サーバーエディションのデフォルトです。


4
サーバーでデスクトップカーネルを実行できるのと同じように、デスクトップインストールでサーバーカーネルを実行できます。これは、一気に決定的な答えではありません。
オリ

@オリ:あなたがすでに指摘したように、明確な答えはないようです;)
0xC0000022L 23年

4

この質問に対する明確に定義された、単に言葉で表された答えはありません。

デスクトップ機能をサーバーにロードし、デスクトップから削除することができます。根本的な問題は、パッケージがサーバー機能の一部であり、サポートと更新の追加期間を取得することです。

最良の答え(私見)(2008年から)のLaunchpadの質問に記載されています。

サーバー版とデスクトップ版の違いは何ですか?

https://answers.launchpad.net/ubuntu/+question/40114


Launchpadの質問の結果をここで要約できますか?
ピーターモーテンセン

2

デスクトップ版とサーバー版の間に根本的な違いはないことを覚えておく必要があります。

ただし、ホスティングプロバイダーが必要としないため、スタックの最上位にあるGNOMEなどのすべてのグラフィック要素を取得していない可能性が高くなります。インストールされたパッケージは、それをサーバーにするものです。

インストールされている各パッケージのメンテナンスサイクルを通知するubuntu-maintenance-checkスクリプト(link)に興味があるかもしれません-より長い期間を持っているものはサーバーパッケージです。


どうやら12.04以降、サポートされるすべてのパッケージは、サーバーとデスクトップを区別することなく、同じサポートライフタイム取得します。
プーリー

2

私は大規模なネットワークでディスカバリーを実行していますが、ワークステーションとしてインストールされたLINUXとサーバーとしてインストールされたLINUXを区別しようとしています(それらを別々に処理するため)。

Ubuntuの代わりにUbuntu-Serverを持つ属性またはファイルを期待していました。

/ var / log / installerに興味深いファイルがいくつかあります。

media-infoは、サーバーの場合は「Ubuntu-Server」、デスクトップの場合は「Ubuntu」と表示します。syslogは「cdrom」について同じ情報を表示します

これらは両方とも有用であり、ハードウェア情報と組み合わせて使用​​できます。これにより、少なくとも最初にインストールされたバージョンがわかります。


1

「ほぼ」同じ質問がここで尋ねられています: Ubuntuディストリビューションサーバーまたはデスクトップを知る

デスクトップ版またはサーバー版であるかどうかを確認するためのいくつかの新しいヒントがあるため、ここにも私の回答を掲載したいと思います。

以前の投稿で述べたように、すべてのパッケージをインストールまたは削除できるため、デスクトップ版とサーバー版のどちらを使用するかを判断するのは簡単ではありません。

一貫性のある予測可能な環境にいる場合、デスクトップかサーバーかを判断するのはそれほど難しくないはずです。

私はubuntu-desktop(バニラ)またはubuntuサーバーのみを使用しています。私にとってはdpkg -l ubuntu-desktop、デスクトップかサーバーかを判断するための非常に信頼できる方法です。

リンクされた投稿で述べたように、デスクトップ版とサーバー版のどちらを使用するかを決定するのは簡単ではありません。すべてのパッケージをインストールまたは削除できるからです。

スクリプトに使用する関数は次のとおりです。基本的に、xserver-commonまたはxwaylandがインストールされているかどうかを確認します。それらのいずれかがインストールされている場合、それはデスクトップシステムを意味します。

#!/usr/bin/env bash

check_if_desktop (){
  IS_DESKTOP="false"

  displayManager=(
    'xserver-common' # X Window System (X.Org) infrastructure
    'xwayland' # Xwayland X server
  )
  for i in "${displayManager[@]}"; do
    dpkg-query --show --showformat='${Status}\n' $i 2> /dev/null | grep "install ok installed" &> /dev/null
    if [[ $? -eq 0 ]]; then
      IS_DESKTOP="true"
    fi
  done
}

確認すべき他のいくつかの事項を次に示します。

デフォルトでは、サーバーエディションはクラシックを使用しますが/etc/network/interfaces、デスクトップエディションはNetwork Managerで動作するため、Network Managerがインストールされているかどうかを確認してください

dpkg -l network-manager

または、次のようなメッセージが表示されたら、コマンドnmcli(NMのコマンドラインツール)を実行します。

The program 'nmcli' is currently not installed. You can install it by typing:
sudo apt-get install network-manager

サーバーエディションを使用している可能性が高くなります。ただし、NMで動作するようにサーバーを変更できることに注意してください。


次のコマンドを使用して、デスクトップコンポーネントがインストールされているかどうかを確認します

dpkg -l ubuntu-desktop

サーバーでは、次のようなメッセージが表示されます。

dpkg-query: no packages found matching ubuntu-desktop

デスクトップでは、インストールされているバージョンを示すメッセージが表示されます


通常デスクトップにある他のパッケージを確認します。

dpkg -l unity (gnome, mate and so one) # Desktop environments
dpkg -l compiz (E17, fluxbox and so one) # Window manager
dpkg -l xorg # X window server

または使用:

 dpkg-query --show --showformat='${Status}\n' *packagename* 2> /dev/null | grep "install ok installed"

Xサーバーが実行されているかどうかを確認します。

ps -e | grep X
sudo netstat -lp | grep -i Xorg

デスクトップでのみ使用可能なサービスを確認します。

サービスの確認方法は、Ubuntuのバージョンによって異なります。

sudo service *servicename* status # on SysVinit 
sudo status *servicename* # on Upstart
systemctl status *servicename*.service # on systemd

典型的なサービスは次のとおりです。

  • lightdm
  • x11-common
  • ノームシェル

および特定のデリバティブに関連付けられている他のいくつか


私のアプリケーションはサーバーの配布に依存しています

デスクトップエディションでサーバーアプリケーションを実行しても意味がなくても、アプリケーションのすべての依存関係をデスクトップエディションにインストールして動作させることには問題はありません。

サーバーディストリビューションに依存する理由を詳しく説明してください。


0

上記のソリューションはどれも私にとってはうまくいきませんでした。システムにmotdがない場合や、管理者がmotdを変更した場合などがあります。上記の回答がなぜ「正しい」回答であったのさえわかりません。これが私が使ったものです。

#!/bin/bash
__check_desktop() {
  if [ `(dpkg-query -W -f='${Status}' ubuntu-desktop 2>/dev/null | grep -c "ok installed")` -eq 1 ]; then
    err "Ubuntu Server is required, but it appears that you are running Ubuntu Desktop"
    exit 1
  fi
}

# Now just call the function:
__check_desktop

-fを$ {Status}とともに使用するのは良いことであり、これを使用します。ただし、sh構文および 'err'などの存在しない関数でbashを使用しないでください。
トマーシュ・ネスロヴナル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.