Learning Objectives
- 說明發行版本是什麼:核心加上應用程式、安裝程式、套件管理與文件
- 比較 Debian/Ubuntu 與 Red Hat 兩大家族的產品、套件格式(.deb/.rpm)與套件管理工具
- 看懂 Ubuntu、Debian、Fedora、RHEL 的版本命名方式,了解 LTS 與支援年限
- 說明 FreeBSD 和 Linux 的差別,以及 CentOS Linux 停止維護之後的替代選擇
發行版本:一應俱全的 Linux
上一課說過,Linux 嚴格來說只是核心。要變成一套可以安裝、可以每天使用的系統,還需要很多東西。 一個典型的發行版本(distribution,常簡稱 distro)包含:
- Linux 核心,以及 Shell、指令工具、函式庫等基本軟體
- 安裝程式,以及安裝時的各種選項(語言、磁碟分割、使用者帳號)
- 套件管理工具與套件倉庫:用一個指令就能下載、安裝、更新軟體
- 桌面環境(桌面版才有)、技術文件、安全性更新
目前有上百個發行版本,有些是給特殊用途的,例如高效能運算(HPC)叢集、資安檢測、路由器。 它們大多可以歸到幾個家族裡,同一個家族的套件格式與管理指令相同,學會一個,換到同家族的另一個也很快上手。
兩大家族:Debian/Ubuntu 與 Red Hat
| Debian 家族 | Red Hat 家族 | |
|---|---|---|
| 代表 | Debian、Ubuntu、Linux Mint | Red Hat Enterprise Linux(RHEL)、Fedora、CentOS Stream、Rocky Linux、AlmaLinux |
| 套件格式 | .deb |
.rpm |
| 低階工具 | dpkg |
rpm |
| 套件管理指令 | apt |
dnf(舊版用 yum) |
| 商業支援 | Canonical 提供 Ubuntu 的付費支援 | Red Hat 提供 RHEL 的付費訂閱與支援 |
Debian/Ubuntu
- Debian:由全球志工社群維護,以穩定著稱,也是 Ubuntu 的上游。
- Ubuntu:由 Canonical 公司以 Debian 為基礎開發。產品線包含 Ubuntu Server(伺服器)、Ubuntu Desktop(桌面)、雲端映像檔,以及物聯網用的版本。
- Ubuntu Flavours:換上不同桌面環境的官方衍生版本,例如 Kubuntu、Xubuntu、Lubuntu、Ubuntu MATE。
- Debian 與 Ubuntu 都用
.deb,但兩邊的套件倉庫不同,套件並非完全相容,不要把 Debian 的套件直接裝到 Ubuntu 上。
Red Hat 家族
- RHEL:Red Hat 的商業發行版本,以訂閱方式提供更新與技術支援,常見於企業伺服器。
- Fedora:社群版本,採用較新的軟體,新功能多半先在 Fedora 試行,再進入 RHEL;也有伺服器版與 IoT 版。
- CentOS:過去的 CentOS Linux 是 RHEL 的免費重建版,很多學校與公司拿它架伺服器(投影片的範例也是)。 CentOS Linux 8 在 2021 年 12 月 31 日、CentOS Linux 7 在 2024 年 6 月 30 日停止維護,之後專案改為 CentOS Stream: 它位在 RHEL 的上游,是 RHEL 下一個小版本的開發預覽,不再是 RHEL 的一比一重建。
- Rocky Linux、AlmaLinux:社群在 CentOS Linux 停止維護後推出的 RHEL 相容重建版本,是許多原本使用 CentOS 的單位改用的選擇。
- RHEL 與 CentOS 都可以從 Fedora 社群的 EPEL(Extra Packages for Enterprise Linux)倉庫安裝額外的套件。
從輸出讀出線索
| 指令 | 看到的線索 |
|---|---|
grep ID /etc/os-release |
ID=ubuntu、ID_LIKE=debian:這是 Ubuntu,屬於 Debian 家族 |
lsb_release -a |
Release: 24.04、Codename: noble:24.04 版,代號 Noble Numbat |
dnf install hello |
Command 'dnf' not found:Ubuntu 預設沒有安裝 Red Hat 家族的 dnf,管理套件用的是 apt |
dpkg -l nano |
開頭的 ii 代表已安裝;這是用 dpkg 管理的 .deb 套件 |
apt-cache policy nano |
顯示已安裝的版本與倉庫位址 http://archive.ubuntu.com/ubuntu noble/… |
Ubuntu 24.04 把套件倉庫的設定放在 /etc/apt/sources.list.d/ubuntu.sources(新的 deb822 格式),
舊的 /etc/apt/sources.list 只剩一行註解說明檔案搬到哪裡。第 05 課會實際用 apt update 更新倉庫清單,第 19 課再完整介紹 APT。
版本命名與支援年限
Ubuntu:年份.月份,加上 LTS
Ubuntu 的版本號是發布的西元年後兩碼.月份:24.04 是 2024 年 4 月發布。每個版本另有一個「形容詞+動物」的代號,
24.04 是 Noble Numbat(noble),26.04 是 Resolute Raccoon。
- 每 6 個月發布一個新版本(4 月與 10 月)
- 每兩年的 4 月(偶數年)發布一個 LTS(Long Term Support,長期支援)版本,提供 5 年的標準安全性更新
- 訂閱 Ubuntu Pro 可以把 LTS 的安全性維護延長到共 10 年(個人使用有免費方案)
- 不是 LTS 的過渡版本只支援 9 個月,適合想嘗鮮的人,不適合正式伺服器
| 版本 | 發布 | 標準支援到 |
|---|---|---|
| 22.04 LTS | 2022 年 4 月 | 2027 年 5 月 |
| 24.04 LTS | 2024 年 4 月 | 2029 年 5 月 |
| 26.04 LTS | 2026 年 4 月 | 2031 年 5 月 |
Debian:主版本.小版本,加上玩具總動員的代號
Debian 12.5 的 12 是主版本、5 是累積修正的小版本。代號取自電影《玩具總動員》的角色:Debian 12 是 bookworm、Debian 13 是 trixie(2025 年 8 月 9 日發布)。
每個穩定版本約有 3 年的完整支援,之後由 LTS 團隊接手,合計約 5 年。
Red Hat 家族
| 發行版本 | 命名 | 例子 | 支援 |
|---|---|---|---|
| RHEL | 主版本.小版本 | RHEL 10.0(2025 年發布) | 每個主版本 10 年(完整支援加維護支援),可付費再延長 |
| Fedora | 只有主版本號 | Fedora 44 | 約每 6 個月一版,每版約支援 13 個月 |
支援年限會隨官方政策調整。要在正式環境部署時,以各發行版本官方網站的生命週期頁面為準。
想一想:家族與套件
/etc/os-release 裡有 ID_LIKE=debian,這台電腦最可能用哪個指令安裝軟體?
關於 CentOS,下列何者正確?
Debian 與 Ubuntu 都使用 .deb 套件,下列說法何者正確?
FreeBSD:不是 Linux 的類 Unix 系統
投影片把 FreeBSD 放在一起介紹,因為它常和 Linux 出現在同樣的場合(伺服器、網路設備、儲存系統)。但它不是 Linux 發行版本:
| Linux 發行版本 | FreeBSD | |
|---|---|---|
| 來源 | Linux 核心(1991)+ GNU 等工具 | 源自加州大學柏克萊分校的 BSD Unix,1993 年 11 月首次發布 |
| 開發方式 | 核心與工具由不同專案開發,由發行版本組合 | 核心、驅動程式、基本指令與文件由同一個專案一起維護 |
| 授權 | 核心是 GPL v2 | BSD 授權:寬鬆授權,衍生產品可以不公開原始碼 |
| 強項 | 硬體支援廣、軟體多 | 網路與儲存功能(例如 ZFS)表現好;硬體支援較少 |
因為授權寬鬆,很多商業產品以 FreeBSD 為基礎開發。FreeBSD 的版本寫成 主版本.小版本-標籤,常見的標籤:
| 標籤 | 意思 |
|---|---|
| RELEASE | 正式發布的版本 |
| STABLE | 以穩定與安全更新為優先的開發分支,下一個 RELEASE 從這裡產生 |
| CURRENT | 最新的開發分支,新功能先進到這裡 |
| ALPHA、BETA、RC | 發布前的測試版本 |
想一想:版本與支援
Ubuntu 26.04 LTS 的 26.04 代表什麼?
要架一台預計使用好幾年的伺服器,選哪個 Ubuntu 版本比較合適?
關於 FreeBSD,下列何者正確?
重點精華回顧
- 發行版本=Linux 核心+基本工具+安裝程式+套件管理與倉庫+文件(桌面版另有桌面環境)。
- Debian 家族(Debian、Ubuntu):
.deb、dpkg、apt;Red Hat 家族(RHEL、Fedora、CentOS Stream、Rocky、Alma):.rpm、rpm、dnf。 cat /etc/os-release的ID、ID_LIKE看出發行版本與家族;lsb_release -a看版本與代號。- Ubuntu 版本號=年份.月份;LTS 每兩年 4 月發布,標準支援 5 年,過渡版本 9 個月。
- CentOS Linux 已停止維護(8:2021 年底;7:2024 年 6 月),改為 RHEL 上游的 CentOS Stream。
- FreeBSD 不是 Linux:源自 BSD Unix、採寬鬆的 BSD 授權。
- 支援年限以官方生命週期頁面為準。