Cara memeriksa distribusi, versi, kernel, dan arsitektur Linux
Langkah pertama untuk mengidentifikasi distribusi Linux dan versinya adalah membaca /etc/os-release. Kolom PRETTY_NAME menyediakan nama yang dapat dibaca manusia, sedangkan ID dan VERSION_ID menyediakan pengenal yang lebih mudah digunakan dalam skrip.
Gunakan hostnamectl ketika Anda menginginkan ringkasan praktis tentang distribusi, kernel, dan arsitektur. Gunakan uname -r untuk versi kernel Linux yang sedang berjalan, bukan versi distribusi. Nilai-nilai ini menggambarkan bagian-bagian sistem yang berbeda dan tidak boleh dianggap bisa saling dipertukarkan.
Perintah yang harus dijalankan terlebih dahulu
Untuk memeriksa hanya nama dan versi distribusi, mulai dengan:
cat /etc/os-release
Untuk menampilkan hanya bidang-bidang yang paling berguna:
grep -E '^(PRETTY_NAME|ID|VERSION_ID|ID_LIKE)=' /etc/os-release
Jalankan perintah berikut ketika Anda juga memerlukan rilis kernel dan arsitektur CPU.
cat /etc/os-release
hostnamectl
uname -r
uname -m
Apa itu distribusi Linux?
Secara teknis, Linux adalah kernel sistem operasi. Sebuah distribusi Linux menggabungkan kernel tersebut dengan alat sistem, pustaka, manajer paket, penginstal, dan konfigurasi default untuk membentuk sistem operasi yang dapat digunakan.
Ubuntu, Debian, Fedora, Rocky Linux, openSUSE, dan Arch Linux semuanya menggunakan kernel Linux, tetapi format paket, kebijakan pembaruan, dan perintah administrasinya berbeda. Periksa keluarga distribusi dan versi sebelum menerapkan instruksi instalasi atau konfigurasi server.
| Keluarga distribusi | Distribusi umum | Format paket dan alat | Nilai yang perlu diperiksa |
|---|---|---|---|
| Keluarga Debian | Debian, Ubuntu, Linux Mint | DEB, APT | ID dan ID_LIKE=debian |
| Keluarga Red Hat | RHEL, Fedora, Rocky Linux, AlmaLinux | RPM, DNF | ID dan nilai terkait RHEL atau Fedora di ID_LIKE |
| Keluarga SUSE | openSUSE, SUSE Linux Enterprise | RPM, Zypper | ID dan ID_LIKE=suse |
| Keluarga Arch | Arch Linux, Manjaro | pkg.tar.zst, Pacman | ID dan ID_LIKE=arch |
| Independen | Alpine Linux dan lainnya | Spesifik distribusi | ID dan dokumentasi resmi distribusi |
ID_LIKE adalah informasi pendukung yang menjelaskan keluarga terkait atau asal. Ini mungkin tidak ada. Gunakan ID sebagai pengidentifikasi distribusi utama dan konsultasikan ID_LIKE hanya jika kompatibilitas keluarga penting.
Periksa distribusi dan versi di /etc/os-release
/etc/os-release menyimpan data identifikasi sistem operasi sebagai entri KEY=value. Menurut spesifikasi os-release systemd resmi, perangkat lunak sebaiknya menggunakan /etc/os-release dan menggunakan /usr/lib/os-release sebagai cadangan ketika yang pertama tidak tersedia.
Tampilkan semua bidang identifikasi
cat /etc/os-release
Bidang yang tepat bervariasi menurut distribusi, tetapi keluaran umumnya menyerupai:
PRETTY_NAME="Ubuntu 24.04 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
Contoh ini mengidentifikasi Ubuntu 24.04 dalam keluarga Debian. Teks tingkat patch dan detail lainnya dapat bervariasi tergantung distribusi dan status pembaruan.
Pahami bidang utama os-release
| Bidang | Makna | Penggunaan khas |
|---|---|---|
PRETTY_NAME |
Nama distribusi yang dapat dibaca manusia dan versi | Tampilan dan pemeriksaan manual |
NAME |
Nama sistem operasi tanpa versi | Label deskriptif |
ID |
Pengidentifikasi distribusi dengan huruf kecil | Cabang distribusi dalam skrip |
VERSION_ID |
Versi distribusi yang dimaksudkan untuk perbandingan mesin | Pemeriksaan versi yang didukung |
ID_LIKE |
Keluarga distribusi terkait atau asal | Menentukan kemungkinan konvensi paket dan konfigurasi |
VERSION_CODENAME |
Nama kode untuk rilis distribusi | Konfigurasi dan dokumentasi repositori |
Distribusi rilis bergulir mungkin tidak memiliki versi mayor tetap dan dapat menghilangkan VERSION_ID. Ketidakhadiran field opsional tidak berarti bahwa file tersebut tidak valid.
Gunakan hostnamectl untuk ringkasan sistem
Pada distribusi yang menggunakan systemd, hostnamectl dapat menampilkan nama host, sistem operasi, kernel, dan arsitektur CPU secara bersamaan.
hostnamectl
Bidang yang paling berguna adalah:
- Operating System: nama dan versi distribusi
- Kernel: rilis kernel yang sedang berjalan
- Architecture: arsitektur sistem
- Virtualization: lingkungan mesin virtual atau kontainer yang terdeteksi
hostnamectl adalah ringkasan praktis, tetapi mungkin tidak tersedia di instalasi minimal, beberapa kontainer, atau distribusi yang tidak menggunakan systemd. Gunakan /etc/os-release dan uname di lingkungan tersebut.
Bedakan versi distribusi dari versi kernel
Nilai yang dilaporkan oleh uname bukanlah rilis distribusi seperti Ubuntu 24.04 atau Rocky Linux 10. Nilai tersebut menggambarkan kernel yang sedang berjalan dan arsitektur perangkat keras.
uname -r
uname -m
uname -a
| Perintah | Informasi yang dikembalikan | Contoh penggunaan |
|---|---|---|
uname -r |
Rilis kernel | Memeriksa kompatibilitas driver dan modul kernel |
uname -m |
Arsitektur perangkat keras | Memilih paket x86_64 atau aarch64 |
uname -a |
Beberapa nilai terkait kernel dalam satu baris | Menyediakan ringkasan pemecahan masalah yang ringkas |
Sebuah sistem dapat mempertahankan rilis distribusi yang sama sambil menerima kernel yang lebih baru. Sistem pada versi distribusi yang sama juga dapat menjalankan kernel yang berbeda. Setelah pembaruan paket kernel, uname -r dapat terus menampilkan kernel yang lama sampai sistem di-reboot. Dokumentasi manual uname mendefinisikan setiap opsi.
Gunakan metode alternatif pada sistem lama
Periksa dengan lsb_release
Jika lsb_release terpasang, ia dapat menampilkan distributor, deskripsi, rilis, dan nama kode.
lsb_release -a
Perintah ini tidak termasuk dalam setiap instalasi minimal. Periksa terlebih dahulu dengan command -v lsb_release. manual lsb_release Debian menjelaskan bidang keluarannya.
Baca file rilis khusus distribusi
Pada sistem lama tanpa /etc/os-release, gunakan file khusus distribusi sebagai cadangan.
cat /etc/redhat-release
cat /etc/debian_version
cat /etc/alpine-release
Ketersediaan dan format file ini berbeda-beda menurut distribusi. Dalam otomatisasi, lebih baik menggunakan /etc/os-release dan periksa hanya file cadangan eksplisit yang digunakan oleh distribusi yang didukung. Hindari menggabungkan semua file yang cocok dengan /etc/*release secara membabi buta.
Mendeteksi distribusi dalam skrip shell
Untuk skrip instalasi dan otomatisasi operasi, gunakan ID dan VERSION_ID alih-alih menguraikan PRETTY_NAME yang dapat dibaca manusia.
if [ -r /etc/os-release ]; then
. /etc/os-release
printf 'distribution=%s\n' "$ID"
printf 'version=%s\n' "${VERSION_ID:-unknown}"
printf 'family=%s\n' "${ID_LIKE:-unknown}"
else
printf 'distribution=unknown\n'
uname -srm
fi
Ekspresi ${VERSION_ID:-unknown} menggunakan unknown ketika nilai tidak disetel atau kosong. Karena banyak bidang os-release bersifat opsional dan distribusi dapat menambahkan bidang mereka sendiri, skrip tidak boleh berasumsi bahwa setiap nilai ada.
Saat memilih perintah manajemen paket, bandingkan terlebih dahulu ID dan gunakan ID_LIKE hanya sebagai kondisi pendukung. Bahkan distribusi dalam keluarga yang sama dapat menggunakan konfigurasi repositori dan nama paket yang berbeda, jadi kesamaan keluarga tidak menjamin setiap perintah dapat dipertukarkan.
Interpretasikan hasil di kontainer, WSL, dan chroot
Kontainer
Di dalam sebuah kontainer, /etc/os-release biasanya mengidentifikasi distribusi user-space pada image kontainer, bukan host. Sebaliknya, uname -r dapat menampilkan kernel yang dibagikan dengan host. Adalah normal jika perintah-perintah ini tampak menggambarkan keluarga distribusi yang berbeda.
Windows Subsystem for Linux
Di Windows Subsystem for Linux (WSL), /etc/os-release mengidentifikasi distribusi Ubuntu, Debian, atau distribusi lainnya yang diinstal. Output dari uname -r dapat mencakup string yang mengidentifikasi kernel WSL. Lanjutkan menggunakan /etc/os-release untuk versi distribusi.
Lingkungan chroot
Di dalam chroot, /etc/os-release mengidentifikasi distribusi dalam sistem file chroot, sementara uname menggambarkan kernel yang dibagikan dengan host yang sedang berjalan. Perhitungkan perbedaan ini selama pekerjaan pemulihan dan proses pembangunan lintas-distribusi.
Pertanyaan yang sering diajukan
Perintah apa yang paling dapat diandalkan untuk memeriksa versi Linux?
Untuk mengidentifikasi distribusi dan rilisnya, mulailah dengan cat /etc/os-release. Periksa kernel secara terpisah dengan uname -r dan arsitektur CPU dengan uname -m.
Apakah ada yang salah jika hostnamectl hilang atau tidak berjalan?
Tidak selalu. Lingkungan dan distribusi minimal yang tidak menggunakan systemd mungkin tidak menyediakan hostnamectl. Gunakan /etc/os-release dan uname untuk mengambil informasi tersebut secara terpisah.
Bagaimana saya dapat membedakan CentOS, Rocky Linux, dan AlmaLinux?
Periksa ID di /etc/os-release. Distribusi ini memiliki bagian dari model administrasi yang sama, tetapi kebijakan dukungan dan repositorinya terpisah. Jangan anggap mereka sebagai distribusi yang sama hanya berdasarkan ID_LIKE.
Apakah x86_64 dan aarch64 merupakan versi distribusi Linux?
Tidak. Mereka mengidentifikasi arsitektur perangkat keras. Sebuah rilis distribusi dapat menyediakan citra terpisah untuk x86_64 dan aarch64, jadi periksa arsitektur saat memilih paket perangkat lunak atau media instalasi.
Ringkasan
Gunakan /etc/os-release untuk nama dan versi distribusi Linux, hostnamectl untuk ringkasan sistem yang nyaman, uname -r untuk kernel yang sedang berjalan, dan uname -m untuk arsitektur.
Dalam skrip, gunakan ID, VERSION_ID, dan, bila perlu, ID_LIKE alih-alih mengurai PRETTY_NAME. Dalam kontainer, WSL, dan lingkungan chroot, ingat bahwa distribusi user-space dan kernel yang berjalan bisa berasal dari lapisan yang berbeda.




