初学者向け：Linuxディストリビューションの基礎知識とRed Hat系・Debian系の特徴を比較してみた

## はじめに
この記事では、Linuxのディストリビューションである「***Red Hat系***」と「***Debian系***」に分類し、それぞれの違いを簡単にまとめます。

:::note warn
***基本的な内容ですが、両者の違いを理解することで、状況に応じて適切なディストリビューションを選べるようになります。***
:::

また、つい忘れがちな部分も多いので、自分用の備忘録として体系的にまとめつつ、***この内容が誰かの技術的な助けになれば幸いです。***

## 書こうと思ったきっかけ
普段の業務では、Red Hat系のLinuxをよく使用していますが、最近Debian系を触る機会がありました。

:::note alert
***しかし、両者のディストリビューションの違いが具体的にどのような点にあるのか、うまく言語化できませんでした。***
:::

***そのため、今回あらためて整理してみることにしました！***

ちなみに、私の自宅環境では以前CentOSを使っていましたが、サポートが終了するとのことで、代わりにAlmaLinuxを採用しています。

https://qiita.com/free-honda/items/835300a0a18b206352cc

一方で、Debian系については最近Ubuntuを導入し、いろいろ試しているところです。

https://qiita.com/free-honda/items/3780d6104d5a9257e8d4

https://qiita.com/free-honda/items/78d22d9d223787908c3b

## そもそも、Linuxのディストリビューションとは？
***Linuxのディストリビューションとは、Linuxカーネルを基盤にさまざまなソフトウェアを組み合わせて構成されたオペレーティングシステムです。***

![スクリーンショット 2025-01-02 18.57.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/a511f358-38cf-83fc-af82-5982b92c7c83.png)
引用画像：https://staff.persol-xtech.co.jp/hatalabo/it_engineer/087.html

:::note warn
***これにより、特定の用途やユーザーに最適化されたパッケージが提供されます。***
:::

その多様性から、Linuxのディストリビューションは個人用途から企業利用、セキュリティ診断、さらにはIoT機器まで、幅広い分野で活用されています。

## Red Hat（RPM）系とDebian系の比較
Linuxのディストリビューションは大きく分けて、Red Hat系（RPM系） と Debian系 に分類されます。

:::note info
***以下では、それぞれの特徴や代表的なディストリビューション、主要なコマンドを紹介します。***
:::

## Red Hat（RPM）系の特徴と概要

### 特徴
- **RPM（Red Hat Package Manager）** を使用したパッケージ管理が特徴。
- 商用利用やエンタープライズ環境向けに設計されたディストリビューションが多い。
- 安定性と長期サポート（LTS）が重視される。

---

### 代表的なディストリビューション

| ディストリビューション            | 特徴                                                                 |
|-----------------------------------|----------------------------------------------------------------------|
| **Red Hat Enterprise Linux (RHEL)** | 商用サポート付きの企業向けディストリビューション。                     |
| **CentOS Stream**                 | RHELのアップストリーム版。開発者向けの選択肢として最適。               |
| **Fedora**                        | 最新技術を試せるRHELの開発版的ディストリビューション。                  |
| **AlmaLinux / Rocky Linux**       | RHEL互換の無料ディストリビューション。商用サポートは不要だが高い互換性を持つ。 |

---

### 主なパッケージ管理コマンド

| コマンド           | 説明                                                    |
|--------------------|---------------------------------------------------------|
| **`rpm`**          | RPMパッケージを直接管理するコマンド。                      |
| - インストール      | `rpm -ivh package.rpm`                                  |
| - アンインストール  | `rpm -e package`                                        |
| - 情報確認          | `rpm -qi package`                                       |
| **`yum`**（旧ツール） | 依存関係を自動解決するパッケージ管理ツール。                |
| - インストール      | `yum install package`                                   |
| - アップデート      | `yum update`                                            |
| **`dnf`**（現行ツール） | `yum`の後継ツール。より高速かつモダンなパッケージ管理を提供。 |
| - インストール      | `dnf install package`                                   |
| - アップデート      | `dnf update`                                            |



## Debian系の特徴と概要

### 特徴
- **APT（Advanced Package Tool）** を使用したパッケージ管理が特徴。
- 幅広いコミュニティサポートがあり、エンタープライズから個人用途まで対応可能。
- 安定性が高く、初心者から上級者まで幅広いユーザーに利用されている。

---

### 代表的なディストリビューション

| ディストリビューション | 特徴                                                                  |
|------------------------|-----------------------------------------------------------------------|
| **Debian**            | 安定性重視で、非常に幅広いパッケージを提供。                          |
| **Ubuntu**            | Debianをベースにした初心者向けディストリビューション。人気が高い。      |
| **Linux Mint**        | Ubuntuベースで、さらに使いやすさを強化したディストリビューション。       |
| **Kali Linux**        | セキュリティ診断やペネトレーションテスト向けツールを多数搭載。         |

---

### 主なパッケージ管理コマンド

| コマンド           | 説明                                                         |
|--------------------|--------------------------------------------------------------|
| **`dpkg`**         | Debianパッケージ（`.deb`）を直接管理するコマンド。             |
| - インストール      | `dpkg -i package.deb`                                       |
| - アンインストール  | `dpkg -r package`                                           |
| - 情報確認          | `dpkg -l`                                                  |
| **`apt`**          | 依存関係を自動解決するパッケージ管理ツール。                   |
| - インストール      | `apt install package`                                       |
| - アップデート      | `apt update && apt upgrade`                                 |
| **`apt-get`**      | `apt`の前身ツール。現在も使用可能で、似た機能を提供。           |
| - インストール      | `apt-get install package`                                   |

## Red Hat系とDebian系のコマンドの違い

***ここでは、両者のディストリビューションにおけるコマンドの違いを簡単にご紹介します。***

| 作業内容                     | Red Hat系（dnf/yum）           | Debian系（apt）        |
|------------------------------|--------------------------------|------------------------|
| パッケージリスト更新         | `dnf update` / `yum update`   | `apt update`          |
| パッケージのインストール     | `dnf install package`         | `apt install package` |
| パッケージの削除             | `dnf remove package`          | `apt remove package`  |
| システム全体のアップデート   | `dnf upgrade` / `yum upgrade` | `apt upgrade`         |
| キャッシュのクリア           | `dnf clean all`               | `apt clean`           |
| パッケージ情報の検索         | `dnf search package`          | `apt search package`  |
| インストール済みパッケージ一覧 | `dnf list installed`          | `dpkg -l`             |

## まとめ

最後までお読みいただき、ありがとうございました。今回は、Linuxの基本的なディストリビューションについて整理しました。

:::note warn
***改めてまとめることで、Red Hat系とDebian系の違いをより深く理解することができました！***
:::

Red Hat系は、商用環境やエンタープライズ向けに最適で、安定性や長期サポートが重視されている点が特徴です。一方で、Debian系はコミュニティによるサポートと柔軟性を重視しており、初心者から上級者まで幅広いユーザーに対応しています。

それぞれの特徴を踏まえ、自分の用途や目的に合ったディストリビューションを選択する際の参考になれば幸いです。

## 参考記事

https://lpi.or.jp/lpic_all/linux/intro/intro02.shtml

https://www.contec.com/jp/support/blog/2023/231019_linux/

https://www.qbook.jp/column/1935.html