我正在阅读有关Linux Standard Base的文章,并且想知道Ubuntu中使用的结构是否与LSB中建议的结构相同。我知道有些发行版不会跟进或对LSB进行某些更改,因此我也想知道Ubuntu是否进行了某些更改,以及这些更改是什么。
我正在阅读有关Linux Standard Base的文章,并且想知道Ubuntu中使用的结构是否与LSB中建议的结构相同。我知道有些发行版不会跟进或对LSB进行某些更改,因此我也想知道Ubuntu是否进行了某些更改,以及这些更改是什么。
Answers:
对于11.10和12.04,Linux标准基本版本为4.0,如Launchpad所述。如Linux Foundation所述,LSB是
Linux操作系统的核心标准,鼓励应用程序和平台之间的互操作性。它包括一个书面的二进制接口规范,一组用于分发和应用程序向标准写入的测试套件,以及用于测试目的的示例实现。
LSB规范概述了许多事物的标准,例如文件系统,核心库和关键功能(例如libc
系统调用)。它还指定了软件包装标准,即使发行版的默认包装系统未使用rpm系统,发行版也必须支持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
$local_fs
这些LSB标头提到的目录如列出/etc/insserv.conf
。有关更多信息init
,请参见此Ubuntu书的第168页
这是很难发现其中的Ubuntu从LSB标准发散的具体领域,并在LSB的软件包的声明是说这些包的存在并
并不意味着Debian完全符合Linux Standard Base,并且不应被解释为Debian符合LSB的声明。
通常,Ubuntu和Debian都希望符合标准,并且它们都包含lsb_release
指示发行版基本符合性的命令。但是,在必要时,它们有时会与文件系统层次结构等方面产生分歧,如此处答案所示: