以前Ubuntu 8.04の違いについて調べたものをまとめたもの。少し情報が古くなっていますが、根本的なServer版とDesktop版の指向の違いは変わっていません。
追記 :Ubuntu 10.04などの最近の環境では、標準カーネル以外に、4GB以上のメモリを認識できるようPAE機能を有効にしたカーネル linux-image-generic-pae などのパッケージもリリースされています。
□ Ubuntu Server版とDesktop版の違い Ubuntuの主なエディションとして、Desktop版とServer版がある。 参照しているソフトウェアリポジトリは一緒のため、パッケージそのものは 同じものがインストールされるが、デフォルトでインストールされるパッケージの数や種類は異なる。 また、カーネルについては、それぞれの目的に合わせて設定の異なる パッケージがインストールされる。インストーラの見た目にも違いがある。 パッケージに関しては大きく違っているわけではないが、ユーザが 色々なソフトやサービスをGUIで利用する目的で作成されるDesktop版と サーバ向けとしてGUIが不要で、多くの人にサービスを提供するデーモンを 効率よく動作させる目的のServer版とでは、元から指向が異なっている。 □ カーネル設定の違い Desktop版と違いServer版では、カーネル設定は大容量メモリが使用できる ようにPAE機能がONになっていたり、マルチCPUなどの利用を想定して 割り込みタイマの頻度が少なめになっている。 □ インストーラの違い * Desktop版 ユーザがGUIアプリケーション等を利用する目的。 GUIベースのグラフィカルモードでインストールを行う。 Live起動を行い、インストールなしにデスクトップ環境を試すことができる。 GNOMEデスクトップ環境をはじめ、多様なソフトがインストールされる。 インストールは簡単で、インストール時に細かい設定を行わない。 * Server版 サーバとして、複数のユーザに効率的にサービスを提供する目的。 CUIベースのテキストモードでインストールを行う。 サーバ向けに必要最小限のパッケージのみインストールされる。 XサーバやGNOMEデスクトップ環境はインストールされない。 インストールはやや難しいが、インストール時に細かい設定が行える。 参考URL Ubuntu Server: Considering Kernel Configuration http://www.enterprisenetworkingplanet.com/netos/article.php/3710641 Ubuntu Server: Good Concept, Flawed Execution http://www.enterprisenetworkingplanet.com/netos/article.php/3712031 Ubuntu Server Edition http://www.ubuntu.com/products/whatIsubuntu/serveredition Ubuntu Help - Frequently Asked Questions about the Ubuntu Server Edition https://help.ubuntu.com/community/ServerFaq Ubuntu Wiki - ServerGUI https://help.ubuntu.com/community/ServerGUI Maintenance policy and life-cycle :Ubuntu Server Edition http://www.ubuntu.com/products/whatisubuntu/serveredition/benefits/lifecycle
□ Ubuntu 8.04でDesktop版とServer版のカーネルコンフィグ比較 * kernel 2.6.24 genericカーネル(Desktop版)とserverカーネル(Server版)を比較したもの。 ----------------------------------------------------------------- --- /boot/config-2.6.24-24-generic 2009-07-08 08:16:28.000000000 +0900 +++ /boot/config-2.6.24-24-server 2009-07-08 08:20:37.000000000 +0900 -CONFIG_DEFAULT_CFQ=y -CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_DEFAULT_DEADLINE=y +CONFIG_DEFAULT_IOSCHED="deadline" -CONFIG_EDD_OFF=y -CONFIG_HIGHMEM4G=y +CONFIG_HIGHMEM64G=y +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HVC_XEN=y -CONFIG_HZ=250 -CONFIG_HZ_250=y +CONFIG_HZ=100 +CONFIG_HZ_100=y +CONFIG_I2O_EXT_ADAPTEC_DMA64=y +CONFIG_IPV6_MULTIPLE_TABLES=y -CONFIG_LGUEST=m -CONFIG_M586=y +CONFIG_M686=y +CONFIG_NETLABEL=y -CONFIG_PREEMPT_BKL=y +CONFIG_PREEMPT_NONE=y -CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_RESOURCES_64BIT=y -CONFIG_VERSION_SIGNATURE="Ubuntu 2.6.24-24.56-generic" +CONFIG_VERSION_SIGNATURE="Ubuntu 2.6.24-24.56-server" -CONFIG_X86_ALIGNMENT_16=y +CONFIG_X86_CMOV=y -CONFIG_X86_F00F_BUG=y +CONFIG_X86_GOOD_APIC=y +CONFIG_X86_PAE=y +CONFIG_X86_TSC=y +CONFIG_X86_USE_PPRO_CHECKSUM=y +CONFIG_XEN=y +CONFIG_XEN_BLKDEV_FRONTEND=m +CONFIG_XEN_NETDEV_FRONTEND=m ----------------------------------------------------------------- □ カーネルコンフィグの詳細 * I/Oスケジューラ設定の変更 I/Oスケジューラに関しては下記参照。 http://itpro.nikkeibp.co.jp/article/COLUMN/20080613/308032/ -CONFIG_DEFAULT_CFQ=y -CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_DEFAULT_DEADLINE=y +CONFIG_DEFAULT_IOSCHED="deadline" * HIGHMEMによるメモリ設定 -CONFIG_HIGHMEM4G=y +CONFIG_HIGHMEM64G=y * タイマ割り込み頻度の変更 1秒あたりのタイマの頻度(Hz)を表すので、Server版の100は10msecと いう意味となる。割り込みが多すぎてもCPUの負荷が高くなる。 複数CPUなどがあると割り込みが多く発生しすぎるので サーバ環境向けに少なめの100になっている。 -CONFIG_HZ=250 -CONFIG_HZ_250=y +CONFIG_HZ=100 +CONFIG_HZ_100=y * 対応アーキテクチャの変更 686アーキテクチャに合わせて最適化されている。 -CONFIG_M586=y +CONFIG_M686=y このため、CMOV命令をサポートしておらず686アーキテクチャ 互換でないVIA C3の一部のCPU等では正常に動作しない。 http://gotom.jp/~gotom/pub/2003-07-debuan-03summer/debuan-2003-summer.txt * カーネルプリエンプションがOFFに -CONFIG_PREEMPT_BKL=y +CONFIG_PREEMPT_NONE=y -CONFIG_PREEMPT_VOLUNTARY=y * PAE(物理アドレス拡張)モードが有効に PAEモードについては下記参照。 http://en.wikipedia.org/wiki/Physical_Address_Extension これによりアドレスサイズが32bit→36bitとして扱われるので 最大メモリ量が4GB→64GBとなる。 (ただし、チップセット等がサポートするメモリ上限があるので 実際の最大メモリ量はハードウェアによって異なる) また、PAE非対応のPentium-MやATOMの一部などのCPUや VirtualBoxの仮想環境でのデフォルト設定では動作しない。 +CONFIG_X86_PAE=y * Xenが有効に +CONFIG_XEN=y +CONFIG_XEN_BLKDEV_FRONTEND=m +CONFIG_XEN_NETDEV_FRONTEND=m
某所向けのメモ。Ubuntu Serverをベースにして作っているシステムに、Openoffice.orgやらゲームやら余計なソフトをインストールしていなければいいのですけどね。
追記: Server版UbuntuにGUIはお薦めしないというのは、業務で使用するサーバ向けの話であって、絶対ダメだというわけではありません。自宅サーバ程度のものであれば、Ubuntu Desktop版にサーバソフトウェアを入れて動かすのでも良いですし、CUIで管理をほったらかすよりGUIで管理がきちんとされている方がましです。
ただし、LTSリリースのServer版であってもすべてのパッケージが5年サポートされるわけではなく、例えばGNOMEデスクトップ環境などはLTSリリースのUbuntuでも3年しかサポートされていないので、Desktop版と同等のタイミングでアップグレードを行う必要があることに注意してください。基本は、余計なソフトを入れないのが鉄則です。
基本的には下記URL参照 Ubuntu Help - ServerGUI https://help.ubuntu.com/community/ServerGUI#Arguments%20Against%20a%20GUI ---------------------------------------------------------------- Most Ubuntu Server developers do not recommend installing X on a server. There are multiple reasons for not installing a GUI. Some reasons to not install a GUI include: * You'll have more code subject to security vulnerabilities, more packages that need updating, and more server downtime. * X11 and desktop packages are not supported for the full 5 year lifecycle of the LTS server release. * Performance may suffer because resources (memory, hard disk space, CPU, etc.) will be consumed by the GUI. * It is best practice to only install needed software on a production server. * The GUI may include other network services that are inappropriate for a server. (略) So for the most secure server it is best to not install a GUI. ---------------------------------------------------------------- 多くのUbuntu Server開発者はサーバにXサーバをインストールするのを お薦めしません。GUIをインストールしないのは、いくつかの理由が あります。 GUI込みでインストールしない理由: * セキュリティ脆弱性を受けるコードが増え、より多くのパッケージの アップデートが必要になり、サーバのダウンタイムが増えます。 * X11とデスクトップパッケージは、LTS Serverリリースの 全5年のライフサイクルはサポートされていません。 * GUIによってリソース(メモリ/ハードディスク容量/CPU等)が 消費されるため、パフォーマンスが犠牲になる可能性があります。 * 商用サーバでは必要なソフトウェアのみインストールするのが 良い慣習となっています。 * GUIにはサーバにとって適切でないネットワークサービスが 含まれている可能性があります。 そのため、サーバのセキュリティを最大限にするには GUIをインストールしないのが最も良いのです。 ----------------------------------------------------------------