Назад | Перейти на главную страницу

Определить версию ядра на основе файла

У меня есть несколько разных операционных систем Linux для разных архитектур, и для каждой из них я хотел бы определить версию ядра Linux. Я могу получить доступ только к файловой системе, но я не могу загрузить систему, поскольку она предназначена для другой архитектуры. Есть ли в Linux конкретный файл, содержащий версию ядра, которую я мог бы указать или привязать?

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

Если вас действительно интересует только версия ядра и вы действительно не знаете, какой дистрибутив вы смотрите, я бы начал с поиска самого ядра и надеюсь, что дистрибутив назвал его в соответствии с его версией. Например, в моей системе Linux Mint 19 ядра находятся в / boot /:

mdiehn@frank ~ $ ls -ltr /boot/vmlinuz*
-rw-r--r-- 1 root root 7407392 Nov 24  2017 /boot/vmlinuz-4.10.0-38-generic
-rw------- 1 root root 7712560 May 30  2018 /boot/vmlinuz-4.13.0-45-generic

Еще одно место для поиска - файлы с именем / etc / * - release, если таковые существуют. Redhat, Fedora, CentOS, SuSE, openSuSE имеют файлы с таким названием - / etc / redhat-release и / etc / centos-release.

Не все дистрибутивы устанавливают пакеты LSB, но те, которые устанавливают, например Mint, будут иметь файл с именем / etc / os-release и один с именем / etc / lsb-release. У них есть то, что вы ищете.

Посмотрите в Linux Land, ОС - это ядро ​​и игрушки. Дистрибутив - это то, что вы называете «ОС», и дистрибутивы довольно сильно различаются.