[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