How can I tell what version of Linux I’m using?
Often times I will ssh into a new client’s box to make changes to their website configuration without knowing much about the server configuration. I have seen a few ways to get information about the system you’re using, but are there some standard commands to tell me what version of Unix/Linux I’m on and basic system information (like if it is a 64-bit system or not), and that sort of thing? Basically, if you just logged into a box and didn’t know anything about it, what things would you check out and what commands would you use to do it?
13 Answers 13
If I need to know what it is say Linux/Unix , 32/64 bit
This would give me almost all information that I need,
If I further need to know what release it is say (Centos 5.4, or 5.5 or 5.6) on a Linux box I would further check the file /etc/issue to see its release info ( or for Debian / Ubuntu /etc/lsb-release )
Alternative way is to use the lsb_release utility:
Or do a rpm -qa | grep centos-release or redhat-release for RHEL derived systems
In 2016 it does not seem like lsb_release works any longer with modern distros. I tested the command on Amazon Linux AMI release 2016.03 and CentOS Linux 7 and it was not found. It seems like ls cat /etc/os-release is the best solution currently with uname -a somewhat usable if a bit opaque (e.g. Amazon Linux AMI release 2016.03 vs. Linux ip-x-x-x-x 4.4.11-23.53.amzn1.x86_64 #1 SMP Wed Jun 1 22:22:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux)
Use the following commands to get more details:
Add cat /proc/version and it covers every release I’ve found over the years. I’ve never seen a case where /proc/version wasn’t helpful, but I’ve seen cases where one or both of the above don’t help (can’t remember which but most likely embedded systems.)
There are a ton of answers but I’m looking for more generic. AFAI am concerned the following works on most of systems.
sh-4.4$ cat /etc/os-release NAME=Fedora VERSION="26 (Twenty Six)" ID=fedora VERSION_ID=26 PRETTY_NAME="Fedora 26 (Twenty Six)" ANSI_COLOR="0;34" CPE_NAME="cpe:/o:fedoraproject:fedora:26" HOME_URL="https://fedoraproject.org/" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=26 REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=26 PRIVACY_POLICY_URL=https://fedoraproject.org/wiki/Legal:PrivacyPolicy
This will work on Linux distros that use systemd. For older versions of those distros that don’t use systemd, this won’t work (e.g. RHEL 6), and for distros that don’t use systemd at all this won’t work. The second most voted answer will cat this file anyway, so there’s no reason not to prefer that more general command.
Linux version 3.14.27-100.fc19.x86_64 (mockbuild@bkernel02.phx2.fedoraproject.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-7) (GCC) ) #1 SMP Wed Dec 17 19:36:34 UTC 2014
I believe this works for most distros, and provides a more concise answer than cat /etc/*release* and more complete answer than uname -a . However, use of /proc for things other than processes is now eschewed, so maybe it’ll disappear someday.
On Apline 3.10.4 this returned something unexpected: Linux version 4.19.76-linuxkit (root@d203b39a3d78) (gcc version 8.3.0 (Alpine 8.3.0)) #1 SMP Thu Oct 17 19:31:58 UTC 2019
@b01 Thanks for the input. At least it got the Alpine part correct. 😉 Where did 3.10.4 come from, uname -a ? It’s sad that there is no single correct answer!
I learned this while writing a tool that did a survey of connected systems which were embedded Linux running on various brands and models of storage servers. It was the only command I found that returned something useful in every case, and since then I’ve never seen it not be useful, even on BusyBox-based distros.
@JeffLearman I was using a Go Lang Alpine Docker image of 1.13-alpine-3.10 and wanted to know the bug release number. I ended up trying quite a few of these answers to see which worked and not.
You should look into the uname command.
I have to deal with a large parc of heterogenous machines. uname -a is usually my first reflex when I log in.
For the Alpine distribution:
To combine some ideas here:
cat /etc/*_version /etc/*-release && uname -a
Should get you want you need on any distribution.
To those who are searching for which version is alpine running inside docker, this command works and produces following output: cat: can’t open ‘/etc/*_version’: No such file or directory 3.14.2 NAME=»Alpine Linux» VERSION_ID=3.14.2 PRETTY_NAME=»Alpine Linux v3.14″ HOME_URL=»https://alpinelinux.org/» BUG_REPORT_URL=»https://bugs.alpinelinux.org/»
That’ll give you all the information you seek.
man uname to restrict the information
inxi is a System Information Tool for Linux. It displays handy information concerning system hardware (hard disk, sound cards, graphic card, network cards, CPU, RAM, and more), together with system information about drivers, Xorg, desktop environment, kernel, GCC version(s), processes, uptime, memory, and a wide array of other useful information.
If inxi is not installed in your system, you can install it by:
$ sudo apt install inxi [On Debian/Ubuntu/Linux Mint] $ sudo yum install inxi [On CentOs/RHEL/Fedora] $ sudo dnf install inxi [On Fedora 22+]
In manpage you can fine that -S option can be used to get host name, kernel, desktop environment (if in X/Wayland), distro.
% inxi -S System: Host: blueray-i5 Kernel: 5.4.0-53-generic x86_64 bits: 64 Desktop: Cinnamon 4.6.7 Distro: Linux Mint 20 Ulyana
This can be used as a debugging, and/or forum technical support tool. So you might consider keeping it in your toolbelt.
Как узнать версию Linux
Linux-это бесплатная операционная система с открытым исходным кодом. Которая имеет различные дистрибутивы, такие как Ubuntu, Red Hat, Debian, Fedora, CentOS, openSUSE и Arch. Каждая операционная система Linux имеет ядро Linux, коллекции программного обеспечения, а также инструменты и библиотеки GNU. Узнать версию дистрибутива Linux, версии ядра и версии Linux очень важно. Требуется это для того чтобы узнать, какой менеджер пакетов использовать для установки новых пакетов (программ).
Версия операционной системы Linux — это самое первое, что нам требуется знать, прежде чем устанавливать программное обеспечение. Или применять обновления безопасности, исправлять ошибки. Когда вы устанавливаете исправления ошибок или обновления безопасности, версия вашей ОС меняется.
В этой статье мы покажем, как узнать версию Linux.
Различия между ОС и версией ядра?
Linux OS — это системное программное обеспечение, которое обеспечивает интерфейс между компьютером и пользователем. Когда компьютер загружается, ОС (операционная система) является первым загружаемым программным обеспечением. А вот ядро — это основа операционной системы Linux, которая преобразует команды в машинный язык.
Версия ОС Linux не всегда совпадает с версией ядра. Выпуск ОС означает стабильную версию дистрибутива Linux, а версия ядра Linux — это номер сборки исходного ядра, которое используется в качестве основы операционной системы. Версия каждого пакета связана с версией Ядра.
Команды для проверки версии Linux
В следующей таблице показаны некоторые из наиболее распространенных способов определения версии ОС Linux:
Опции | Описание |
/etc/os-release | Файл выпуска ОС, содержащий информацию об имени и версии ОС |
lsb_release -a | команда отображает информацию об операционной системе Linux Standard Base (LSB), включая кодовое имя релиза и номер версии. |
/proc/version | Показывает версию ядра Linux и GCC вашего дистрибутива Linux |
hostnamectl | Отображает имя дистрибутива ОС Linux, имя хоста компьютера, выпуск ядра и аппаратную архитектуру системы. |
/etc/issue | Содержимое файла содержит информацию о версии дистрибутива |
uname -r | Показывает только версию ядра Linux |
Как проверить версию ОС Linux
Существует множество способов проверки версий ОС Linux в зависимости от вашего дистрибутива. Например, пакеты lsb_release по умолчанию не установлены в дистрибутивах Red Hat Linux, а команда hostnamectl работает только в дистрибутивах на базе systemd.
Следующие примеры команд показывают, как проверить версию ОС в вашей системе Linux:
Файл /etc/os-release
Файл /etc/os-release содержит идентификационную информацию ОС Linux, которая включает имя дистрибутива Linux и версию дистрибутива.
Выполните следующую команду cat в файле /etc/os-release, чтобы узнать конфигурацию вашей системы Linux:
Вы также можете ввести следующую команду, чтобы отфильтровать информацию о версии ОС:
Команда lsb_release
Используйте утилиту командной строки lsb_release для того чтоб узнать версию Linux. Команда показывает такие детали, как кодовое имя релиза, номер версии Linux и ID дистрибьютора.
Команда lsb_release является частью программного пакета, известного как ядро LSB, она не установлена по умолчанию в различных дистрибутивах Linux, таких как Red Hat и CentOS.
Эта команда предоставляет различные опции для отображения специфической информации, такие как -v для версии, -i для идентификационных данных операционной системы, -r для выпуска, -a для всех и -d для описания.
Например, следующая команда отображает всю информацию о релизе вашего дистрибутива Linux:
Инструмент Inxi
Inxi — это мощный скрипт командной строки, предоставляющий системную информацию. Эта утилита командной строки может быть использована для отображения конфигурации оборудования, конфигурации системы, версии GCC, номера версии ядра Linux и множества другой полезной информации.
Например, используйте команду inxi -b для отображения всей информации о конфигурации вашей Linux-системы:
Команда hostnamectl
При использовании без каких-либо опций, hostnamectl может использоваться для отображения статического имени хоста, идентификатора машины, идентификатора загрузки, виртуализации, имени и версии ОС, а также выпуска ядра. Например:
Команда uname
Для того чтоб узнать версию Linux можно использовать команду uname. Вы можете использовать опцию -a для показа всей информации, включая версию ОС.
Вы можете использовать опцию -r для проверки версии ядра Linux:
Файл /etc/issue
Файл /etc/issue содержит информацию об идентификации системы, которая отображается перед приглашением к входу в систему.
Для просмотра содержимого файла можно использовать команды more, less или cat:
В файле /etc/*release вы также можете найти информацию, связанную с дистрибутивом Linux. В основном она содержится в старых версиях релизов.
Заключение
В этом руководстве мы показали различные способы проверки версии ОС Linux. Некоторые команды имеют зависимость от дистрибутива Linux поэтому пробуйте и узнаете какая подойдет вам.