Ubuntu是否遵循Linux标准库(LSB)?
我正在阅读Linux标准库,并想知道Ubuntu中使用的结构是否与LSB中建议的结构相同。 我知道有些发行版不遵循或对LSB做一些更改,所以我也想知道Ubuntu是否有一些变化,以及这些变化是什么。
对于11.10和12.04, Linux Standard基本版本为4.0,如Launchpad中所述 。 正如Linux基金会所解释的那样,LSB是
Linux操作系统的核心标准,鼓励应用程序和平台之间的互操作性。 它包括一个书面二进制接口规范,一组用于编写标准的发行版和应用程序的测试套件,以及一个用于测试目的的示例实现。
LSB规范概述了许多内容的标准 ,例如文件系统,核心库和诸如libc
系统调用之类的关键function。 它还指定了软件包装标准,即使其默认包系统不使用rpm系统,分发也必须支持rpm标准 。
规范还包含运行级别和init脚本的标准 ,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一书的第168页
很难找到Ubuntu与LSB标准不同的特定区域,而LSB软件包的免责声明是这些软件包的存在确实存在
并不意味着Debian完全符合Linux标准库,不应被视为Debian符合LSB标准的声明。
但是,一般来说,Ubuntu和Debian都打算合规,它们包含命令lsb_release
来指示发行版的一般合规性。 但是,它们会在必要时偶尔出现与文件系统层次结构相关的差异,如下面的答案中所述:
- 如何理解Ubuntu文件系统布局?
像Debian这样的Ubuntu’努力通过“外星人”计划遵守LSB’,但据信并不完全符合。