我正在阅读有关 Linux 标准库的文章,想知道 Ubuntu 中使用的结构是否与 LSB 中建议的结构相同。我知道有些发行版不遵循 LSB 或对其进行了一些更改,所以我也想知道 Ubuntu 是否有一些更改,以及这些更改是什么。
答案1
对于 11.10 和 12.04Linux 标准库版本是 4.0,如上所示发射台. 正如在Linux基金会,LSB 是
Linux 操作系统的核心标准,旨在促进应用程序与平台之间的互操作性。它包括书面二进制接口规范、一组针对按照标准编写的发行版和应用程序的测试套件以及用于测试目的的示例实现。
LSB 规范概述标准适用于许多方面,例如文件系统、核心库和libc
系统调用等关键功能。它还指定了软件打包标准,并且发行版必须支持转速标准即使其默认软件包系统不使用 rpm 系统。
该规范还包含标准运行级别和初始化脚本,Ubuntu 中包含的相关软件包是lsb-base
。根据其自身描述,该软件包包含
init-functions shell 库,其他包的初始化脚本可能会用到它来进行控制台日志记录和其他目的。
证明 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
这些 LSB 头提到的目录$local_fs
列在 中/etc/insserv.conf
。有关 的更多信息init
,请参阅这本 Ubuntu 书
很难找到 Ubuntu 偏离 LSB 标准的具体领域,LSB 软件包的免责声明是那这些包的存在确实
并不意味着 Debian 完全符合 Linux 标准库,也不应被理解为 Debian 符合 LSB 的声明。
但总体而言,Ubuntu 和 Debian 都打算遵守规定,并且它们包含命令lsb_release
来指示发行版的总体合规性。但是,它们会在必要时偶尔出现分歧,例如文件系统层次结构,如下方的答案所述:
答案2
Ubuntu 与 Debian 类似,通过“外星人”程序“努力遵守 LSB”,但被认为并未完全遵守。