- Tác giả

- Name
- Nguyễn Đức Xinh
- 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 (
aptcho Debian/Ubuntu,dnf/yumcho 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ùngArchitecture: 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_releasekhô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-releaselà lệnh đáng tin cậy nhất, hoạt động trên mọi distro hiện đại.hostnamectlcung cấp thông tin toàn diện nhất bao gồm cả virtualization.uname -atập trung vào kernel và luôn có mặt trên mọi hệ thống Linux.lsb_releasetiệ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ó.
