回答:
この答えは、一部の人々が作成しているほどカットしてドライではありません。あなたは行うことができubuntu-standard
、パッケージのインストールやサーバーとしてそれを使用します。ubuntu-minimal
サーバーとして使用できます。あなたは取ることができubuntu-desktop
、それがXを使用しないように、それを破る...あるいはXが投与のために(EWW)のまま。カーネルパッケージを-serverから-genericに-rtなどに変更できます。motdを変更するか、motdが新しいものほど長くないバージョンからアップグレードすることもできます(私のサーバーはどれも出てきませんでした)おそらく、それらが古いLTSからアップグレードされているためでしょう)。
私たち全員が尋ねるべき質問は次のとおりだと思います。なぜ重要なのでしょうか?何を学ぼうとしていますか?あなたにとってどんな違いがありますか?
グラフィカルなものを実行しようとしている場合は、実際に必要なもの(X、x11vncなど)を確認してください。グラフィカルインターフェイスがないことを確認する場合は、同じ操作を行います。
dpkg -l ubuntu-desktop
推奨されるデスクトップコンポーネントがインストールされているかどうかがわかります。
uname -a
サーバーまたは汎用カーネルが使用されているかどうかがわかります。
「デスクトップまたはサーバー」はバイナリのものではありません-元々サーバーとしてインストールされていたマシンなどにいくつかのデスクトップコンポーネントをインストールすることは可能です。
「サーバー」または「デスクトップ」の主要な区別として使用するパッケージを決定する必要があります。xserver-xorg
一部のサーバーでさえ、パッケージの依存関係やリモートデスクトップをサポートするためにそれを使用する場合がありますが、おそらく良い選択です。
dpkg -i ubuntu-desktop
あなたが私のために説明することはしません。
dpkg -l
。(更新)
ubuntu-desktop
、Ubuntuデスクトップを持っているかどうかの妥当なテストです。デスクトップCD / ISOからインストールする場合、このパッケージがあります。
を入力して確認できます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を介してログインするときにユーザーに表示されるメッセージであるため、非常に頻繁に行われます。
landscape-client
インストールされているかどうかを示しています。それはサーバー上でたまたま真実かもしれませんが、サーバーOSを使用しているかどうかとは本質的に関係ありません。
これは最速または最も純粋な通知方法ではないかもしれませんが、実行してください:
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
であり、サーバーエディションのデフォルトです。
この質問に対する明確に定義された、単に言葉で表された答えはありません。
デスクトップ機能をサーバーにロードし、デスクトップから削除することができます。根本的な問題は、パッケージがサーバー機能の一部であり、サポートと更新の追加期間を取得することです。
最良の答え(私見)(2008年から)のLaunchpadの質問に記載されています。
サーバー版とデスクトップ版の違いは何ですか?
私は大規模なネットワークでディスカバリーを実行していますが、ワークステーションとしてインストールされたLINUXとサーバーとしてインストールされたLINUXを区別しようとしています(それらを別々に処理するため)。
Ubuntuの代わりにUbuntu-Serverを持つ属性またはファイルを期待していました。
/ var / log / installerに興味深いファイルがいくつかあります。
media-infoは、サーバーの場合は「Ubuntu-Server」、デスクトップの場合は「Ubuntu」と表示します。syslogは「cdrom」について同じ情報を表示します
これらは両方とも有用であり、ハードウェア情報と組み合わせて使用できます。これにより、少なくとも最初にインストールされたバージョンがわかります。
「ほぼ」同じ質問がここで尋ねられています: 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
典型的なサービスは次のとおりです。
および特定のデリバティブに関連付けられている他のいくつか
私のアプリケーションはサーバーの配布に依存しています
デスクトップエディションでサーバーアプリケーションを実行しても意味がなくても、アプリケーションのすべての依存関係をデスクトップエディションにインストールして動作させることには問題はありません。
サーバーディストリビューションに依存する理由を詳しく説明してください。
上記のソリューションはどれも私にとってはうまくいきませんでした。システムに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