Версия системы linux unix

Все способы узнать версию дистрибутива Linux (а также FreeBSD, MacOS и прочих)

Учитывая зоопарк дистрибутивов Linux, иной раз, получая доступ к серверу, не понимаешь, где ты находишься. Особенно это больно, если нужно поставить недостающий пакет.

Учитывая зоопарк дистрибутивов Linux, иной раз, получая доступ к серверу, не понимаешь, где ты находишься. Особенно это больно, если нужно поставить недостающий пакет. Руки сами пишут

No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04 LTS Release: 16.04 Codename: xenial
lsb_release: команда не найдена
$ uname -a Linux w 4.4.0-66-generic #87-Ubuntu SMP Fri Mar 3 15:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Точнее, это как раз (лично мне) первым и вспоминается, но в голове крутится, что есть способ «правильнее». Да, именно тот, который я первым и написал. Также можно сделать через

$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"

— «правильный вариант» для людей «всё есть файл». Вообще, это не единственный «релиз», который у нас есть в /etc.

$ cat /etc/*release* DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS" NAME="Ubuntu" VERSION="16.04 LTS (Xenial Xerus)" ID_LIKE=debian PRETTY_NAME="Ubuntu 16.04 LTS" VERSION_ID="16.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/" UBUNTU_CODENAME=xenial $ ll /etc/*release* -rw-r--r-- 1 root root 103 апр 13 2016 /etc/lsb-release lrwxrwxrwx 1 root root 21 дек 13 17:56 /etc/os-release -> ../usr/lib/os-release
$ cat /etc/*version* stretch/sid
$ cat /etc/*issue* Ubuntu 16.04 LTS \n \l Ubuntu 16.04 LTS
$ cat /proc/version Linux version 4.4.0-66-generic (buildd@lgw01-28) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #87-Ubuntu SMP Fri Mar 3 15:29:05 UTC 2017
$ dmesg | grep "Linux version" [ 0.000000] Linux version 4.4.0-66-generic (buildd@lgw01-28) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #87-Ubuntu SMP Fri Mar 3 15:29:05 UTC 2017 (Ubuntu 4.4.0-66.87-generic 4.4.44)
$ inxi -S System: Host: w Kernel: 4.4.0-66-generic x86_64 (64 bit) Desktop: Unity 7.4.0 Distro: Ubuntu 16.04 xenial

Также можно посмотреть данные по аудио, железу, даже монитору через inxi -F . A можно глянуть, как ядро Linux запущено:

$ cat /proc/cmdline BOOT_IMAGE=/vmlinuz-4.4.0-66-generic.efi.signed root=/dev/mapper/ubuntu--vg-root ro quiet splash vt.handoff=7
$ sysctl -a | grep version sysctl: permission denied on key 'fs.protected_hardlinks' sysctl: permission denied on key 'fs.protected_symlinks' sysctl: permission denied on key 'kernel.cad_pid' kernel.bootloader_version = 1 sysctl: permission denied on key 'kernel.unprivileged_userns_apparmor_policy' sysctl: permission denied on key 'kernel.usermodehelper.bset' sysctl: permission denied on key 'kernel.usermodehelper.inheritable' kernel.version = #87-Ubuntu SMP Fri Mar 3 15:29:05 UTC 2017 .
$ echo 'int main(void)' > os.c && gcc os.c -o os && strings os /lib64/ld-linux-x86-64.so.2 libc.so.6 __libc_start_main __gmon_start__ GLIBC_2.2.5 UH-0 AWAVA AUATL []A\A]A^A_ ;*3$" GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609 .

Ну и вообще можно натравить strings на тот же /bin/ls и получить также много информации. Правда, там так просто не найти нужное (или вообще не найти). Утилита file также может рассказать многое:

$ file /bin/ls /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=eca98eeadafddff44caf37ae3d4b227132861218, stripped

Изображение Шпаргалка по командам Linux, FreeBSD и MacOS

Если же ничто из этого не помогло, поищите на экране кнопку «Пуск» ⛧ Есть ещё вариант спросить админа… Но он слишком дзенский. — Максим, — спросил Федор — в чем смысл дзен?
Максим ответил:
— Смысл дзен — это как налить из чекушки четыре полных стакана водки.
— Да, — сказал Федор — из пустой.
— Да, — ответил Максим — и не выпить.
— Да, — сказа Федор — и водку в стаканы не наливать. Я уверен, это не все возможные способы. Если вы знаете другие «элегантные» способы узнать дистрибутив Linux и версию ядра — поделитесь ими в комментах. Самые интересные, естественно, добавлю в этот список.

Читайте также:  Astra linux wiki принтеры

Open Source или же программное обеспечение с открытым программным кодом. Отличается от свободного программного обеспечения отсутствием политических заявлений, вместо этого концентирируется на доступности наработок в области программирования для различных сфер …

Фото OpenSource

Команды и инструкции терминала (консоли) Linux, MacOS, Windows и прочих операционных систем. Трюки и особенности командных оболочек, скрипты для администрирования Unix. Программирование и скриптование Windows и Linux, тонкая настройка Macos. …

Фото Терминал/Консоль

Операционная система Linux (Линукс или Лайнакс) во многом похожая на проприетарную Unix. Линукс распространён на серверах, что означает, что изучая её вы улучшаете свой навык администрирования, DevOps и программирования. Открытая …

Фото Linux

Заметки об Операционной Системе FreeBSD (фри бсд). Один из старейших Unix (Юникс), прародитель многих ОС, а также по мнению многих — самая свободная операционная система. Разработан в рамках общего проекта …

Фото FreeBSD

Операционная система для Mac Book, Apple, iPhone, iPad и прочих i-что-то. Построенная на базе Unix, ядро Darwin показало мощь в лице Маков, кастомизмруемость и удобство в Эйр Маках, ценность и …

Фото MacOS

Источник

Как определить версию Linux?

img

Линукс — как много в этом слове эмоциональной и смысловой нагрузки. А как много разных дистрибутивов входят в это семейство И частенько требуется понять, какая конкретно версия установлена и этому помогает пакет systemd, который в настоящее время имплементирован во многие дистрибутивы.

Самый простой способ проверить версию Linux это просто использовать hostnamectl команду без каких-либо аргументов. Эта команда возвращает название дистрибутива, версию и кодовое название вместе с конкретной версией ядра.

Команда hostnamectl

Довольно распространенной ошибкой является называть все семейство GNU/Linux систем просто Linux-ом. Важный момент в том, что Linux — это только ядро, а GNU — непосредственно сама система в виде набора скомпилированных библиотек и системных инструментов. GNU и Linux должны работать в тандеме для того, чтобы операционная система корректно работала. Так как одно не может существовать без другого, корректнее называть эту связку GNU/Linux или Lignux.

Дополнительные способы определения

Системы управления пакетами в Linux

Если команда выше вам не помогла, следующим шагом будет проверка установленного пакетного менеджера, так как вероятность, что один из трех пакетных менеджеров все-таки установлен крайне высока.

  • rpm — пакетный менеджер для систем RedHat
  • dpkg — пакетный менеджер для систем Debian
  • pacman — пакетный менеджер для систем Arch
Читайте также:  Suse linux enterprise 12 administration lecture book

Таким образом, если система использует rpm, то скорее всего у вас используется RHEL, CentOS, Fedora и т.д. Если deb, то скорее всего это Ubuntu, Debian, Mint. И соответственно в случае pacman это будет Arch или Manjaro (и им подобные).Для определения пакетного менеджера нужно ввести команду

$ for i in $( echo rpm dpkg pacman ); do which $i; done 2 /dev/null

В случае deb и rpm она вернет следующее: /usr/bin/dpkg и /bin/rpm соответственно.

Проверка версии пакетного менеджера

Проверка версии CentOS/RHEL

Самый простой способ проверки версии CentOS это чтение файла /etc/centos-release с помощью команды cat /etc/centos-release

В свою очередь для RHEL нужно будет прочитать файл /etc/redhat-release

Команду соответственно меняем:

Думаю логика здесь понятна, для Fedora нужно будет поменять команду на fedora-release — проще некуда.

Проверка версии Debian, Mint и Ubuntu

Для Debian — подобных систем нужно прочесть файл /etc/issue:

 Проверяем версию Debian

Проверка версии Arch

Проверять версию Arch не имеет смысла, так как каждый раз при запуске команды pacman -Suy ваша система автоматически обновляется до последней версии.

Проверка системных параметров

Проверка системной архитектуры и версии ядра

Самый простой и популярный способ определения системной архитектуры и версии ядра Linux это использование команды uname с аргументом -a.

То есть команда будет выглядеть следующим образом:

В выводе будет указана версия ядра и разрядность архитектуры.

Проверяем версию ядра

Проверка архитектуры ЦПУ

Самым простым и распространенным способом является команда:

Как видно из вывода, вместе с моделью процессора и его частотой также видна его разрядность и еще много различных параметров.

Источник

Как узнать версию Linux

Когда вы сами устанавливали систему и все настраивали, то точно знаете какой дистрибутив у вас установлен, какая версия и какая версия ядра. Но совсем другая ситуация, когда вы покупаете VPS или пытаетесь настроить компьютер другу или знакомому с Linux. Довольно часто может возникнуть вопрос как узнать версию Linux потому что эта информация часто очень важна. Например, уязвимости в программном обеспечении часто затрагивают только определенные релизы.

В этой небольшой статье мы поговорим о том как посмотреть версию Linux через терминал и какие утилиты для этого используются и в каких конфигурационных файлах можно найти интересующую нас информацию.

Скользящие или фиксированные релизы

Все активные дистрибутивы Linux выпускают новые релизы, только все по-разному. Конечно, дистрибутивы обновляются и между релизами, но пользователям привычен такой порядок, что обновления релиза получают только исправления безопасности и ошибок, а все новые возможности выпускаются новым релизом. Но существуют и другие пути. Сейчас есть два способа выпуска релизов:

Читайте также:  Среды программирования python linux

Эти способы работают немного по-разному и вам нужно понимать это прежде чем мы перейдем к версии Linux. Скользящие релизы не имеют точек выпуска нового релиза, новые возможности, исправления и улучшения постоянно добавляются в официальный репозиторий и их получают пользователи. Такой подход используется в ArchLinux, Gentoo и OpenSUSE Thumbleweed. Поэтому у таких дистрибутивов нет версий, они всегда имеют самую новую версию после того, как было выполнено обновление пакетов. Но у них есть минус — это более низкая стабильность по сравнению с фиксированными релизами, которые можно хорошо протестировать.

Фиксированные релизы используются в Ubuntu. Каждые 6 месяцев выходит новый релиз, поэтому тут есть четкое разделение на версии, новая версия дистрибутива Linux получает новое программное обеспечение, а затем на протяжении всего термина поддержки получает обновления безопасности.

Как узнать версию Linux?

На самом деле для этого есть очень много методов, начиная от общих признаков и до открыть файл и точно посмотреть версию и имя дистрибутива. Рассмотрим только самые популярные из них.

Узнать дистрибутив

Прежде всего давайте узнаем имя дистрибутива и его версию если это возможно. Для этого будем смотреть содержимое файлов в папке /etc/, которые заканчиваются на release:

В Ubuntu утилита выведет содержимое двух файлов /etc/lsb-release и /etc/os-release. В них будет содержаться исчерпывающая информация о имени дистрибутива и версии его релиза:

Но если мы выполним ту же команду в ArchLinux то получим совсем другой результат:

Тут уже нет версии, есть только имя дистрибутива, поскольку ArchLinux использует систему скользящих релизов. Немного меньше, но почти всю ту же информацию можно получить используя команду lsb_release:

Также очень часто вы можете узнать имя дистрибутива посмотрев пункт «О программе» для любого системного приложения или лучше утилиты «Настройки»:

И еще один способ увидеть версию дистрибутива в основанных на Debian системах — посмотреть информацию о сборке пакета:

Узнать версию ядра

Во многих случаях нам нужна не столько версия дистрибутива linux, сколько версия ядра, которое в нем используется. Для просмотра этой информации тоже есть несколько команд:

У меня используется версия ядра 4.8.0-59, тут же мы видим архитектуру системы — x86_64. Обозначение SMB означает, что ядро поддерживает многоядерные процессоры или несколько процессоров. Но мы можем узнать ту же информацию, посмотрев содержимое файла /proc/version:

А еще можно посмотреть строку параметров запуска ядра, она тоже содержит версию:

Есть еще несколько файлов с подобной информацией:

Как узнать архитектуру компьютера

Вы уже знаете как узнать версию Linux, имя дистрибутива и ядро, архитектура уже проскальзывала в командах выше, но существует отдельная команда, которая выводит только архитектуру:

Для этих же целей можно использовать uname:

Выводы

Теперь вы знаете как посмотреть версию Linux. Как видите, в Linux достаточно много способов для решения этой задачи. Надеюсь, эта информация была полезной для вас.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Оцените статью
Adblock
detector