Я читал о Стандартной базе Linux и мне было интересно, является ли структура, используемая в Ubuntu, такой же, как предлагается в LSB. Я знаю, что некоторые дистрибутивы не следуют или не вносят некоторые изменения в LSB, поэтому я также хочу знать, есть ли в Ubuntu некоторые изменения, и какие это изменения.
Для 11.10 и 12.04 стандартная версия Linux Standard - 4.0, как указано на Launchpad . Как объясняется в Linux Foundation , LSB является
основным стандартом для операционной системы Linux, который способствует взаимодействию между приложениями и платформой. Он включает в себя письменную спецификацию двоичного интерфейса, набор наборов тестов для дистрибутивов и приложений, пишущих в соответствии со стандартом, и образец реализации для целей тестирования.
Спецификация LSB описывает стандарты для многих вещей, таких как файловая система, основные библиотеки и ключевые функции, такие как системные вызовы libc
. Он также определяет стандарты упаковки программного обеспечения и то, что дистрибутив должен поддерживать стандарт rpm , даже если его система пакетов по умолчанию не использует систему rpm.
Спецификация также содержит стандарт для уровни запуска и сценарии инициализации, а также связанный пакет, включенный в Ubuntu, - lsb-base
. Этот пакет, согласно его собственному описанию, содержит библиотеку оболочки init-functions
, которая может использоваться скриптами инициализации других пакетов для консоли ведение журнала и другие цели.
Самый простой способ продемонстрировать поддержку Ubuntu этих стандартов init
- запустить
grep -ri "BEGIN INIT INFO" /etc/init.d
и затем изучить один из перечисленных файлов. Sudo
, например, будет иметь спецификации заголовка LSB в начале скрипта:
### BEGIN INIT INFO
# Provides: sudo
# Required-Start: $local_fs $remote_fs
# Required-Stop:
# X-Start-Before: rmnologin
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Provide limited super user privileges to specific users
# Description: Provide limited super user privileges to specific users.
### END INIT INFO
Такие каталоги, как $ local_fs
, которые упоминаются этими заголовками LSB, перечислены в /etc/insserv.conf
. Для получения дополнительной информации о init
см. Страницу 168 этой книги Ubuntu
. Трудно найти конкретные области, в которых Ubuntu расходится со стандартами LSB, и отказ от ответственности в пакетах LSB , что существование этих пакетов
не означает, что Debian полностью соответствует со стандартной базой Linux, и не должны рассматриваться как заявление о том, что Debian является LSB-совместимым.
В целом, однако, и Ubuntu, и Debian намереваются быть совместимыми, и они включают команду lsb_release
, чтобы указать общее соответствие дистрибутивов. Тем не менее, при необходимости они будут делать случайные расхождения в отношении таких вещей, как иерархия файловой системы, как указано в ответах здесь:
Ubuntu, как и Debian, «стремится соответствовать LSB» посредством «чужой» программы, но не считается полностью совместимой.