UbuntuではなくUbuntuServerを選ぶ理由
はじめに
Linuxディストリビューションの代表格であるUbuntu。
多くの人が「Ubuntu」と聞くと、グラフィカルでデスクトップ画面を思い浮かべるでしょう。
しかし、Ubuntuには「Ubuntu Server」という超超超おすすめのUbuntuが存在します。
一般的にUbuntuを使うというと、Desktop版が出てくると思います。GUI操作のものです。
しかし、もし目的がWebサーバーの構築、開発環境の運用、あるいは自宅サーバーの立ち上げならば、あえてGUIを捨てて、Ubuntu Serverを選ぶことが、メリットしかないと断言します。
CLIは操作がしづらい、黒い画面が嫌いという方は多いのは重々承知です。
しかし、そこであえてUbuntuServerを選択して、慣れていくことをおすすめします。
以下の内容では、なぜデスクトップ版ではなくサーバー版を選ぶべきなのか、その具体的な理由をリソース効率やユースケースを交えながら解説していきます。
Desktop版とServer版、それぞれのメリット・デメリット
最大の違いはGUI(グラフィカル・ユーザー・インターフェース)の有無です。
この一点が、両者のメリットデメリットをはっきりとさせています。
項目 | Ubuntu Desktop (24.04 LTS) | Ubuntu Server (24.04 LTS) |
---|---|---|
GUI | あり (GNOME) | なし (CUIのみ) |
主な用途 | 一般的なPC利用、開発 | サーバー用途(Web、DB、ファイル等) |
CPU | 2 GHz デュアルコア以上 | 1 GHz シングルコア以上 |
メモリ | 4 GB 以上 | 1 GB 以上 |
ディスク容量 | 25 GB 以上の空き容量 | 2.5 GB 以上の空き容量 |
Ubuntu Serverのメリット:徹底したリソース効率
上記の表を見れば一目瞭然です。Ubuntu Serverを選ぶ最大のメリットは、その圧倒的な軽量さにあります。
-
メモリ消費量: GUIを持つDesktop版は、起動しているだけで数GBのメモリを消費します。一方、Server版のアイドル時のメモリ消費量は、数百MB程度に収まります。単純計算で3GB以上のメモリをアプリケーションのためだけに残せることになります。これは、メモリが限られる仮想環境や古いPCでサーバーを建てる際に絶大な効果を発揮します。
-
ディスク使用量: インストールに必要な容量も、Desktop版の10分の1です。サーバーは安定稼働が求められるため、OS自体がシンプルであることは、管理やセキュリティの観点からも有利に働きます。
-
CPU負荷: バックグラウンドでGUI関連のプロセスが一切動かないため、CPUリソースを純粋にサーバーアプリケーションの処理に集中させることができます。
Desktop版のメリットと、サーバー用途でのデメリット
もちろん、Desktop版にはGUIによる直感的な操作性という大きなメリットがあります。しかし、サーバーとして使う場合、これはデメリットに転じます。
サーバーは一度設定してしまえば、直接画面を操作する機会はほとんどありません。多くの場合、SSH経由でリモートからCUIで操作します。GUIは、その「ほとんどない機会」のために、24時間365日、貴重なリソースを消費し続ける「重り」でしかないのです。
「GUIならWindowsでいいのでは?」と私は思います
「GUIで操作したいなら、大抵のPCにすでに積まれているWindowsを使えばいいのでは?」と思います。特にゲームやOfficeソフトの利用が前提なら、Windowsが最適解でしょう。
(Ubuntuを入れたいという人がUbuntuでゲームをしたいとは思わないと思いますが...)
今時5,6万円を出せば快適なwindows搭載のPCは買えます。
逆に中古で数千円の中古PCにとってUbuntu(GUI)は少し重荷ではないでしょうか?
であれば数千円の中古PCにUbuntuServerを入れて楽しく遊びましょう。
ですが、Ubuntu(GUI)を選ぶ理由に、開発が関わってくると話が変わります。
多くの開発ツールやサーバーソフトウェアはLinuxネイティブです。Windows上で開発する場合、WSL2を使うのが一般的ですが、これは結局のところWindows上でLinux環境を動かしているに過ぎません。
windowsでもサーバ開発はできるが、Ubuntu(GUI)の方がまだ開発には適しているということです。
しかしサーバを建てるのに関してもUbuntu(GUI)はオーバースペックすぎます。
「GUIが必要な日常作業」と「リソースを集中させたいサーバー機能」を分離するのです。
- メインPC (Windows/Mac/Ubuntu Desktop): 快適なGUIでVS Codeを操作し、ブラウザで情報を収集する。
- サーバー (Ubuntu Server): 最小限のリソースでDockerコンテナやWebサーバーを稼働させる。メインPCからはSSHで接続し、VS CodeのRemote - SSH機能を使えば、まるでローカル環境のように操作できます。
この構成なら、GUIの快適さとサーバーの軽快さ、両方のメリットを享受できます。GUIのためにサーバー自体のリソースを無駄にする必要はありません。
Ubuntu Serverでできること
では、具体的にUbuntu Serverで何ができるのでしょうか?ほんの一例ですが、その可能性は無限大です。
-
Webサーバー構築 (LAMP/LEMP)
Apache/Nginx, MySQL/PostgreSQL, PHP/Pythonなどをインストールし、WordPressブログや自作のWebアプリケーションを公開する。 -
ファイルサーバー / NAS
Sambaを導入して、WindowsやMacからアクセスできるネットワーク上の共有ストレージを構築する。家族の写真や動画、仕事のファイルを一元管理できます。 -
メディアサーバー
PlexやJellyfinをインストールし、保存している動画や音楽を、家のテレビやスマホからストリーミング再生できるようにする。 -
開発・テスト環境
DockerやGitLabを動かし、チームや個人のためのCI/CD環境やリポジトリサーバーを構築する。 -
ホームオートメーション
Home Assistantを導入し、スマート家電やセンサーを連携させるハブとして利用する。
これらはすべて、GUIがないUbuntu Server上で、CUIによる設定と安定した稼働が可能です。
まとめ
もし「Ubuntuのダウンロードページ行ったけどUbuntuServerってのがあった。これなに?」という人や、「古いPCを使ってServerを作りたい」という人はUbuntuServerを使ってみてください。
- GUIというオーバーススペックを捨て、リソースを100%アプリケーションに注力できる
- インストール容量はDesktop版の1/10、メモリは数GB節約可能
- サーバーの標準であるCUI操作のスキルが身につく
- メインPCと役割を分離することで、快適な開発環境が手に入る
最初はCUIの黒い画面に鳥肌が立つかもしれません。しかし、慣れた先にはサーバに対する理解が深まって楽しくてしょうがなくなります。
次にUbuntuをインストールする機会があれば、ぜひ「Server」を選んでみてください。きっと、その軽快さとパワフルさに驚くはずです。
余談ですが、複数PCを起動するならProxmoxからUbuntuを起動することをおすすめします。
かなり楽しいですよ!
Discussion