目次 1 1. Ubuntu 版本確認是要確認什麼1.1 1.1 Ubuntu 版本確認時應該看哪些資訊1.2 1.2 什麼時候需要確認 Ubuntu 版本1.3 1.3 LTS 與一般發行版的基本概念2 2. 確認 Ubuntu 版本的基本步驟2.1 2.1 用 lsb_release 清楚確認2.2 2.2 用 /etc/os-release 穩定確認2.3 2.3 用 hostnamectl 同時確認 OS 與核心2.4 2.4 用 GUI 設定畫面確認2.5 2.5 想最快確認時的簡易指令3 3. 各種確認方法的差異與用法3.1 3.1 確認方法比較表3.2 3.2 依用途選擇建議指令3.3 3.3 Ubuntu 版本與核心版本的差異4 4. Ubuntu 版本確認的機制4.1 4.1 為什麼 /etc/os-release 常被使用4.2 4.2 代號與 apt 設定相關的原因4.3 4.3 如何閱讀 point release5 5. 常見錯誤與注意事項5.1 5.1 找不到 lsb_release5.2 5.2 誤以為需要 sudo5.3 5.3 在 Docker 或 WSL 中與主機 OS 混淆5.4 5.4 混淆 Release 與 Description5.5 5.5 只用 /etc/issue 判斷6 6. 實務上的使用時機6.1 6.1 用於疑難排解6.2 6.2 用於安裝軟體前6.3 6.3 用於伺服器營運與組態管理6.4 6.4 用於判斷安全性與支援期限7 7. Ubuntu 版本確認 FAQ7.1 7.1 Ubuntu 版本最簡單的確認方法是什麼?7.2 7.2 確認 Ubuntu 版本需要 sudo 嗎?7.3 7.3 無法使用 lsb_release 時該怎麼辦?7.4 7.4 Ubuntu 版本與 Linux 核心版本相同嗎?7.5 7.5 Docker 或 WSL 也能用相同指令確認嗎?7.6 7.6 要在哪裡知道是否為 LTS?7.7 7.7 只用 /etc/issue 確認可以嗎?8 8. 總結1. Ubuntu 版本確認是要確認什麼【結論】 Ubuntu 版本確認,是確認目前使用的 Ubuntu 發行版本號、代號,以及是否為 LTS 的作業。這些資訊會用在判斷軟體是否支援、排除問題,以及確認支援期限。
1.1 Ubuntu 版本確認時應該看哪些資訊【結論】 最先應該看的資訊是「Release」「Codename」「Description」。初學者只要先確認 Release,就能判斷 Ubuntu 22.04 或 24.04 這類主要版本。
【定義】 Ubuntu 的版本號基本上是以「年.月」表示的發行版本號。例如 Ubuntu 24.04 代表 2024 年 4 月公開的版本。
確認 Ubuntu 版本時,主要會查看下列資訊。
Release:Ubuntu 的發行版本號。例如:22.04、24.04Codename:發行版本代號。例如:jammy、nobleDescription:適合人閱讀的顯示名稱。例如:Ubuntu 24.04 LTSLTS:表示是否為長期支援版Kernel:Linux 核心版本,也就是 OS 核心部分的版本號初學者容易混淆的是,Ubuntu 版本與 Linux 核心版本是不同的東西。Ubuntu 24.04 是 OS 的發行版本號,而 uname -r 顯示的是核心版本。
1.2 什麼時候需要確認 Ubuntu 版本【結論】 Ubuntu 版本是判斷某個步驟或指令是否能在該環境使用的前提資訊。處理錯誤或安裝軟體前先確認版本,可以減少不必要的試錯。
常見需要確認 Ubuntu 版本的情境如下。
想確認軟體支援的 OS 時在用 apt 安裝套件前,想確認對應的套件庫時想讓錯誤重現環境一致時想區分 VPS、雲端、Docker、WSL 的環境差異時想確認 Ubuntu 是否仍在支援期限內時想判斷設定步驟是否適合自己的環境時Ubuntu 即使名稱相同,不同發行版的標準套件、核心、systemd、Python、OpenSSL 等版本也會不同。因此,Ubuntu 20.04 的步驟不一定能在 Ubuntu 24.04 原封不動地執行。
1.3 LTS 與一般發行版的基本概念【結論】 正式伺服器或長期使用時,基本上應選擇 LTS。一般發行版可以較早使用新功能,但支援期間較短,不適合長期營運。
【定義】 LTS 是 Long Term Support 的縮寫,意思是長期支援版。Ubuntu 的 LTS 基本上每 2 年在 4 月發布一次。
Ubuntu 發行版大致分為下列 2 種。
種類主要用途標準支援期間參考適合的環境LTS穩定運行5 年正式伺服器、工作用 PC、長期開發環境一般發行版使用新功能9 個月驗證環境、確認最新功能使用 Ubuntu Pro 或 ESM 時,可以延長 LTS 的安全維護期間。不過一般判斷時,先掌握「免費標準提供的 LTS 標準支援為 5 年」最容易理解。若要嚴格確認發行週期與支援期間,請查看英文官方頁面 Ubuntu: The Ubuntu lifecycle and release cadence。
2. 確認 Ubuntu 版本的基本步驟【結論】 若目的是讓人閱讀,基本上使用 lsb_release -a;若用於腳本或自動化,則使用 /etc/os-release。不知道該選哪個時,確認這兩者通常就足夠。
2.1 用 lsb_release 清楚確認【結論】 初學者要確認 Ubuntu 版本時,先執行 lsb_release -a。它的輸出整理得較清楚,容易讀取 Release 與 Codename。
步驟如下。
開啟終端機執行下列指令確認 Release 與 Codenamelsb_release -a輸出範例如下。
Distributor ID: Ubuntu
Description: Ubuntu 24.04.1 LTS
Release: 24.04
Codename: noble各項目的讀法如下。
項目意義查看重點Distributor ID發行版名稱確認是否為 UbuntuDescription顯示用說明查看 LTS 標記與 point releaseRelease主要發行版本號用於判斷支援的 OSCodename代號用於確認 apt 套件庫與設定如果找不到 lsb_release,可能是最小化 Ubuntu 或 Docker 容器省略了相關套件。此時使用下一個 /etc/os-release 會更可靠。
2.2 用 /etc/os-release 穩定確認【結論】 /etc/os-release 是許多 Linux 環境都能使用的 OS 識別檔。它較不依賴外部指令,因此在 Docker、WSL、腳本與自動化中尤其有效。
確認步驟如下。
開啟終端機執行下列指令確認 VERSION_ID、VERSION_CODENAME、PRETTY_NAMEcat /etc/os-release輸出範例如下。
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.1 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu在腳本中使用時,可以像下面這樣讀入值。
. /etc/os-release
echo "$VERSION_ID"
echo "$VERSION_CODENAME"/etc/os-release 的優點是不用額外套件就能讀取。在伺服器管理與 CI/CD 中,以 /etc/os-release 為前提會比 lsb_release 更能抵抗環境差異。
2.3 用 hostnamectl 同時確認 OS 與核心【結論】 伺服器管理時,hostnamectl 很方便。除了 Ubuntu 顯示名稱外,有時也能一起確認核心、架構與虛擬化資訊。
執行的指令如下。
hostnamectl輸出範例如下。
Operating System: Ubuntu 24.04.1 LTS
Kernel: Linux 6.8.0-xx-generic
Architecture: x86-64hostnamectl 是在 systemd 環境中使用的指令。輕量容器或特殊的最小環境可能無法使用。若在 Docker 容器內失敗,請使用 cat /etc/os-release。
2.4 用 GUI 設定畫面確認【結論】 桌面版 Ubuntu 可以從設定畫面確認 OS 名稱與版本。對不熟悉指令操作的人來說,這是很好的入口。
一般確認步驟如下。
開啟「設定」開啟「系統」或「關於此系統」確認 OS 名稱、Ubuntu 版本、GNOME 版本等資訊GUI 易讀,但伺服器、Docker、WSL 可能無法使用。排查問題時若要向他人提供資訊,直接分享 CLI 輸出通常較不容易誤解。
2.5 想最快確認時的簡易指令【結論】 若只是想快速看顯示名稱,也可以用 cat /etc/issue。但它的資訊較少,而且內容可能因環境而被修改。
執行的指令如下。
cat /etc/issue輸出範例如下。
Ubuntu 24.04.1 LTS \n \l/etc/issue 是登入畫面等用途的顯示檔。若要精確判斷或自動化,請優先使用 /etc/os-release。
3. 各種確認方法的差異與用法【結論】 Ubuntu 版本確認方法應依讀者與用途選擇。初學者適合 lsb_release,自動化適合 /etc/os-release,掌握整台伺服器概況則適合 hostnamectl。
3.1 確認方法比較表【結論】 最通用的是 /etc/os-release。最容易閱讀的是 lsb_release -a。
方法資訊量易讀性依賴項主要用途注意事項lsb_release -a多高可能需要套件初學者、手動確認最小環境可能未安裝cat /etc/os-release多中幾乎不需要腳本、Docker、WSL需要理解欄位名稱hostnamectl中中需要 systemd伺服器管理輕量容器可能無法使用cat /etc/issue少高幾乎不需要簡易確認為顯示用途,不適合精確判斷uname -r只有核心中幾乎不需要核心確認無法得知 Ubuntu 發行版本號初學者可先用 lsb_release -a 查看 Ubuntu 發行版本號。自動化或環境差異較大的場合,則使用 /etc/os-release。
3.2 依用途選擇建議指令【結論】 先決定「為了什麼而確認」,就不容易選錯指令。實務上,依目的選擇最少必要指令會更有效率。
依用途的選法如下。
目的建議理由第一次確認lsb_release -a輸出容易閱讀在 Docker 或 WSL 中確認cat /etc/os-release較不依賴額外指令用 Shell 腳本判斷讀入 /etc/os-release容易作為變數處理確認伺服器概要hostnamectl可查看 OS、核心、CPU 類型只確認核心uname -r可得知 Linux 核心版本只想快速看顯示名稱cat /etc/issue可以短時間確認排查問題時要向他人提供環境資訊,可將下列 3 個指令一起執行,較能避免資訊不足。
cat /etc/os-release
uname -r
hostnamectl3.3 Ubuntu 版本與核心版本的差異【結論】 Ubuntu 版本是整個 OS 的發行版本號,核心版本是 Linux 核心部分的版本號。確認軟體支援 OS 時,應先查看 Ubuntu 發行版本號。
差異如下。
確認對象例確認指令用途Ubuntu 版本24.04cat /etc/os-release套件支援、步驟適用性確認代號noblecat /etc/os-releaseapt 套件庫、設定檔確認核心版本6.8.0-xx-genericuname -r驅動程式、虛擬化、硬體支援只看 uname -a 無法精確得知 Ubuntu 22.04 或 24.04。由於核心會更新,同一個 Ubuntu 發行版中的核心版本也可能改變。
4. Ubuntu 版本確認的機制【結論】 Ubuntu 版本資訊會從 OS 識別檔或系統管理指令取得。存在多種方法,是因為人類閱讀、自動化與伺服器管理的目的不同。
4.1 為什麼 /etc/os-release 常被使用【結論】 /etc/os-release 是以易於機器讀取的格式保存 OS 名稱與版本的檔案。在 Linux 環境自動判斷中,使用這個檔案很實務。
/etc/os-release 包含下列項目。
NAME:OS 名稱ID:小寫 OS 識別字VERSION_ID:發行版本號VERSION_CODENAME:代號PRETTY_NAME:適合人閱讀的顯示名稱在腳本中,可以如下判斷是否為 Ubuntu 24.04。
. /etc/os-release
if [ "$ID" = "ubuntu" ] && [ "$VERSION_ID" = "24.04" ]; then
echo "執行 Ubuntu 24.04 的處理"
fi這個方法的優點是,即使環境沒有安裝 lsb_release 指令也容易使用。
4.2 代號與 apt 設定相關的原因【結論】 Ubuntu 代號不只是顯示用名稱。它也會用於 apt 套件庫設定與套件來源識別。
例如 Ubuntu 24.04 的代號是 noble。apt 設定中可能如下包含代號。
deb http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse代號錯誤時,可能會參照到其他版本用的套件。這會造成套件相依性損壞,因此手動編輯套件庫時務必先確認。
4.3 如何閱讀 point release【結論】 Ubuntu 24.04.1 這類末尾數字,表示同一 LTS 系列中的更新版。基本的支援 OS 判斷會把它視為 24.04 系列。
例子如下。
標記意義Ubuntu 24.04 LTS24.04 系列的 LTSUbuntu 24.04.1 LTS24.04 系列第 1 次 point releaseUbuntu 22.04.5 LTS22.04 系列第 5 次 point releasePoint release 可視為整合安裝媒體與已更新套件的版本。許多軟體支援表中,Ubuntu 24.04.1 通常也會依 Ubuntu 24.04 判斷。
5. 常見錯誤與注意事項【結論】 確認 Ubuntu 版本時常見的錯誤,不是指令有沒有,而是「正在看哪個環境」以及「如何解讀輸出」。Docker、WSL、VPS 尤其需要注意。
5.1 找不到 lsb_release【結論】 若顯示 lsb_release: command not found,可能是未安裝 lsb-release 套件。若只是急著確認版本,請使用 cat /etc/os-release。
錯誤範例如下。
lsb_release: command not found處理方法有 2 種。
立即確認:執行 cat /etc/os-release想使用 lsb_release:用 sudo apt install lsb-release 追加安裝只要確認版本,不一定需要勉強追加套件。在輕量容器或最小化伺服器中,避免追加安裝、直接讀取 /etc/os-release 可能更安全。
5.2 誤以為需要 sudo【結論】 確認 Ubuntu 版本通常不需要 sudo。只是讀取 OS 資訊,因此不需要管理員權限。
通常如下執行即可。
lsb_release -a
cat /etc/os-release
hostnamectl需要 sudo 的情況,是安裝 lsb-release 套件等會變更系統的操作。不要無意義地在確認指令前加上 sudo。
5.3 在 Docker 或 WSL 中與主機 OS 混淆【結論】 Docker 或 WSL 中顯示的 Ubuntu 版本,是目前所在 Linux 環境的版本。它與 Windows 或 macOS 等主機 OS 是不同的。
容易混淆的例子如下。
環境指令結果表示的內容WSL 的 Ubuntu 內WSL 發行版側的 UbuntuDocker 容器內容器映像內的 UbuntuVPS 上安裝在 VPS 上的 Ubuntu本機 PC 的 Ubuntu該 PC 上的 Ubuntu即使在 Docker 容器內執行 cat /etc/os-release,也無法得知主機 OS 的版本。排查問題時,請務必記錄指令是在何處執行。
5.4 混淆 Release 與 Description【結論】 判斷支援 OS 時,基本上看 Release 或 VERSION_ID。Description 與 PRETTY_NAME 是適合人閱讀的顯示名稱。
例如可能有下列輸出。
Description: Ubuntu 24.04.1 LTS
Release: 24.04這種情況下,主要發行版本號是 24.04。24.04.1 是包含 point release 的顯示名稱。若軟體支援表寫著「支援 Ubuntu 24.04」,通常 24.04.1 也會視為同一系列。
5.5 只用 /etc/issue 判斷【結論】 /etc/issue 可用於簡易確認,但不適合精確判斷。自動化或營運判斷請使用 /etc/os-release。
/etc/issue 不適合的原因如下。
它是顯示用檔案,內容可能被修改可能無法得知代號或 ID不容易在腳本中穩定處理人只想快速看一眼時很方便,但記錄或自動判斷時不建議使用。
6. 實務上的使用時機【結論】 確認 Ubuntu 版本不只是查看資訊,而是判斷再現性、相容性與安全性的基準。作業前先確認並記錄,可以加快問題處理。
6.1 用於疑難排解【結論】 處理錯誤時,先確認 Ubuntu 版本。即使步驟相同,只要 Ubuntu 發行版或核心不同,結果就可能改變。
發生問題時的最小確認組合如下。
cat /etc/os-release
uname -r
hostnamectl確認後可像下面這樣記錄,會更容易傳達。
OS: Ubuntu 24.04.1 LTS
Codename: noble
Kernel: 6.8.0-xx-generic
Environment: VPS不只留下錯誤內容,也一起留下 OS 版本與執行環境,會更容易確認是否能重現。
6.2 用於安裝軟體前【結論】 安裝軟體前先確認 Ubuntu 支援版本,較容易避免相依性失敗。資料庫、Docker、Node.js、Python、GPU 驅動程式尤其重要。
確認流程如下。
用 cat /etc/os-release 確認 Ubuntu 版本確認是否符合軟體支援的 OS決定使用 apt、snap、官方套件庫或二進位發行檔正式環境優先使用 LTS舊版 Ubuntu 可能沒有新版套件的標準套件庫。相反地,新版 Ubuntu 也可能讓舊步驟中的相依套件名稱改變。
6.3 用於伺服器營運與組態管理【結論】 管理多台伺服器時,統一 Ubuntu 版本能讓營運更穩定。在組態管理與 CI/CD 中,有時會用版本差異做條件分支。
Shell 腳本的條件分支範例如下。
. /etc/os-release
case "$VERSION_ID" in
"22.04")
echo "執行 Ubuntu 22.04 的處理"
;;
"24.04")
echo "執行 Ubuntu 24.04 的處理"
;;
*)
echo "未確認的 Ubuntu 版本: $VERSION_ID"
;;
esac正式伺服器中,若在 README、營運手冊與故障報告中記錄 Ubuntu 版本,之後更容易追查環境差異。
6.4 用於判斷安全性與支援期限【結論】 支援期限已結束的 Ubuntu 可能無法取得安全更新。業務使用或公開伺服器基本上應使用仍在支援期間內的 LTS。
確認後應判斷下列事項。
目前的 Ubuntu 是否為 LTS是否仍在標準支援期間內是否使用 Ubuntu Pro 或 ESM是否需要升級計畫使用的套件屬於 Main 或 Universe支援期間依發行版而異。若要確認精確期限,請在英文官方頁面 Ubuntu: The Ubuntu lifecycle and release cadence 查看目標發行版。
7. Ubuntu 版本確認 FAQ【結論】 Ubuntu 版本確認很簡單,但 Docker、WSL、核心與 LTS 的差異容易造成混淆。先整理常見問題,就能正確使用確認結果。
7.1 Ubuntu 版本最簡單的確認方法是什麼?【結論】 最簡單的方法是 lsb_release -a。Release 會顯示 Ubuntu 發行版本號,Codename 會顯示代號。
lsb_release -a如果沒有 lsb_release,請使用 cat /etc/os-release。
7.2 確認 Ubuntu 版本需要 sudo 嗎?【結論】 不需要 sudo。Ubuntu 版本確認是讀取操作,一般使用者即可執行。
只有在追加 lsb-release 套件等會變更系統的操作時,才需要 sudo。
7.3 無法使用 lsb_release 時該怎麼辦?【結論】 請執行 cat /etc/os-release。它較不依賴額外套件,在 Docker 或最小化 Ubuntu 中也常可使用。
cat /etc/os-release若有需要,也可以之後用 sudo apt install lsb-release 追加 lsb_release。
7.4 Ubuntu 版本與 Linux 核心版本相同嗎?【結論】 不相同。Ubuntu 版本是整個 OS 的發行版本號,Linux 核心版本是 OS 核心部分的版本號。
Ubuntu 發行版本號可用 cat /etc/os-release 確認,核心版本可用 uname -r 確認。
7.5 Docker 或 WSL 也能用相同指令確認嗎?【結論】 基本上可以使用相同指令確認。不過顯示的是目前所在 Linux 環境的 Ubuntu 版本,不是主機 OS 的版本。
請注意,在 Docker 中確認的是容器內的 Ubuntu;在 WSL 中確認的是 WSL 發行版側的 Ubuntu。
7.6 要在哪裡知道是否為 LTS?【結論】 查看 lsb_release -a 的 Description,或 /etc/os-release 的 PRETTY_NAME 是否顯示 LTS。精確支援期限請查看 Ubuntu 英文官方頁面。
例如顯示 Ubuntu 24.04 LTS,就代表它是 24.04 系列的長期支援版。
7.7 只用 /etc/issue 確認可以嗎?【結論】 短暫簡易確認可以,但不適合精確判斷。自動化、故障處理與伺服器營運請使用 /etc/os-release。
/etc/issue 是顯示用檔案,內容可能因環境而被修改。
8. 總結【結論】 確認 Ubuntu 版本時,初學者基本上使用 lsb_release -a,實務或自動化則使用 cat /etc/os-release。伺服器管理時搭配 hostnamectl 與 uname -r,可以正確掌握 OS 與核心資訊。
確認 Ubuntu 版本時應掌握的重點如下。
Ubuntu 主要版本可用 Release 或 VERSION_ID 確認代號在 apt 套件庫與設定確認中很重要沒有 lsb_release 時,使用 /etc/os-releaseDocker 與 WSL 顯示的是目前 Linux 環境,不是主機 OSUbuntu 版本與 Linux 核心版本是不同的正式伺服器與長期使用基本上選擇 LTS支援期限請用官方發行資訊確認不確定時,可先執行下列 3 個最小確認指令。
cat /etc/os-release
uname -r
hostnamectl確認這 3 項後,就能一次掌握 Ubuntu 發行版本號、代號、核心與伺服器概要。