I was reading about the Linux Standard Base and was wondering if the structure used in Ubuntu is the same that is suggested in the LSB. I know some distros do not follow or do some changes to the LSB, so I also want to know if Ubuntu has some changes, and what changes these are.
For 11.10 and 12.04 the Linux Standard base version is 4.0, as noted on Launchpad. As explained at the Linux Foundation, LSB is
The LSB specification outlines standards for many things such as the filesystem, core libraries and key functions such as
libc
system calls. It also specifies software packaging standards and that a distribution must support the rpm standard even if its default package system does not use the rpm system.The specification also contains the standard for runlevels and init scripts, and a related package included in Ubuntu is
lsb-base
. This package, according to its own description, contains theThe easiest way to demonstrate Ubuntu support for these
init
standards is to runand then examine one of the files listed.
Sudo
, for example, will have the LSB header specifications at the start of the script:The directories such as
$local_fs
that are mentioned by these LSB headers are listed in/etc/insserv.conf
. For more information oninit
, see page 168 of this Ubuntu bookIt is difficult to find the specific areas in which Ubuntu diverges from the LSB standards, and the disclaimer on the LSB packages is that the existence of those packages does
In general, however, both Ubuntu and Debian do intend to be compliant and they include the command
lsb_release
to indicate the distributions' general compliance. However, they will make occasional divergences when necessary, with relation to such things as the filesystem hierarchy, as noted in the answers here:Ubuntu like Debian 'strives to comply with the LSB' through the 'alien' program but is not believed to be fully compliant.