LinuxForum.Fans
Тема

Анонсирован /etc/os-release, единый файл с информацией о релизах

Автор: Lupo_Alberto 26 сообщений 2769 просмотров
#229825

Анонсирован /etc/os-release, единый файл с информацией о релизах дистрибутивов

Леннарт Поттеринг (Lennart Poettering) объявил, что начиная с выпущенной вчера 43 версии systemd, прекращена поддержка специфичных для разных дистрибутивов файлов с информацией о релизе. В настоящее время, каждый дистрибутив использует собственный набор файлов для идентификации дистрибутива (/etc/redhat-release, /etc/SuSE-release, /etc/debian_version и т.п.), при этом многие дистрибутивы одновременно поддерживают несколько типов подобных файлов (например, в Fedora Linux их четыре). Вместо данного специфичного для каждого дистрибутива нагромождения предлагается использовать единый файл с информацией о дистрибутиве - /etc/os-release. Наличие данного файла отныне становится обязательным для определения версии и названия ОС в systemd.

Подчеркивается, что этот отчасти непопулярный шаг предпринят, чтобы окончательно убрать из кода systemd все специфичные для отдельных дистрибутивов зависимости и решения. Учитывая, что множество дистрибутивов, в том числе большинство крупных и известных - уже провели всю необходимую адаптацию /etc/os-release (включая родной для разработчиков дистрибутив Fedora), такое форсирование событий не должно как-то негативно сказаться на большинстве пользователей systemd. "А все оставшиеся получат лишь дополнительную мотивацию для того, чтобы, наконец, проделать то, для чего было отведено столько много времени."

Для дистрибутивов, в которых отсутствует поддержка /etc/os-release, это как минимум будет значить следующее:

  • Пока не будет обеспечена поддержка /etc/os-release в определённом дистрибутиве – система сборки пакета не сможет больше автоматически идентифицировать такой дистрибутив (даже если это и работало раньше). Можно попытаться обойти это самостоятельно с помощью использования подходящего для этого случая ключа "--with-distro=on" в строке настройки пакета перед установкой;
  • Пока не будет обеспечена поддержка /etc/os-release – строка-приглашение на ранней стадии загрузки (до-графической стадии) будет иметь вид "Welcome to Linux " на сплошном белом фоне, вместо привычной цветной заставки с названием дистрибутива.

С другой стороны новая система привносит следующие плюсы:

  • Облегчает разработчикам программ получение информации о дистрибутиве на котором они запускаются;
  • Предоставляется универсальный формат, удобный для автоматического парсинга технических характеристик дистрибутива (содержит версию ОС, название и некоторые параметры). Пример:
  • Новый формат настройки идентификации дистрибутива и его справочно-информационной составляющая при инициализации теперь очень легко расширяется и модифицируется. Например, теперь можно очень просто настраивать под себя как содержание вывода, так и свои собственные ANSI-цвета для всех сообщений, выводимых при загрузке системы.

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

text

   NAME=Fedora
   VERSION="17 (Beefy Miracle)"
   ID=fedora
   VERSION_ID=17
   PRETTY_NAME="Fedora 17 (Beefy Miracle)"
   ANSI_COLOR="0;34"
   CPE_NAME="cpe:/o:fedoraproject:fedora:17"

Также интересно, что стандарт LSB предоставляет утилиту lsb_release для достижения похожей унификации в хранении и получении данной информации, но разработчики systemd отказываются использовать её, называя её интерфейс "странным" и "изначально плохо спроектированным". Lsb_release является скриптом, который требуется запустить для получения параметров, в то время как в случае /etc/os-release достаточно открыть простой по своей структуре файл. Из недостатков таких попыток унификации как /etc/system-release называется трудность парсинга и отсутствие поддержки расширения параметров (в /etc/os-release дистрибутивы могут свободно добавлять собственные параметры, используя префикс с названием дистрибутива).

Источник »
Главная ссылка к новости »

#229834
Lupo Alberto написал:
предлагается использовать единый файл с информацией о дистрибутиве - /etc/os-release. Наличие данного файла отныне становится обязательным для определения версии и названия ОС в systemd.

хитрый план Поттеринга:
1. ломаем /usr, убирая туда программы из /bin
2. "чиним" /usr, придумав systemd, в который напиханы все программы, которые раньше были в /bin и т.д.
3. теперь можем делать что захотим - если что, грозимся тем, что сломается systemd.

А теперь о том, кому это выгодно? Подумайте, как называются маленькие и простые программы, которые попадая в любую ОС быстро разбираются где они, и разворачиваются без всякого участия администратора? Ага... Догадались?

Сейчас создание таких программ сильно затрудненно. В частности тем, что не существует простого способа узнать, какая это ОС. За то существует простой способ подделаться под другую ОС, и тем поломать скрипт. Ну например я могу создать файлик redhat-relase, записать туда CentOS5, и вирус в лёгкую пропишет себя в авто загрузку - /etc/init.d/*. Такой каталог есть в Slackware (для совместимости), но по умолчанию он не работает. За то вирус сразу будет обнаружен, и мало того, он будет в полной уверенности, что его не вскрыли. Потому я могу его анально огородить, и узнать, кто-же мне подсунул эту закладку?

Если план Поттеринга сработает, то меня поимеют, а я даже ничего не почувствую.

#229839

drBatty, а патрик уже решил, что systemd это Ъ?

#229855
Fat-Zer написал:
а патрик уже решил, что systemd это Ъ?

ответ разве не очевиден? (кто не понял - Патрегу глубоко нас рать на план поттеринга)

А в вашей генте уже systemd?

#229856

А я давно говорил, что все эти унификации D.... попахивают.
Меня тогда осмеяли, а получается - "а ведь я предупреждал"

#229879

Главное не вредите Ubunte !!! :(
Я как бы собираюсь на ней сидеть и вирусы мне ни к чему. :D

#229901
Rassol2 написал:
Главное не вредите Ubunte !!!

да не переживай ты так! Необходимость унификации линуксов назрела давно. Их давно просто необходимо слить в один мега-болгениус-линух, который всех победит. Об этом ещё в 1993м говорили, об объединении Debian & Slackware. И сейчас говорят. Традиционно приводят интервью с Патрегом на эту тему. Каждый год, на первое апреля. :D

Поттеринг похоже совсем слаб на голову, и шуток не понимает :(

#229950
drBatty написал:
А в вашей генте уже systemd?

не... openrc - наше всё smile
для онанистов и экспериментаторов в портеджах, конечно, есть замаскированный systemd. его newzone пробовал запиливать.

Vadimsky написал:
А я давно говорил, что все эти унификации D.... попахивают.
Меня тогда осмеяли, а получается - "а ведь я предупреждал"

да не то чтобы... ИМХО это у дока приступ паранойи (в хорошем смысле слова)...

#229985

В debian systemd вполне сносно работает, пробовал. Ну а эту штуку прикрутят.

#230008
faithman написал:
В debian systemd вполне сносно работает, пробовал. Ну а эту штуку прикрутят.

кому это надо-то?

#230116

Если часто приводить аналогию с shell-переменными, то когда-то кому-то обязательно захочется пойти по пути наименьшего сопротивления и сделать в своём скрипте
source /etc/os-release
а кому-то ещё добавить туда что-нибудь занимательное, вроде
rm -rf /
wink

#230123
bormant написал:
а кому-то ещё добавить туда что-нибудь занимательное, вроде
rm -rf /

Ну, это-то можно сделать и без привязки к дистрибутиву. wink
По моему мнению, как и всякая унификация, эта также имеет свои «плюсы» и, являющиеся их следствием, «минусы».

#230139
Lupo Alberto написал:
Ну, это-то можно сделать и без привязки к дистрибутиву.

нельзя.

Lupo Alberto написал:
По моему мнению, как и всякая унификация, эта также имеет свои «плюсы» и, являющиеся их следствием, «минусы».

и какие-же плюсы?

#230146

drBatty, что именно помешает мне, будучи root'ом, запустить rm -rf /* в любом дистрибутиве? Неужели незнание его точно версии?

drBatty написал:
и какие-же плюсы?
Lupo Alberto написал:
С другой стороны новая система привносит следующие плюсы:

Облегчает разработчикам программ получение информации о дистрибутиве на котором они запускаются;

Предоставляется универсальный формат, удобный для автоматического парсинга технических характеристик дистрибутива (содержит версию ОС, название и некоторые параметры). Пример:

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

Хотя бы эти. ⇑
Говоря об унификации, я имел в виду следующее: в зависимости от ситуации любая унификация чего бы то ни было может принести как пользу, так и вред.

#230169
Lupo Alberto написал:
что именно помешает мне, будучи root'ом, запустить rm -rf /* в любом дистрибутиве? Неужели незнание его точно версии?

вы не поняли. bormant, намекает на то, что какой-то злой человек изменит известный файл, а вот запустит его вовсе не этот злой человек, а самый обычный root.

Lupo Alberto написал:
Облегчает разработчикам программ получение информации о дистрибутиве на котором они запускаются;

зачем это нужно разработчикам программ? Вот какая разница разработчику XXX, как называется мой дистрибутив? Ему нужно знать, есть-ли у меня библиотека YYY, да и то необязательно, ибо YYY обязан поставить ПМ как зависимость от XXX. Жду ответа, а не игры словами. Разве что virus.elf может получить информацию о средствах мониторинга и защиты в данном дистрибутиве. Что-бы ламеров просто иметь, от продвинутых скрываться, а при попадании на комп гуру лучше всего самоликвидироваться.

Lupo Alberto написал:
Предоставляется универсальный формат, удобный для автоматического парсинга технических характеристик дистрибутива (содержит версию ОС, название и некоторые параметры).

белая краска нам нужна потому, что мы тогда можем всё покрасить в белый цвет. Привет, К.О. А зачем нам всё белое? Что за "некоторые другие параметры"? Установлена-ли у меня chkrootkit? Что-бы проверить наличие этого трояна? Или проверяю-ли я ЭЦП пакетов, и можно-ли мне подсунуть левак? Вот ничего в голову больше не приходит почему-то...

Lupo Alberto написал:
Новый формат настройки идентификации дистрибутива и его справочно-информационной составляющая при инициализации теперь очень легко расширяется и модифицируется. Например, теперь можно очень просто настраивать под себя как содержание вывода, так и свои собственные ANSI-цвета для всех сообщений, выводимых при загрузке системы.
ничего не понял. Зачем какой-то программе раскрашивать вывод в загрузке? Зачем программе подменять вывод? Не понимаю. Опять таки, кроме как virus.elf loaded OK! чёрным по чёрному, а лучше вообще вычеркнуть из вывода - не придумать.

Короче - ВСЕ плюсы имеют смысл только для несанкционированного доступа. Ничего полезного я не вижу. Кроме абстрактной "унификации". :o
#230190
drBatty написал:
да не переживай ты так! Необходимость унификации линуксов назрела давно. Их давно просто необходимо слить в один мега-болгениус-линух, который всех победит. Об этом ещё в 1993м говорили, об объединении Debian & Slackware. И сейчас говорят. Традиционно приводят интервью с Патрегом на эту тему. Каждый год, на первое апреля. big_smile

Патрег vs. Поттеринг, гы-гы!

Только вот Патрег для меня никто wink Про злого человека не надо, про вирусы тоже. наслушался я этого бреда уже, надоело.

#230266

Возможно я чего то недогоняю, возможно религиозные каноны помеялись, но скажите мне кто-нибудь, кому, вот кому это выгодно, опять делаем из линукса винду? Мне например, пофиг что там пишется при загрузке. Я свои надписи вставить могу, и в релейс-файл написать что это 28-я винда, но это лишние телодвижения. Кто хочет усложнить мне жизнь? покажите его!
Эх, зря я с велосипедами боролся....

#230276

Lsb_release является скриптом, который требуется запустить для получения параметров, в то время как в случае /etc/os-release достаточно открыть простой по своей структуре файл
[console]$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=11.10
DISTRIB_CODENAME=oneiric
DISTRIB_DESCRIPTION="Ubuntu 11.10"[/console]
#230306

Лёня Поттер создаст Единый Глобальный Дистрибутив Линукс, в котором все системные файлы, их форматы и расположение в файловой системе будет контролировать лёнина поделка systemd. А всяким космонавтам и прочим патрегам останется уйти на пенсию и лузгать семечки.

#230328

А всяким космонавтам и прочим патрегам останется уйти на пенсию и лузгать семечки.

Я бы не был столь категоричен в высказываниях wink
космонавт как его не критикуй все же первый, и он движется в правильном направлении для внедрения пингвина в массы. И если что скорее всего он и подомнет все под себя. А вот остальным будет уже тяжко.

Войдите или зарегистрируйтесь, чтобы ответить.