[devel] os-release / lsb_release / VENDOR-release

Vitaly Lipatov lav на altlinux.ru
Ср Июн 5 12:06:54 MSK 2019


Leonid Krivoshein писал 4.6.19 3:34:
> Всем привет!
> 
> 
> Три вопроса к знатокам по методике определения Linux-дистрибутива, в
> котором сейчас работает скрипт:
> 
> 1) Это правда, что LSB-метод (lsb_release) не так широко распространён
> и теперь уступает freedesktop'ному парсингу файла /etc/os-release?
> Критика LSB в этой рассылке уже имела место несколько лет назад. Но
> альтернатив тогда не предлагалось, де-факто стандарт нами не
> поддерживается (пакет отсутствует в системе сразу после установки, на
> него нет зависимости в basesystem/interactivesystem).
/etc/os-release гораздо популярнее и адекватнее.
lsb_release умер, на мой взгляд.

> 
> 2) Как вы считаете, какой идентификатор (ID, DISTRIB_ID) должен быть у
> наших систем -- "alt" или "altlinux"? Дело в том, что LSB считает нас
> как "alt". Тогда как два других метода -- "altlinux". Пояснение в
> прилагаемом скрипте.
Привет строителям велосипедов.

> 
> 3) Если исключить экзотику, типа разбора /proc/version или имени файла
> ядра, есть ли хорошие примеры кода, надёжно определяющего текущий
> дистрибутив Linux?
Есть.
$ distr_info
ALTLinux/Sisyphus

$ rpm -qf /usr/bin/distr_info
eepm-2.5.8-alt1.noarch

Определяет на всех дистрибутивах, на многих производных дистрибутивах, и 
на других системах типа Solaris/MacOS/*BSD.

$ distr_info -h
distr_vendor - system name and version detection
Usage: distr_vendor [options] [args]
-p [SystemName] - print type of packaging system
-d - print distro name
-a - print hardware architecture
-b - print size of arch bit (32/64)
-m - print system memory size (in MB)
-o - print base os name
-v - print version of distro
-e - print full name of distro with version (by default)

-- 
С уважением,
Виталий Липатов,
Etersoft


Подробная информация о списке рассылки Devel