UbuntuとCentOSの違いとは?初心者向けに特徴・コマンド・選び方を解説
結論:UbuntuとCentOSは、どちらもLinuxディストリビューションですが、成り立ちやパッケージ管理、更新方針、向いている用途が異なります。
UbuntuはDebian系のLinuxで、デスクトップ、開発環境、クラウド、サーバーなど幅広い用途に向いています。一方、従来のCentOS LinuxはRHEL(Red Hat Enterprise Linux)との互換性を重視したサーバー向けOSでした。
ただし、CentOS Linux 7は2024年6月30日にサポートを終了しています。現在提供されているのは、将来のRHELに取り込まれる機能を先行して確認できる「CentOS Stream」です。これから業務でOSを選ぶ場合、古いCentOS Linuxと現在のCentOS Streamを同じものとして扱わないことが重要です。0
UbuntuとCentOSはどちらもLinuxの一種
Linuxには、利用目的や管理方法が異なる複数の種類があります。この種類をLinuxディストリビューションと呼びます。
UbuntuとCentOSもLinuxディストリビューションの一つです。Windows 11とWindows Serverのような単純なエディション違いではなく、開発元、使用するコマンド、ソフトウェアの配布方法などが異なります。
- Ubuntu:Debian系のLinuxディストリビューション
- CentOS Linux:RHELとの互換性を重視していた従来のLinuxディストリビューション
- CentOS Stream:次期RHELの開発に近い位置で継続的に更新されるLinuxディストリビューション
Ubuntuとは
Ubuntuは、Canonical(カノニカル)が中心となって開発しているDebian系のLinuxディストリビューションです。
サーバーだけでなく、パソコンで利用するUbuntu Desktopも提供されています。画面操作がしやすく、インターネット上の情報も多いため、Linuxを初めて学ぶ人にも適しています。
Ubuntuの主な特徴
- デスクトップ版とサーバー版がある
- ソフトウェア管理にAPTを使用する
- 設定方法やトラブル事例を検索しやすい
- AWSやMicrosoft Azureなどのクラウド環境で利用される
- LTSという長期サポート版がある
LTSはLong Term Supportの略で、長期間サポートされるバージョンです。UbuntuのLTSは2年ごとに公開され、標準で5年間のセキュリティメンテナンスが提供されます。業務用サーバーでは、安定性とサポート期間を考慮してLTSを選ぶのが一般的です。1
CentOSとは
CentOSは、Community Enterprise Operating Systemに由来する名称です。従来のCentOS Linuxは、商用LinuxであるRHELを基に構築され、RHELに近い操作性を無償で利用できることから、多くの企業サーバーで使われていました。
しかし、CentOSプロジェクトはCentOS LinuxからCentOS Streamへ方針を変更しました。
CentOS LinuxとCentOS Streamの違い
| 項目 | CentOS Linux | CentOS Stream |
|---|---|---|
| 位置付け | 公開済みのRHELを基に構築 | 将来のRHELに近い開発段階 |
| 更新方法 | 安定版を一定の単位で更新 | 継続的に更新 |
| 現在の状況 | サポート終了 | 提供中 |
| 主な用途 | 既存システムで残っている場合がある | RHEL関連の開発・検証・運用 |
CentOS Streamは、FedoraとRHELの中間に位置し、RHELに入る予定の変更を先に確認できる環境です。従来のCentOS Linuxと更新方針が異なるため、既存サーバーをそのまま置き換えられるとは限りません。2
UbuntuとCentOSの主な違い
| 比較項目 | Ubuntu | CentOS Stream |
|---|---|---|
| 系統 | Debian系 | Red Hat系 |
| パッケージ形式 | DEB | RPM |
| パッケージ管理 | apt、dpkg | dnf、rpm |
| 主な設定思想 | Debian系の構成 | RHEL系の構成 |
| デスクトップ利用 | 利用しやすい | サーバー・開発用途が中心 |
| 更新方針 | 通常版とLTS版を提供 | 継続的に更新 |
| 商用製品との関係 | Canonicalがサポートを提供 | 将来のRHELに近い位置付け |
| 初心者の学習 | 始めやすい | RHEL系を学ぶ目的に向く |
コマンドの違い
UbuntuとCentOS Streamでは、基本的なLinuxコマンドの多くが共通しています。
例えば、ファイル一覧を表示する「ls」、現在地を確認する「pwd」、ファイル内容を表示する「cat」などは、どちらでも使用できます。
一方、ソフトウェアのインストールや更新に使用するコマンドは異なります。
ソフトウェア一覧を更新する
Ubuntu:sudo apt update
CentOS Stream:sudo dnf check-update
ソフトウェアをインストールする
Ubuntu:sudo apt install パッケージ名
CentOS Stream:sudo dnf install パッケージ名
インストール済みソフトウェアを更新する
Ubuntu:sudo apt upgrade
CentOS Stream:sudo dnf upgrade
sudoは、管理者権限でコマンドを実行するための仕組みです。本番環境では、内容を理解せずに更新コマンドを実行してはいけません。サービス停止やアプリケーションの不具合につながる可能性があります。
設定ファイルや管理方法の違い
UbuntuとCentOS Streamでは、同じソフトウェアでも設定ファイルの保存場所や初期設定が異なる場合があります。
| 確認項目 | Ubuntuの例 | CentOS Streamの例 |
|---|---|---|
| Webサーバー | apache2 | httpd |
| Apacheの主な設定 | /etc/apache2/ | /etc/httpd/ |
| ファイアウォール | ufwを使う場合がある | firewalldが一般的 |
| セキュリティ機能 | AppArmor | SELinux |
SELinuxはSecurity-Enhanced Linuxの略で、プロセスやファイルへのアクセスを細かく制御するセキュリティ機能です。
AppArmorもアプリケーションの動作範囲を制限する仕組みですが、設定方法はSELinuxと異なります。
IT業務ではどちらが使われるのか
Ubuntuが使われる場面
- Webサーバーやアプリケーションサーバー
- クラウド上の仮想サーバー
- DockerやKubernetesの学習・開発環境
- AI・機械学習の開発環境
- Linuxデスクトップ
CentOS系が使われる場面
- 過去に構築された社内システム
- RHEL系ソフトウェアの検証環境
- RHELへの導入を予定した開発環境
- Red Hat系のコマンドや管理方法を学ぶ環境
現場で「CentOSサーバー」と言われたときは、CentOS Linux 7なのかCentOS Streamなのかを必ず確認してください。両者はサポート状況も更新方針も異なります。
OSの種類とバージョンを確認する方法
CUIで確認する方法
UbuntuとCentOS Streamのどちらでも、次のコマンドを使用できます。
cat /etc/os-release
確認結果には、OS名やバージョンが表示されます。
- 「Ubuntu」と表示された場合:Ubuntu
- 「CentOS Stream」と表示された場合:CentOS Stream
- 「CentOS Linux」と表示された場合:サポート終了済みの可能性が高いため要確認
Linuxカーネルのバージョンは、次のコマンドで確認できます。
uname -r
OSとカーネルは別の情報です。「uname -r」だけではUbuntuかCentOSか判断できないため、最初に「/etc/os-release」を確認しましょう。
GUIで確認する方法
Ubuntu Desktopでは、一般的に次の手順で確認できます。
- 画面右上のシステムメニューを開く
- 「設定」を選択する
- 「システム」を開く
- 「このシステムについて」または「詳細」を確認する
画面構成はUbuntuのバージョンやデスクトップ環境によって異なります。
ターミナルを開くショートカットキー
Ubuntu Desktopでは、一般的にCtrl+Alt+Tでターミナルを起動できます。
SSHでサーバーへ接続している場合は、接続先のターミナル上でコマンドを実行します。
ログの確認方法
UbuntuとCentOS Streamでは、多くのシステムログをjournalctlコマンドで確認できます。
直近のエラーを確認する
journalctl -p err
今回の起動後に記録されたログを確認する
journalctl -b
特定サービスのログを確認する
journalctl -u サービス名
例えば、SSHサービスを確認する場合、Ubuntuでは「ssh」、CentOS Streamでは「sshd」というサービス名が使われることがあります。
Ubuntuの例:systemctl status ssh
CentOS Streamの例:systemctl status sshd
「active (running)」ならサービスは稼働中です。「failed」や「inactive」と表示された場合は、停止理由やログを確認します。
Windowsのイベントビューアーに近い役割を持つのが、Linuxではjournalctlや「/var/log」配下のログです。LinuxにはWindowsのイベントビューアーと同じ画面はありません。
障害発生時に確認する順番
- 影響を受けている利用者やサーバーの範囲を確認する
- 「cat /etc/os-release」でOSとバージョンを確認する
- 直前に更新や設定変更がなかったか確認する
- 対象サービスの状態を「systemctl status」で確認する
- 「journalctl」でエラーを確認する
- IPアドレス、通信経路、DNS名前解決を確認する
- ファイアウォールやアクセス権を確認する
- ディスク容量やメモリ使用量を調べる
ネットワークを確認するコマンド
- IPアドレス:ip addr
- 通信確認:ping 接続先
- DNS確認:dig ドメイン名
- 待ち受けポート:ss -lntp
- 経路確認:ip route
サーバー状態を確認するコマンド
- ディスク容量:df -h
- メモリ容量:free -h
- CPUや負荷:top
- サービス状態:systemctl status サービス名
業務でよくあるトラブル例
aptコマンドが使えない
主な原因:接続先がUbuntuではなく、CentOS StreamなどのRed Hat系OSである可能性があります。
確認方法:「cat /etc/os-release」を実行します。
対応:CentOS Streamであれば、aptではなくdnfを使用します。ただし、本番環境でのインストールは変更申請や管理者の承認を得てから実施してください。
CentOSの更新ができない
主な原因:CentOS Linux 7など、サポートが終了したOSを使用している可能性があります。
対応:一時的に古いリポジトリへ変更して使い続けるのではなく、RHEL、Rocky Linux、AlmaLinux、CentOS Stream、Ubuntuなどへの移行を検討します。
サポート終了OSには通常のセキュリティ更新が提供されません。インターネットへ公開しているサーバーは特に危険なため、発見した時点で上司やシステム管理者へ報告しましょう。
Webサーバーの設定ファイルが見つからない
主な原因:UbuntuとCentOS Streamで、パッケージ名や設定ファイルの場所が異なります。
確認方法:OSの種類、導入されているWebサーバー、起動中のサービスを確認します。
インターネットの記事に書かれたコマンドをそのまま実行せず、対象記事がUbuntu向けなのかCentOS向けなのかを確認してください。
初心者がやりがちなミス
- Ubuntu向けのaptコマンドをCentOS Streamで実行する
- CentOS LinuxとCentOS Streamを同じOSだと思う
- OSのバージョンを確認せず、検索結果の手順を試す
- sudoを付ければ何を実行してもよいと考える
- エラーが出た直後のログを保存せず、すぐ再起動する
- SELinuxやファイアウォールを原因確認なしで無効化する
- 本番サーバーでいきなり全パッケージを更新する
筆者の失敗談
運用業務を始めた頃、Webサーバーの設定変更を依頼され、検索して見つけたUbuntu向けの手順をそのまま実行しようとしたことがあります。
しかし、接続先はCentOS系だったため、「apache2」というサービスが見つかりませんでした。CentOS系ではサービス名が「httpd」で、設定ファイルの場所も異なっていたのが原因です。
それ以降、作業開始時には必ず「cat /etc/os-release」でOSを確認し、サービス名、設定ファイル、パッケージ管理方法を調べてから作業するようにしています。
上司へ報告するポイント
- UbuntuかCentOS系か
- OSの正確なバージョン
- CentOS LinuxかCentOS Streamか
- サポート期限を過ぎていないか
- 障害の発生日時
- 利用者やサービスへの影響範囲
- 直前に行われた更新や設定変更
- 実行したコマンドと表示結果
- 確認したログとエラーメッセージ
「Linuxでエラーが出ています」だけでは情報不足です。「CentOS Linux 7で、Webサービスが停止しており、利用者全員がアクセスできません」のように具体的に報告すると、対応が早くなります。
エスカレーションするタイミング
- サポート終了済みのCentOS Linuxが稼働している
- 本番サービスが停止している
- 複数の利用者やシステムに影響している
- OSやカーネルの更新が必要
- 再起動や設定変更が必要
- 管理者権限が必要
- SELinuxやファイアウォールの変更が必要
- 原因不明の高負荷や不正アクセスが疑われる
UbuntuとCentOS Streamはどちらを選ぶべきか
Ubuntuが向いている場合
- 初めてLinuxを学ぶ
- デスクトップでも使用したい
- クラウドや開発環境を構築したい
- 長期運用向けのLTSを利用したい
- Ubuntu向けに提供されたソフトウェアを使用する
CentOS Streamが向いている場合
- RHEL系の操作や構成を学びたい
- 将来のRHELに入る変更を検証したい
- RHEL関連の開発やコミュニティ活動に参加したい
- 利用製品がCentOS Streamを正式にサポートしている
業務用OSは、使いやすさだけで決めてはいけません。アプリケーションの対応状況、保守期間、社内標準、運用担当者の経験、障害時のサポート体制を確認して選定します。
注意が必要な設定変更
トラブル解決の記事では、「SELinuxを無効にする」「ファイアウォールを停止する」といった手順が紹介されることがあります。
これらの操作はセキュリティを低下させるため、原因を特定せずに実施してはいけません。
確認が必要な場合も、変更前の設定値を記録し、影響範囲、戻し方、作業時間、承認者を明確にします。本番環境では必ず管理者や上司へエスカレーションしてください。
関連するIT用語
- Linuxディストリビューション:Linuxを利用できる形にまとめたOS
- Debian:Ubuntuの基礎となっているLinuxディストリビューション
- RHEL:Red Hatが提供する企業向けLinux
- CentOS Stream:将来のRHELに近い継続更新型のLinux
- RPM:Red Hat系で使用されるパッケージ形式
- DEB:Debian系で使用されるパッケージ形式
- APT:Ubuntuなどで使われるパッケージ管理ツール
- DNF:CentOS StreamやRHELなどで使われるパッケージ管理ツール
- systemd:Linuxのサービスや起動処理を管理する仕組み
よくある質問(FAQ)
UbuntuとCentOSは同じLinuxですか?
どちらもLinuxディストリビューションですが、同じOSではありません。UbuntuはDebian系、CentOS StreamはRed Hat系であり、パッケージ管理や設定方法が異なります。
CentOSは現在も使えますか?
現在はCentOS Streamが提供されています。従来のCentOS Linux 7とCentOS Linux 8はサポートを終了しているため、新規導入には適していません。
CentOS Linux 7を使い続けてもよいですか?
推奨できません。通常のセキュリティ更新が提供されないため、脆弱性が見つかっても修正されない可能性があります。現状を確認し、管理者へ報告したうえで移行計画を作成してください。
Linux初心者にはどちらがおすすめですか?
基本操作を学ぶ目的なら、情報が多くデスクトップ版も使いやすいUbuntuが始めやすいでしょう。RHEL系サーバーを担当する予定がある場合は、CentOS StreamやRHEL系ディストリビューションの学習も必要です。
UbuntuとCentOS Streamで同じコマンドを使えますか?
ls、cd、pwd、cp、systemctlなど、多くの基本コマンドは共通です。ただし、パッケージ管理、ファイアウォール、セキュリティ機能、サービス名、設定ファイルの場所には違いがあります。
まとめ
UbuntuとCentOS Streamは、どちらもLinuxディストリビューションですが、UbuntuはDebian系、CentOS StreamはRed Hat系です。
Ubuntuでは主にaptとDEBパッケージを使用し、CentOS StreamではdnfとRPMパッケージを使います。設定ファイル、サービス名、ファイアウォール、セキュリティ機能にも違いがあります。
特に重要なのは、従来のCentOS Linuxはサポートを終了しており、現在のCentOS Streamとは位置付けが異なるという点です。
IT業務でLinuxサーバーを扱うときは、最初に「cat /etc/os-release」を実行し、OS名とバージョンを正確に確認しましょう。環境を確認してから操作する習慣が、誤操作を防ぎ、現場で評価される確実なトラブル対応につながります。

コメント