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)

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

Подход должен быть стандартизирован на уровне LSB. Пихать в стандарт версии библиотек с которыми должно быть слинковано приложение это полный идиотизм. Очевидно, что таким «стандартом» разработчики будут только подтираться.

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

XDG хватит всем.

Вроде бы стандарт есть, а хомяк всё равно завален. Как так получается? И ладно бы всякое безобразие проприетарное, так нет — mozilla, gnome, aptitude, wine...

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

Подход должен быть стандартизирован на уровне LSB

...причем именно тот подход, который считает правильным Reset, ага.

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

Пока DEB не было, линукс активно шёл к десктопу

Бгг. Если что, DEB старше RPM. Школота такая школота...

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

Теперь понятно зачем нужна стандартизация для проприетарного ПО?

Это давно понятно было, не понятно зачем нужна проприетарщина как таковая? Фотожоп полутора хипстерам ставить? Пусть в инстограмм пистуют.

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

А что делать тем, кому приходится довольствоваться лимитированным жопорезом, или 4G, но только на самой окраине города?

А у тех, у кого нет доступа в интернет, нет и необходимости обновлять дистрибутив.

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

Но ты спросил «что делать?». Могу предложить пару вариантов. Например, заработать денег хотя бы на adsl. Или сменить место жительства на такое, где нет проблем с подключением. Можно ещё перестать пользоваться линуксом, раз он не удовлетворяет возможностям. Или — это, наверное, самый неожиданный вариант — пользоваться дистрибутивами с DeltaRPM.

Теперь я тебя спрошу: как гипотетические проблемы у кого-то с доступом к интернету являются проблемой .deb?

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

Подход должен быть стандартизирован на уровне LSB. Пихать в стандарт версии библиотек с которыми должно быть слинковано приложение это полный идиотизм. Очевидно, что таким «стандартом» разработчики будут только подтираться.

Кому должен? Если тебе нужен какой-то «стандартный» процесс деплоя, то почему ты его до сих пор не написал, не опубликовал и не занимаешься его продвижением? Если ты считаешь, что он должен быть в LSB — напиши им свои предложения.

anonymous
()

Для IPC предлагаются более низкоуровневые средства, для вывода звука — ALSA

а жаль..

Pulaseaudio и DBus — хорошо бы смотрелись бы для целей переносимости..

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

Поэтому большие компании с оборотом в миллионы долларов используют LSB прямо сейчас.

наверно так и пишут в требованиях .. «требуется — Canonical LSB Trusty Tahr»

:-)

user_id_68054 ★★★★★
()

попытка Linux Foundation стандартизировать GNU/Linux

и сильно к этим рекомендациям прислушиваются?

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

А для нормальной эксплуатации линукса нужен хороший доступ в интернет.

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

как гипотетические проблемы у кого-то с доступом к интернету являются проблемой .deb?

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

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

а пакеты RPM/DEB для Linux «не встают», потому что у тебя Ubuntu 15.04, в которой GTK 2.32 не имеет обратной совместимости с GTK 2.30, Xorg 1.10 с 1.9, а Dbus 1.6 c 1.5.

С опенсорсным ПО такие проблемы не возникают. Это просто свидетельство того, насколько опенсорсное ПО лучше и гибче проприетарщины, которая не способна приспособится к зоопарку дистрибутивов. Так то!

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

Всё ещё продолжают фантазировать о rpm… :}

РХ когда-то пропихнула РПМ как стандарт да и сечас спонсирует LSB

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

Пока DEB не было, линукс активно шёл к десктопу - вот пруф:

ДЕБ появился раньше РПМ
РХ запилил РПМ только для того чтобы быть несовместимым с ДЕБ

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

Люто плюсую! Ибо надоело уже.

Аминь, брат. И ладно бы только конфиги, но ведь криворугие идиоты в ~/.prog норовят ещё и кэш за каким-то хреном запихать и прочую херь - упарился уже исключения для бэкапера писать!

anonymous
()

Они так и не могут вылезти из параллельной реальности.

ya-betmen ★★★★★
()
Ответ на: комментарий от grim

РХ запилил РПМ только для того чтобы быть несовместимым с ДЕБ

При этом умудрились сделать его несовместимым даже с самим собой.

ya-betmen ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Посмотрите на этого припадошного. Он уже, наверное, половину ЛОРа заигнорил. Видимо, мы наблюдаем кисельный передоз и смерть мозга. Мда, психиатрия тут бессильна...

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

Всё правильно делают. DEB не нужен. Пока DEB не было, линукс активно шёл к десктопу

Дебил, когда DEB'ом и не пахло. Линуксом как таковым не пахло.

ioway
()

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

Аффтар новости, давай ты от себя додумывать не будешь, да? Там ни слово по твоей же ссылки нету о том, что кто-то отказался.

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

Как только активно начнут - смогут продавать наклеечки - LSB сертифаед

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

Эта стандартизация нужна и для свободного ПО, поскольку постоянное обновление - это просто привычка, вызванная забиванием на стандарты разработчиками.

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

Разработчики софта не поддерживают вообще в основной массе. Стандарт по сути мертворожденный.

КриптоПро требует LSB. А КриптоПро это банкинг, ключи, эцп. На генту в свое время не встало принципиально.

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

Никакой не идиотизм. Задача LSB - дать совместимость. Совместимость можно дать двумя путями: контролировать API и ABI одновременно, и просто указать, какие версии библиотек использовать. Первый случай слишком трудный по организационным причинам, а второй сравнительно прост, поскольку позволяет не париться даже об особенностях реализации.

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

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

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

Опенсорсное ПО и не приспосабливается - его приспосабливают. И если в твоём любимом дистрибутиве не найдётся мейнтейнера для нужного тебе пакеты, то делай, что хочешь, но пакет тебе не соберут.

Quasar ★★★★★
()

Всё правильно. Стандарты - хорошо.

А красноглазым студентикам стандарты не нужны, они наверное и докторскую колбасу с волосами съедят, подумаешь, что ТУ и ГОСТ на колбасу не соблюли.

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

разум, проклятие, что еще?

ненависть, шрифты, предательство

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

Островок адекватности: http://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#homeUserHomeDirectories

3.8. /home : User home directories (optional) 3.8.1. Purpose

/home is a fairly standard concept, but it is clearly a site-specific filesystem. [6] The setup will differ from host to host. Therefore, no program should assume any specific location for a home directory, rather it should query for it. [7] 3.8.2. Requirements

User specific configuration files for applications are stored in the user's home directory in a file that starts with the '.' character (a «dot file»). If an application needs to create more than one dot file then they should be placed in a subdirectory with a name starting with a '.' character, (a «dot directory»). In this case the configuration files should not start with the '.' character. [8]

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

Так и был дискредитирован хороший и в целом положительный проект - LSB. Его с нетерпением ждали, и встретили с распростёртыми объятьями - но потом вышла Ubuntu, и проект не успел раскрутиться: «что, нужно формировать RPM-пакет?

LSB совместимый DEB пакет формируется из RPM в течение несколько минут с помощью alien ,можно и наиборот .Компания которая выпускает браузер Опера - раньше (на старом движке ) выпускала исполняемый сжатый пакет -который можно было собрать под 42 LSB-совместимых дистрибутива :хочеш так распакуй и в каталог установи ,хочеш в родной пакет преобразуй.(Был косяк с нашим Альтом ,что-то там подправили ,и тоже все стало нормально собираться ) .Так что кто хочет потдерживать ,формат пакета не смутит .

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

Стандарт нужен чтобы избежать воя про «зоопарк дистрибутивов».

A-234 ★★★★★
()
Последнее исправление: A-234 (всего исправлений: 1)
Ответ на: комментарий от grim

РХ запилил РПМ только для того чтобы быть несовместимым с ДЕБ

Не пори чушь, ей больно. RPM является идейным продолжателем RPP и PMS, оба из которых старше DEB. Напомни, кстати, как там в dpkg 1.0 проверить подпись пакета? Ах, в те годы деб не умел в подписи? Какая жалость, на что только мерзкий редхат не пойдёт, лишь бы совместимость с дебом поломать.

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

DeltaRPM

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

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

Хромооперу нынешнюю (официально выкладываемую только в DEB) вполне можно перепаковать в RPM - но если это делать стандартными методами вроде alien, то получится пакет с нелепыми зависимостями, который можно будет поставить только с --nodeps (и если у тебя дистр использует связку APT+RPM, потом будет геморрой с обновлениями системы).

Вообще же, конечно, LSB по-настоящему актуальна именно для проприетарщины (включая ту же Оперу, которая, получается, на LSB начхала с высокой колокольни, не сделав официального RPM-пакета). Но разработчике проприетарного ПО, как правило, о правилах жизни в свободных ОС представление имеют смутное. Вопиющий пример - OMS Player - чудо отечественной мысли, предназначенное для прокручивания электронных учебных пособий в школах. Windows-версия не работает под вайном, а «нативную» для линукса они умудрились сделать совместимой только с одним-единственным релизом Альта и больше ни с какими дистрами (я даже не уверен, выдерживало ли это поделие последующие обновления ОС. И исправили ли они эту ситуацию впоследствии, тоже не знаю, хотя занятно было бы узнать).

PVOzerski ★★★
()

«приложение, соответствующее LSB, можно установить и запустить в любом дистрибутиве, соответствующем LSB, без необходимости подгонки под каждый конкретный дистрибутив.»

«Требует поддержки пакетов в формате RPM...дистрибутив может установить RPM параллельно с основным менеджером пакетов или сделать команду rpm обёрткой для основного менеджера и конвертировать пакеты, например, при помощи программы alien.»

Молодцы, че.

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

Там ни слово по твоей же ссылки нету о том, что кто-то отказался.

It was never a conscious decision to let the 2.3 release of FHS gather dust for seven years — it just slipped out of the collective consciousness. As a result, there were several Unix-like groups (such as the BSDs) who lost interest entirely and haven't bothered to participate in the FHS 3.0 discussion.

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

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

На сайте эмулятора Сеги Gens есть RPM и DEB-пакеты 2006 года. Спокойно устанавливаются в Ubuntu 15.04 и работает, при этом контрольная сумма файлов в RPM-ке и в DEB-ке одинаковая. Стандарт LSB обеспечил работоспособность этой программы в наши дни.

Что вы так привязались к RPM? Главное в LSB - бинарная совместимость дистров, и обратная совместимость либ с их старыми версиями! А перепаковать вообще не проблема - вон на торрентах лежат DEB-ки Loki Games, а внутри - те же самые бинари, что и 15 лет назад.

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

При чём здесь редхат и дата его релиза? PMS был разработан для Bogus Linux в 1993, а редхатовский RPP уже был в 1994 в релизе Mother's Day и явно не за день до релиза его наваяли.

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

ну окей, убедил. хотя конечно и dpkg тоже наверно не за день наваяли.

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