LINUX.ORG.RU

Linux Standard Base 5.0 + Filesystem Hierarchy Standard 3.0

 ,


5

5

Linux Foundation выпустила новые версии Linux Standard Base и Filesystem Hierarchy Standard. Выпуск произошёл через 4 года после LSB 4.1 и через 11 лет после FHS 2.3. Он посвящён памяти Кристофера Йео (Christopher Yeoh), без чьего вклада этих стандартов не существовало бы.

Linux Standard Base — это попытка Linux Foundation стандартизировать GNU/Linux как платформу для запуска приложений и дать независимым разработчикам возможность распространять приложения в виде бинарных пакетов. Это набор требований к дистрибутивам Linux и к приложениям для Linux: приложение, соответствующее LSB, можно установить и запустить в любом дистрибутиве, соответствующем LSB, без необходимости подгонки под каждый конкретный дистрибутив. В частности, LSB:

  • Требует поддержки исполняемых файлов в формате ELF.
  • Требует поддержки исполнимых текстовых файлов, начинающихся с «#!<команда запуска интерпретатора><перевод строки>».
  • Требует поддержки пакетов в формате RPM. При этом необязательно, чтобы это был основной формат пакетов в системе: дистрибутив может установить RPM параллельно с основным менеджером пакетов или сделать команду rpm обёрткой для основного менеджера и конвертировать пакеты, например, при помощи программы alien.
  • Регламентирует среду исполнения программ. В частности, дистрибутив должен иметь файловую систему, соответствующую FHS 3.0.
  • Указывает, какие программы и библиотеки должны быть установлены на компьютере.

Filesystem Hierarchy Standard регламентирует, какая иерархия файлов и директорий должна использоваться в дистрибутивах Linux (именно там описано назначение директорий /bin, /lib, /usr и проч.). Иерархия унаследована ещё от UNIX, однако с тех времён подверглась значительным изменениям. Для опытных пользователей в новой версии вряд ли будут какие-либо неожиданности, так как стандарт основан на и так широко распространённых практиках.

В рамках работы над стандартом выпущена сама спецификация, комплект для разработки приложений LSB SDK 5.0, инструмент для проверки совместимости LSB AppChecker 5.0 и плагин для среды разработки Eclipse. Linux Foundation готова сертифицировать дистрибутивы и приложения на соответствие LSB 5.0.


Основные изменения в LSB 5.0 по сравнению с 4.1:

  • Стандарт теперь разбит на шесть модулей: Common (чисто информационный), Core, Desktop, Runtime Languages, Imaging, Trial Use. Хотя сертифицированный дистрибутив должен поставлять все модули, их теперь можно упаковывать в отдельные пакеты, и приложениям теперь рекомендуется заявлять, какие именно модули им нужны, чтобы, например, если приложение не имеет графического интерфейса, пользователю не приходилось зря устанавливать модуль Desktop. Так, на самом деле, и раньше было, но неофициально.
  • Исключена библиотека Qt3, которая была туда добавлена в версии 4.1. Это нарушет обратную совместимость, но по заявлению Linux Foundation она уже была помечена как устаревшая (автор новости, правда, не нашёл такой отметки в спецификации 4.1).
  • В модуль Trial Use (т.е. пока без гарантии, что их не удалят в будущих версиях) добавлены библиотеки GTK+ 3.6.4 (в модуле Desktop есть GTK+ 2.32 — обновление по сравнению с LSB 4.1) и libpng 1.5 (в модуле Desktop — libpng 1.2).
  • Помимо GTK+ 2 обновлены Cairo и OpenGL
  • Добавлено API XCB для X11
  • Добавлены библиотеки SANE, libncursesw, libtiff, libxslt.
  • Обновлено API многих других библиотек и программ.
  • Разработчики LSB пообещали, что теперь будут ориентироваться не только на медленно обновляющиеся сверхстабильные дистрибутивы, такие как RedHat, но и на более распространённые и обновляющиеся быстрее, такие как Debian и Ubuntu.

Изменения в FHS 3.0 по сравнению с 2.3:

  • Появилась директория /run. Туда переносится «информация о состоянии системы после загрузки», в частности, файлы с PID процессов, кторые создают некоторые демоны. Раньше эту функцию выполняла /var/run, теперь она объявлена устаревшей: её можно сделать ссылкой на /run.
  • Удалена директория /usr/X11R6 (по просьбе X.org).
  • Появилась директория /usr/libexec. Туда предлагается помещать исполнимые файлы, которые не должны вызываться пользователем напрямую, а только другими приложениями, установленными в /usr/bin. Раньше их часто помещали в /usr/lib, хотя они вовсе не являются библиотеками. Например, /usr/lib/firefox можно перенести в /usr/libexec/firefox.
  • Добавлены директории /usr/share/ppd и /var/lib/color.
  • Уточнено предназначение /usr/local, /opt и /srv.
  • Из «Приложения для операционной системы Linux» удалены /lib32 и /lib64 (их покрывает шаблон /lib<qual> из общей части), добавлена директория /sys.

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

На данный момент уже многие популярные дистрибутивы (в т.ч. Red Hat Enterprise Linux, Oracle Linux, Mandriva, SUSE Linux Enterprise, Ubuntu) официально сертифицированы на соответствии той или иной версии LSB, а другие, такие как Debian, стремятся соответствовать, хотя и не имеют сертификации. Есть также целых три сертифицированных приложения, однако несертифицированных приложений больше.

Предваряя вопросы, ответим, что ни D-Bus, ни PulseAudio, ни systemd, ни протокол Wayland в спецификацию никак не входят. Для IPC предлагаются более низкоуровневые средства, для вывода звука — ALSA, для исполнения приложений при запуске компьютера предлагается спецификация для скриптов cron и init.

Объявление о выпуске LSB 5.0

Объявление о выпуске FHS 3.0

Страница с самими спецификациями

>>> Страница рабочей группы LSB

★★★★★

Проверено: fallout4all ()
Последнее исправление: cetjs2 (всего исправлений: 7)

Ответ на: комментарий от Quasar

Да. Но с проприетарщиной даже так нельзя.

goingUp ★★★★★
()
Ответ на: комментарий от alex-w

Там говорится, что если хотите другой стандарт, можете пользоваться другим. Вот и всё.

O02eg ★★★★★
()
Ответ на: комментарий от Quasar

Pulseaudio и dbus как раз ужасно смотрятся и для этих целей, ибо лишние абстракции, нагромождения и костыли.

ну посмотрим что ты скажешь когда dbus будет в ядре окончательно... абстракции.. ХА! я смаюсь над этим предложением!

ну а Pulseaudio.. Pulseaudio просто кавай ^_^

user_id_68054 ★★★★★
()
Ответ на: комментарий от Freyr69

эти debdelta тоже самое что и дельты в арче, половину пакетов всё равно тянет полным размером с основных реп, фигово они это сделали.

eR ★★★★★
()
Ответ на: комментарий от redgremlin

Отключать стоит только тем, у кого канал толстый, и кому что 2 мегабайта качать, что 20 - без разницы. Ибо для получения готового RPM из разницы, нужно будет позаниматься bindiff.

nexfwall ★★★★
()
Ответ на: комментарий от proud_anon

Ну хорошо, можно было сказать: «просто забили». Эффект всё равно тот же.

Скорее подождали, когда у всех иссякнет интерес и терпение что-то пытаться делать в FHS, потом сделали по своему и обозвали это стандартом.

alex-w ★★★★★
()
Ответ на: комментарий от nexfwall

Охлол, значит ты RPM дистрибутивы за линуксы не считаешь, только потому, что они позволяют тратить меньше трафика для обновлений?

Некоторые мужчины высоки, некоторые врачи мужчины. Значит ли это, что все врачи мужчины? У тебя та же самая ошибка с логикой. Лично ты можешь использовать в проде любой дистрибутив, какой тебе нравится до тех пор, пока ты не работаешь под моим начальством (что практически невероятно, учитывая нашу взаимную географию). Как ты мог догадаться, количество трафика необходимого для обновлений в моём случае не является хоть сколько-нибудь значимым в выборе дистрибутива для прода.

С каких пор для нормальной эксплуатации линукса нужен «хороший» интернет?

Да в общем-то с самого начала его существования. Торвальдс, если ты помнишь, анонс не в Фидо, и не в местную передовицу писал. Просто с тех пор понятие «хороший доступ в интернет» сильно поменялось в лучшую сторону. Кстати, в условиях плохого интернета, возможно, стоит перейти на source-based дистрибутив.

anonymous
()

Предваряя вопросы, ответим, что ни D-Bus, ни PulseAudio, ни systemd, ни протокол Wayland в спецификацию никак не входят. Для IPC предлагаются более низкоуровневые средства, для вывода звука — ALSA, для исполнения приложений при запуске компьютера предлагается спецификация для скриптов cron и init.

Лёня Болтеринг видать еще не проплатил Linux Foundation за внесение своих инновационных разработок в стандарт

Deleted
()
Ответ на: комментарий от anonymous

Кстати, в условиях плохого интернета, возможно, стоит перейти на source-based дистрибутив.

Качать огромные сорцы на плохом интернете? Ты что куришь?

Недавно собрался обновить генту - пришлось качать сорцов на 3 гига.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от matumba

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

Deleted
()
Ответ на: комментарий от user_id_68054

ну а Pulseaudio.. Pulseaudio просто кавай ^_^

И кавайно грузит проц в зависимости от фазы луны.

Deleted
()
Ответ на: комментарий от redgremlin

RPM является идейным продолжателем RPP и PMS

Oh LOL
Ну и фантазии для отмазок у вас!

на что только мерзкий редхат не пойдёт, лишь бы совместимость с дебом поломать.

Это да.
Даже LSB проплатили за РПМ.
Пример того, как Бабло побеждает разум.

Ничего, Deb вернул утраченные позиции и сейчас де-факто стандарт.

grim ★★☆☆
()
Последнее исправление: grim (всего исправлений: 2)
Ответ на: комментарий от anonymous

А память сжирал какой-то скрипт на питоне, проверяющий обновление системы. 44% отжирал.

Проблема, очевидно, в петоне, и его неоправданной сложности и расхлябанном стиле, который он преподносит разрабам. Не использовали бы петон, не было бы этого говна.

anonymous
()
Ответ на: комментарий от Deleted

Качать огромные сорцы на плохом интернете? Ты что куришь?
Недавно собрался обновить генту - пришлось качать сорцов на 3 гига.

3 гига исходников — это примерный размер кодовой базы Windows 2000. Ты точно обновлял или с нуля всё ставил?

anonymous
()
Ответ на: комментарий от anonymous

У меня гента на тильде и всё в сорцах (читай бинарщины нет), если пару месяцев не обновлять выйдет примерно столько.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от Deleted

У меня гента на тильде и всё в сорцах (читай бинарщины нет), если пару месяцев не обновлять выйдет примерно столько.

О_о а зачем вы ей пользуетесь? Два месяца это может быть на 600 мег пакетов обновится, вряд ли больше. Я, пожалуй, прямо сегодня снапшот сделаю, на два месяца отложу и посмотрю.

anonymous
()

With this release of the LSB, the Qt 3 library has been removed.

Ну наконец то в моей федоре не будет этого гомна мамонта при установке хрома.

b0c0813f
()
Ответ на: комментарий от anonymous

Maya

Оно на Qt 4 (5?) о котором в LSB даже не заикнулись.

EXL ★★★★★
()
Ответ на: комментарий от aplay

В таком случае, Atom от Github'a тоже браузерная поделка.

2GIS работает без интернета и браузера? Да. А то что он на Qt Webkit и имеет интерфейс на CSS и Js, это дело десятое. Этак можно договориться, до того, что получится что Plasma с Gnome-shell тоже браузерные поделки.

EXL ★★★★★
()
Ответ на: комментарий от b0c0813f

О_о, а что Chrome требовал Qt 3 при установке? А вообще:

2015 год

Скоро будет Qt 6

LSB наконец-то задумались о статусе Qt 3

Только по одному этому можно понять, насколько нужен этот стандарт.

EXL ★★★★★
()
Ответ на: комментарий от Kilte

Одному мне идея регламентировать в стандарте, каких версий должны быть библиотеки, кажется странной?

Да.

Если не регламентировать версии библиотек, LSB теряет всякий смысл, ведь тогда программы работать не будут. Ибо для линуксовых разработчиков стабильное API - это нонсенс. Поэтому и имеем 1% на десктопе.

Xintrea ★★★★★
()
Ответ на: комментарий от Kilte

Ах вот оно что. Только вот что-то мне подсказывает, что всё должно быть наоборот. Выходит стандарт с новым API, разрабы обновляют свои библиотеки, за ними подтягивается софт.

Разработчики не должны «обновлять свои библиотеки». Разработчики должны писать библиотеки и программы. Всё.

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

Xintrea ★★★★★
()

обновляющиеся быстрее, такие как Debian

святая толстота!

anonymous
()

RPM

Красношляпа платит — красношляпа стандарты и танцует.

Печально видеть, как свободный линукс прогибается под коммер^Wбарыг от года в год всё быстрее и сильнее.

r3lgar ★★★★★
()

Шапкоподелия просто не нужны. А когда на это навален еще и маразм freedesktop - не нужны в квадрате. А обмазанное шизофренией поцтеринга - не нужно в кубе.

anonymous
()
Ответ на: комментарий от EXL

Ну, хрому думаю Qt3 не нужен, а вот от lsb он зависит, такие дела.

b0c0813f
()

Linux
стандарты
опенсорс

АХАХА, то есть, мяу.

like-all ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.