Linux is a free and open source operating system. There are many variants of Linux out there. They are typically called Linux distribution. Suse, OpenSUSE, Debian, Ubuntu, CentOS, Arch, Fedora, RHEL all are common Linux distribution names. Knowing your os version and name can be very useful for security patches.
Check os version in Linux
The procedure to find os name and version on Linux:
- Open the terminal application (bash shell)
- For remote server login using the ssh: ssh user@server-name
- Type any one of the following command to find os name and version in Linux:
cat /etc/os-release
lsb_release -a
hostnamectl - Type the following command to find Linux kernel version:
uname -r
Let us see all examples in details for common Linux distros.
The /etc/os-release file
Type the following cat command:
$ cat /etc/os-release
Sample outputs:
NAME="Ubuntu" VERSION="20.04.1 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.1 LTS" VERSION_ID="20.04" 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" VERSION_CODENAME=focal UBUNTU_CODENAME=focal
We can filter out information such as OS version and name using the grep command/egrep command as follows:
$ grep '^VERSION' /etc/os-release
$ egrep '^(VERSION|NAME)=' /etc/os-release
Here is what we see:
NAME="CentOS Linux" VERSION="8 (Core)"
Even tiny Linux distro such as Alpine Linux provide the required OS (Operating system) information, including version:
NAME="Alpine Linux" ID=alpine VERSION_ID=3.12.1 PRETTY_NAME="Alpine Linux v3.12" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://bugs.alpinelinux.org/"
Checking OS version on Linux using the lsb_release command
The lsb_release command gives LSB (Linux Standard Base) and distribution-specific information on the CLI. The syntax is:
$ lsb_release -a
Sample outputs:
LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.4.1708 (Core) Release: 7.4.1708 Codename: Core
hostnamectl command
Use hostnamectl command to query and change the system hostname and related settings. Just type the following command to check OS name and Linux kernel version:
$ hostnamectl
And it will give info as follows. Look out for “Operating System” and “Kernel“:
Static hostname: nixcraft-www-42 Icon name: computer-vm Chassis: vm Machine ID: beb217fbb4324b7d9959f78c279e6599 Boot ID: 10f00cc5ca614b518a84d1793d0134bc Virtualization: qemu Operating System: Ubuntu 16.04.3 LTS Kernel: Linux 4.10.0-42-generic Architecture: x86-64
Another outputs from my OpenSUSE Linux 15.2 server:
Static hostname: opensuse-nixcraft Icon name: computer-vm Chassis: vm Machine ID: b95459dbd45d428fa513ab6a9636d1a8 Boot ID: 9a144556789241e29b62b962cfb6ba1d Virtualization: kvm Operating System: openSUSE Leap 15.2 CPE OS Name: cpe:/o:opensuse:leap:15.2 Kernel: Linux 5.3.18-lp152.50-default Architecture: x86-64
uname command
Just print Linux kernel version, run:
$ uname -r
Sample outputs:
Another option is to type the following command:
$ cat /proc/version
Sample outputs:
Linux version 3.10.0-693.11.6.el7.x86_64 (mockbuild@x86-041.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Thu Dec 28 14:23:39 EST 2017
/etc/issue file
Use more command/less command as follows:
$ cat /etc/issue
$ more /etc/issue
$ less /etc/issue
Getting help
You can also view the manual page on uname using the following command:
$ man hostnamectl
$ man uname
$ man cat
Related media
Conclusion
We explained how to find and display the OS version on Linux. The safest option is to query /etc/os-release file using grep or cat command. Systemd based Linux distro users can use the hostnamectl command.
🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
- RSS feed or Weekly email newsletter
- Share on Twitter • Facebook • 1 comment... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
thank you. great commands. I added them to my project in guthb WiKiw-IT
Thanks