Site logo
Tác giả
  • avatar Nguyễn Đức Xinh
    Name
    Nguyễn Đức Xinh
    Twitter
Ngày xuất bản
Ngày xuất bản

Cách Kiểm Tra Hệ Điều Hành và Phiên Bản Linux - Ubuntu, Amazon Linux

Khi làm việc với các máy chủ Linux, một trong những việc đầu tiên bạn cần làm là xác định hệ điều hành và phiên bản đang chạy. Thông tin này rất quan trọng khi bạn cần cài đặt phần mềm, debug sự cố, hay đảm bảo tính tương thích. Bài viết này sẽ hướng dẫn bạn các lệnh phổ biến nhất để kiểm tra OS và version trên Linux, kèm kết quả thực tế từ Ubuntu 24.04 và Amazon Linux 2023.

Tại Sao Cần Kiểm Tra Hệ Điều Hành Linux?

Trước khi đi vào các lệnh cụ thể, hãy hiểu lý do tại sao việc kiểm tra này lại quan trọng:

  • Cài đặt phần mềm: Các distro khác nhau sử dụng package manager khác nhau (apt cho Debian/Ubuntu, dnf/yum cho RHEL/Amazon Linux).
  • Tương thích script: Một số script chỉ chạy được trên các distro hoặc version cụ thể.
  • Hỗ trợ và bảo mật: Biết version giúp xác định xem OS còn trong thời gian hỗ trợ bảo mật hay không.
  • Troubleshooting: Khi gặp lỗi, thông tin OS giúp bạn tìm đúng giải pháp.
  • Tài liệu hóa hệ thống: Inventory management trong môi trường nhiều server.

Các Lệnh Kiểm Tra Hệ Điều Hành Linux

1. cat /etc/os-release

Đây là lệnh đơn giản và phổ biến nhất. File /etc/os-release là file chuẩn chứa thông tin chi tiết về distro, được hầu hết các distro Linux hiện đại hỗ trợ.

cat /etc/os-release

Kết quả trên Ubuntu 24.04:

PRETTY_NAME="Ubuntu 24.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.4 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo

Kết quả trên Amazon Linux 2023:

NAME="Amazon Linux"
VERSION="2023"
ID="amzn"
ID_LIKE="fedora"
VERSION_ID="2023"
PLATFORM_ID="platform:al2023"
PRETTY_NAME="Amazon Linux 2023.10.20260330"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023"
HOME_URL="https://aws.amazon.com/linux/amazon-linux-2023/"
DOCUMENTATION_URL="https://docs.aws.amazon.com/linux/"
SUPPORT_URL="https://aws.amazon.com/premiumsupport/"
BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023"
VENDOR_NAME="AWS"
VENDOR_URL="https://aws.amazon.com/"
SUPPORT_END="2029-06-30"

Các trường quan trọng cần lưu ý:

Trường Mô tả Ubuntu Amazon Linux
NAME Tên distro Ubuntu Amazon Linux
VERSION Phiên bản đầy đủ 24.04.4 LTS 2023
VERSION_ID ID phiên bản 24.04 2023
PRETTY_NAME Tên hiển thị Ubuntu 24.04.4 LTS Amazon Linux 2023.10.20260330
ID ID định danh ubuntu amzn
ID_LIKE Distro gốc debian fedora

Trường ID_LIKE rất hữu ích khi viết script tự động: nếu ID_LIKE=debian thì dùng apt, nếu ID_LIKE=fedora thì dùng dnf.

2. hostnamectl

Lệnh hostnamectl cung cấp thông tin tổng hợp về hostname, hệ điều hành, kernel, và phần cứng. Đây là lệnh thuộc systemd, có sẵn trên hầu hết các distro hiện đại.

hostnamectl

Kết quả trên Ubuntu 24.04 (EC2):

 Static hostname: ip-172-31-6-31
       Icon name: computer-vm
         Chassis: vm 🖴
      Machine ID: ec2a0a4efd8e054ac0ce640a20f2d5ef
         Boot ID: f89c5b5145cd4bbdbab807568343ab3f
  Virtualization: xen
Operating System: Ubuntu 24.04.4 LTS
          Kernel: Linux 6.17.0-1007-aws
    Architecture: x86-64
 Hardware Vendor: Xen
  Hardware Model: HVM domU
Firmware Version: 4.11.amazon
   Firmware Date: Thu 2006-08-24
    Firmware Age: 19y 7month 2w

Kết quả trên Amazon Linux 2023 (EC2):

 Static hostname: ip-172-31-3-130.ap-southeast-2.compute.internal
       Icon name: computer-vm
         Chassis: vm 🖴
      Machine ID: ec2e75e7a827cb0d4a6c322b72c1623c
         Boot ID: 2d38d00c93da41d782be34bb62f0f8e1
  Virtualization: xen
Operating System: Amazon Linux 2023.10.20260330
     CPE OS Name: cpe:2.3:o:amazon:amazon_linux:2023
          Kernel: Linux 6.1.166-197.305.amzn2023.x86_64
    Architecture: x86-64
 Hardware Vendor: Xen
  Hardware Model: HVM domU
Firmware Version: 4.11.amazon

hostnamectl đặc biệt hữu ích khi bạn cần biết:

  • Virtualization: Server có đang chạy trong môi trường ảo hóa không (xen, kvm, docker,...)
  • Kernel: Phiên bản kernel Linux đang dùng
  • Architecture: Kiến trúc CPU (x86-64, aarch64,...)

3. lsb_release -a

lsb_release là công cụ từ Linux Standard Base, cung cấp thông tin về distro theo định dạng chuẩn LSB. Lệnh này phổ biến trên các distro dựa trên Debian/Ubuntu.

lsb_release -a

Kết quả trên Ubuntu 24.04:

No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 24.04.4 LTS
Release:	24.04
Codename:	noble

Trên Amazon Linux 2023:

$ lsb_release -a
-bash: lsb_release: command not found

Lưu ý quan trọng: lsb_release không được cài sẵn trên Amazon Linux 2023 và nhiều distro RHEL-based. Đây là lý do tại sao bạn không nên chỉ dựa vào lệnh này khi viết script cross-platform.

Nếu cần, bạn có thể cài đặt trên Ubuntu:

sudo apt install lsb-release

Hoặc trên Amazon Linux / RHEL-based:

sudo dnf install redhat-lsb-core

4. uname -a

uname in thông tin về kernel và hệ thống. Đây là lệnh có mặt trên hầu hết mọi hệ thống Unix/Linux.

uname -a

Kết quả trên Ubuntu 24.04 (EC2):

Linux ip-172-31-6-31 6.17.0-1007-aws #7~24.04.1-Ubuntu SMP Thu Jan 22 21:04:49 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux

Kết quả trên Amazon Linux 2023 (EC2):

Linux ip-172-31-3-130.ap-southeast-2.compute.internal 6.1.166-197.305.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Mar 23 09:53:26 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux

Giải thích output của uname -a:

Output của uname -a gồm nhiều trường, đọc từ trái sang phải:

Vị trí Ý nghĩa Ubuntu Amazon Linux
1 Tên kernel Linux Linux
2 Hostname ip-172-31-6-31 ip-172-31-3-130...
3 Kernel release 6.17.0-1007-aws 6.1.166-197.305.amzn2023.x86_64
4 Kernel version #7~24.04.1-Ubuntu SMP... #1 SMP PREEMPT_DYNAMIC...
5 Machine type x86_64 x86_64
6 Processor type x86_64 x86_64
7 Hardware platform x86_64 x86_64
8 OS GNU/Linux GNU/Linux

Các option hữu ích của uname:

uname -s   # Tên kernel: Linux
uname -n   # Hostname
uname -r   # Kernel release (version)
uname -m   # Machine hardware (x86_64, aarch64,...)
uname -p   # Processor type
uname -o   # OS: GNU/Linux

5. Các lệnh bổ sung

cat /etc/issue

cat /etc/issue

Thường dùng để hiển thị thông tin OS trên màn hình login. Ví dụ trên Ubuntu:

Ubuntu 24.04.4 LTS \n \l

cat /proc/version

cat /proc/version

File này trong /proc filesystem cung cấp thông tin kernel trực tiếp từ hệ thống:

# Ubuntu
Linux version 6.17.0-1007-aws (buildd@lcy02-amd64-034) (x86_64-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0, GNU ld (GNU Binutils for Ubuntu) 2.42) #7~24.04.1-Ubuntu SMP Thu Jan 22 21:04:49 UTC 2026

# Amazon Linux 2023
Linux version 6.1.166-197.305.amzn2023.x86_64 (mockbuild@ip-10-70-1-141.ap-southeast-2.compute.internal) (gcc (GCC) 11.4.1 20230605 (Red Hat 11.4.1-2), GNU ld version 2.39-6.amzn2023.0.2) #1 SMP PREEMPT_DYNAMIC Mon Mar 23 09:53:26 UTC 2026

So Sánh Các Lệnh Kiểm Tra OS Linux

Lệnh Ubuntu Amazon Linux Thông tin cung cấp Độ chi tiết
cat /etc/os-release Distro, version, URLs Cao
hostnamectl OS, kernel, hardware, virtualization Cao
lsb_release -a ❌ (cần cài) Distro, release, codename Trung bình
uname -a Kernel, hostname, architecture Kernel chủ yếu
cat /etc/issue OS name (ngắn) Thấp
cat /proc/version Kernel version chi tiết Trung bình

Điểm Khác Biệt: Ubuntu vs Amazon Linux 2023

Nhìn vào kết quả thực tế, ta thấy một số điểm khác biệt quan trọng:

Về distro family

# Ubuntu
ID=ubuntu
ID_LIKE=debian        # Thuộc họ Debian

# Amazon Linux 2023
ID="amzn"
ID_LIKE="fedora"      # Thuộc họ Fedora/RHEL

Điều này ảnh hưởng trực tiếp đến package manager bạn cần dùng:

  • Ubuntu: apt install <package>
  • Amazon Linux 2023: dnf install <package>

Về kernel version

# Ubuntu 24.04 trên EC2
Kernel: Linux 6.17.0-1007-aws

# Amazon Linux 2023 trên EC2
Kernel: Linux 6.1.166-197.305.amzn2023.x86_64

Amazon Linux 2023 sử dụng kernel LTS (6.1.x) trong khi Ubuntu 24.04 có thể dùng kernel mới hơn (6.17.x). Cả hai đều là kernel AWS-optimized.

Về lsb_release

Ubuntu cài sẵn lsb_release, còn Amazon Linux 2023 thì không — phải cài thêm nếu cần.

Về hostname format trên EC2

# Ubuntu EC2: dạng ngắn
ip-172-31-6-31

# Amazon Linux 2023 EC2: dạng FQDN
ip-172-31-3-130.ap-southeast-2.compute.internal

Amazon Linux 2023 mặc định đặt FQDN (Fully Qualified Domain Name) làm hostname, bao gồm cả region.

Viết Script Tự Động Detect OS

Khi viết bash script cần chạy trên nhiều distro, bạn có thể dùng /etc/os-release để detect và xử lý tương ứng:

#!/bin/bash

# Đọc thông tin OS từ /etc/os-release
if [ -f /etc/os-release ]; then
    . /etc/os-release
    OS=$NAME
    VERSION=$VERSION_ID
    ID_LIKE_VAL=${ID_LIKE:-$ID}  # Dùng ID nếu ID_LIKE không có
else
    echo "Không tìm thấy /etc/os-release"
    exit 1
fi

echo "Hệ điều hành: $OS"
echo "Phiên bản: $VERSION"

# Detect package manager dựa trên họ distro
if echo "$ID_LIKE_VAL" | grep -q "debian"; then
    PKG_MANAGER="apt"
    echo "Package manager: apt (Debian-based)"
elif echo "$ID_LIKE_VAL" | grep -qE "fedora|rhel|amzn"; then
    PKG_MANAGER="dnf"
    echo "Package manager: dnf (RHEL-based)"
else
    echo "Không xác định được package manager"
    exit 1
fi

# Ví dụ cài đặt package
# $PKG_MANAGER install -y <package-name>

Kết quả khi chạy trên Ubuntu 24.04:

Hệ điều hành: Ubuntu
Phiên bản: 24.04
Package manager: apt (Debian-based)

Kết quả khi chạy trên Amazon Linux 2023:

Hệ điều hành: Amazon Linux
Phiên bản: 2023
Package manager: dnf (RHEL-based)

Kiểm Tra Nhanh Trong Môi Trường AWS EC2

Nếu bạn đang làm việc với EC2, đây là cách nhanh để nhận diện distro:

# Cách 1: Kiểm tra file đặc trưng
ls /etc/debian_version 2>/dev/null && echo "Debian/Ubuntu" || echo "Không phải Debian"
ls /etc/redhat-release 2>/dev/null && echo "RHEL/Amazon Linux" || echo "Không phải RHEL"

# Cách 2: Dùng os-release (khuyến nghị)
grep -E "^(NAME|VERSION_ID|ID)=" /etc/os-release

# Cách 3: Kiểm tra package manager nào có sẵn
command -v apt &>/dev/null && echo "apt available (Ubuntu/Debian)"
command -v dnf &>/dev/null && echo "dnf available (Amazon Linux/RHEL/Fedora)"
command -v yum &>/dev/null && echo "yum available (older RHEL/CentOS)"

Tóm Tắt: Lệnh Nào Nên Dùng?

Tùy vào mục đích, đây là gợi ý:

Mục đích Lệnh khuyến nghị
Xem nhanh tên và version OS cat /etc/os-release
Xem thông tin đầy đủ (OS + kernel + hardware) hostnamectl
Chỉ cần kernel version uname -r
Script tự động cross-platform Parse /etc/os-release
Ubuntu/Debian cụ thể lsb_release -a
Xem OS build date cat /proc/version

Lệnh toàn diện nhất để bắt đầu:

cat /etc/os-release && echo "---" && uname -r

Output sẽ cho bạn biết đầy đủ distro, version, và kernel chỉ trong một lần chạy.

Kết Luận

Việc kiểm tra hệ điều hành và phiên bản Linux là kỹ năng cơ bản nhưng không thể thiếu đối với bất kỳ developer hay sysadmin nào. Trong số các lệnh đã trình bày:

  • cat /etc/os-release là lệnh đáng tin cậy nhất, hoạt động trên mọi distro hiện đại.
  • hostnamectl cung cấp thông tin toàn diện nhất bao gồm cả virtualization.
  • uname -a tập trung vào kernel và luôn có mặt trên mọi hệ thống Linux.
  • lsb_release tiện lợi trên Ubuntu nhưng không phải lúc nào cũng có sẵn.

Khi làm việc với môi trường cloud như AWS EC2, bạn sẽ gặp cả Ubuntu lẫn Amazon Linux 2023. Hiểu sự khác biệt giữa hai distro này — đặc biệt về họ distro (debian vs fedora) và package manager (apt vs dnf) — sẽ giúp bạn làm việc hiệu quả hơn và tránh được các lỗi không đáng có.