Solusi 1:
Anda dapat menggunakan lsb_release
perintah pada berbagai distribusi Linux:
lsb_release -i -r
Ini akan memberi tahu Anda Distribusi dan Versi dan sedikit lebih akurat daripada mengakses file yang mungkin atau mungkin belum dimodifikasi oleh admin atau paket perangkat lunak. Serta bekerja di beberapa distro.
Untuk RHEL, Anda harus menggunakan:
cat /etc/redhat-release
Solusi 2:
Anda dapat melihat isi dari /etc/redhat-release, yang akan terlihat seperti ini:
$ cat /etc/redhat-release
CentOS release 5.4 (Final)
Isinya berbeda untuk sistem RHEL yang sebenarnya. Teknik ini bekerja pada semua turunan RedHat, termasuk CentOS, Fedora, dan lainnya.
Solusi 3:
Saya lebih suka menggunakan file /etc/issue.
$ cat /etc/issue
Saya telah melihat banyak situasi di mana /etc/redhat-release telah dimodifikasi untuk memenuhi persyaratan kompatibilitas perangkat lunak (Dell atau agen manajemen HP, misalnya).
Solusi 4:
Cara paling andal kapan lsb_release
belum dipasang adalah:
# rpm -q --queryformat '%{VERSION}' redhat-release-server
6Server
# rpm -q --queryformat '%{RELEASE}' redhat-release-server
6.4.0.4.el6
Pada pemasangan minimal, lsb_release
hilang.
Agar ini berfungsi juga dengan klon Red Hat (kredit masuk ke komentar):
# rpm -q --queryformat '%{VERSION}' $(rpm -qa '(redhat|sl|slf|centos|oraclelinux)-release(|-server|-workstation|-client|-computenode)')
Atau, sebagai satu perintah (bukan dua "rpm" yang dieksekusi):
# rpm -qa --queryformat '%{VERSION}\n' '(redhat|sl|slf|centos|oraclelinux)-release(|-server|-workstation|-client|-computenode)'
Gunakan sed
/cut
dan teks lainnya yang memanipulasi alat UNIX untuk mendapatkan apa yang Anda inginkan.
Solusi 5:
Dengan asumsi itu benar-benar rilis Red Hat (bukan Centos):
rpm -q redhat-release
Atau jalankan saja:
uname -r
Dan petakan hasilnya. Kernel 2.6.9 adalah RHEL4, kernel 2.6.18 adalah RHEL5. Jika perlu, Anda dapat memetakan versi lengkap ke rilis pembaruan spesifik dari Red Hat (mis. 2.6.9-89 adalah RHEL5 U4).