Ubuntu 是否遵循 Linux 标准库 (LSB)?

Lui*_*ado 12 lsb-release

我正在阅读 Linux Standard Base 并想知道 Ubuntu 中使用的结构是否与 LSB 中建议的结构相同。我知道有些发行版没有遵循 LSB 或对 LSB 进行了一些更改,所以我也想知道 Ubuntu 是否有一些更改,以及这些更改是什么。

小智 8

对于 11.10 和 12.04,Linux Standard 基础版本是 4.0,如Launchpad 上所述。正如Linux 基金会所解释的,LSB 是

Linux 操作系统的核心标准,鼓励应用程序和平台之间的互操作性。它包括一个书面的二进制接口规范、一组用于写入标准的发行版和应用程序的测试套件,以及一个用于测试目的的示例实现。

LSB 规范概述了许多方面的标准,例如文件系统、核心库和libc系统调用等关键功能。它还指定了软件打包标准,即使其默认包系统不使用 rpm 系统,发行版也必须支持rpm 标准

该规范还包含运行级别和初始化脚本的标准,Ubuntu 中包含的相关包是lsb-base. 这个包,根据它自己的描述,包含

init-functions shell 库,它可以被其他包的初始化脚本用于控制台日志记录和其他目的。

演示 Ubuntu 对这些init标准的支持的最简单方法是运行

grep -ri "BEGIN INIT INFO" /etc/init.d
Run Code Online (Sandbox Code Playgroud)

然后检查列出的文件之一。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
Run Code Online (Sandbox Code Playgroud)

$local_fs这些 LSB 标头中提到的目录在/etc/insserv.conf. 有关 的更多信息init,请参阅这本 Ubuntu 书籍的第 168 页

这是很难发现其中的Ubuntu从LSB标准发散的具体领域,并在LSB的软件包的声明是这些包的存在并

并不暗示 Debian 完全符合 Linux 标准基础,也不应被解释为声明 Debian 符合 LSB。

然而,总的来说,Ubuntu 和 Debian 都打算兼容,并且它们包含lsb_release指示发行版的一般合规性的命令。但是,它们会在必要时偶尔出现与文件系统层次结构等相关的分歧,如此处的答案中所述: