The Linux Standard Base (LSB) was a joint project by several Linux distributions under the organizational structure of the Linux Foundation to standardize the software system structure, including the Filesystem Hierarchy Standard. LSB was based on the POSIX specification, the Single UNIX Specification (SUS), and several other open standards, but extended them in certain areas.
According to LSB:
The goal of the LSB is to develop and promote a set of open standards that will increase compatibility among Linux distributions and enable software applications to run on any compliant system even in binary form. In addition, the LSB will help coordinate efforts to recruit software vendors to port and write products for Linux Operating Systems.
LSB compliance might be certified for a product by a certification procedure. [1]
LSB specified standard libraries (centered around the ld-lsb.so
), a number of commands and utilities that extend the POSIX standard, the layout of the file system hierarchy, run levels, the printing system, including spoolers such as CUPS and tools like Foomatic, and several extensions to the X Window System. It also specified boot facilities, such as $local_fs, $network, which were used to indicate service dependencies in System V-style initialization scripts. [2] A machine readable comment block at the top of a script provided the information necessary to determine at which point of the initialization process the script should be invoked; it was called the LSB header. [3]
The command lsb_release -a
was available in many systems to get the LSB version details, or could be made available by installing an appropriate package, for example the redhat-lsb
package in Red-Hat-flavored distributions such as Fedora, [4] or the lsb-release
package in Debian-based distributions.
The standard stopped being updated in 2015 and current Linux distributions do not adhere to or offer it; however, the lsb_release
command is sometimes still available.[ citation needed ] On February 7, 2023, a former maintainer of the LSB wrote, "The LSB project is essentially abandoned." [5]
LSB was designed to be binary-compatible and produced a stable application binary interface (ABI) for independent software vendors. To achieve backward compatibility, each subsequent version was purely additive. In other words, interfaces were only added; no interfaces were removed. The LSB adopted an interface deprecation policy to give application developers enough time in case an interface was removed from LSB.
This allowed the developer to rely on every interface in LSB for a known time and also to plan for changes. Interfaces were only removed after having been marked "deprecated" for at least three major versions, or roughly eleven years. [6]
LSB 5.0 was the first major release that broke backward compatibility with earlier versions. [7]
The LSB, version 3.1, is registered as an official ISO/IEC international standard. The main parts of it are:
There is also ISO/IEC TR 24715:2006 which identifies areas of conflict between ISO/IEC 23360 (the Linux Standard Base 3.1 specification) and the ISO/IEC 9945:2003 (POSIX) International Standard. [12]
The LSB, version 5.0, is also registered as an official ISO/IEC international standard.
ISO/IEC 23360 and ISO/IEC TR 24715 can be freely downloaded from ISO website. [13]
While LSB was a standard and without a competitor, it was followed only by few Linux distributions. For instance, only 21 distribution releases (versions) were certified for LSB version 4.0, notably Red Flag Linux Desktop 6.0, Red Hat Enterprise Linux 6.0, SUSE Linux Enterprise 11, and Ubuntu 9.04 (Jaunty Jackalope); [14] even fewer were certified for version 4.1.
The LSB was criticized [15] [16] [17] [18] for not taking input from projects, most notably the Debian project, outside the sphere of its member companies.
LSB specified that software packages should either be delivered as an LSB-compliant installer, [19] or (preferably) be delivered in a restricted form of the RPM Package Manager format. [20]
This choice of package format precluded the use of other existing package formats not compatible with RPM. To address this, the standard did not dictate which package format the system must use for its own packages, merely that RPM must be supported to allow packages from third-party distributors to be installed on a conforming system.
Debian included optional support for LSB early on, at version 1.1 in "woody" (3.0; July 19, 2002), 2.0 in "sarge" (3.1; June 6, 2005), 3.1 in "etch" (4.0; April 8, 2007), 3.2 in "lenny" (5.0; February 14, 2009) and 4.1 in "wheezy" (7; May 4, 2013). To use foreign LSB-compliant RPM packages, the end-user needs to use Debian's Alien program to transform them into the native package format and then install them.
The LSB-specified RPM format had a restricted subset of RPM features—to block usage of RPM features that would be untranslatable to .deb with Alien or other package conversion programs, and vice versa, as each format has capabilities the other lacks. In practice, not all Linux binary packages were necessarily LSB-compliant, so while most could be converted between .rpm and .deb, this operation was restricted to a subset of packages.
By using Alien, Debian was LSB-compatible for all intents and purposes, but according to the description of their lsb
package, [21] the presence of the package "does not imply that we believe that Debian fully complies with the Linux Standard Base, and should not be construed as a statement that Debian is LSB-compliant." [21]
Debian strived to comply with the LSB, but with many limitations. [22] However, this effort ceased around July 2015 due to lack of interest and workforce inside the project. [23] In September 2015, the Debian project confirmed that while support for Filesystem Hierarchy Standard (FHS) would continue, support for LSB had been dropped. [24] Ubuntu followed Debian in November 2015. [25]
Additionally, the compliance test suites were criticized for being buggy and incomplete—most notably, in 2005 Ulrich Drepper criticized the LSB for poorly written tests which can cause incompatibility between LSB-certified distributions when some implement incorrect behavior to make buggy tests work, while others apply for and receive waivers from complying with the tests. [26] He also denounced a lack of application testing, pointing out that testing only distributions can never solve the problem of applications relying on implementation-defined behavior. [26]
For the vendors considering LSB certifications in their portability efforts, the Linux Foundation sponsored a tool that analyzed and provided guidance on symbols and libraries that go beyond the LSB. [27]
Debian, also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software and optionally non-free firmware or software developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of Debian (0.01) was released on September 15, 1993, and its first stable version (1.1) was released on June 17, 1996. The Debian Stable branch is the most popular edition for personal computers and servers. Debian is also the basis for many other distributions that have different purposes, like Proxmox for servers, Ubuntu or Linux Mint for desktops, Kali for penetration testing, and Pardus and Astra for government use.
In computing, the Executable and Linkable Format, is a common standard file format for executable files, object code, shared libraries, and core dumps. First published in the specification for the application binary interface (ABI) of the Unix operating system version named System V Release 4 (SVR4), and later in the Tool Interface Standard, it was quickly accepted among different vendors of Unix systems. In 1999, it was chosen as the standard binary file format for Unix and Unix-like systems on x86 processors by the 86open project.
The Portable Operating System Interface is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system and user-level application programming interfaces (APIs), along with command line shells and utility interfaces, for software compatibility (portability) with variants of Unix and other operating systems. POSIX is also a trademark of the IEEE. POSIX is intended to be used by both application and system developers.
The Single UNIX Specification (SUS) is a standard for computer operating systems, compliance with which is required to qualify for using the "UNIX" trademark. The standard specifies programming interfaces for the C language, a command-line shell, and user commands. The core specifications of the SUS known as Base Specifications are developed and maintained by the Austin Group, which is a joint working group of IEEE, ISO/IEC JTC 1/SC 22/WG 15 and The Open Group. If an operating system is submitted to The Open Group for certification, and passes conformance tests, then it is deemed to be compliant with a UNIX standard such as UNIX 98 or UNIX 03.
Advanced package tool, or APT, is a free-software user interface that works with core libraries to handle the installation and removal of software on Debian and Debian-based Linux distributions. APT simplifies the process of managing software on Unix-like computer systems by automating the retrieval, configuration and installation of software packages, either from precompiled files or by compiling source code.
The GNU C Library, commonly known as glibc, is the GNU Project implementation of the C standard library. It is a wrapper around the system calls of the Linux kernel for application use. Despite its name, it now also directly supports C++. It was started in the 1980s by the Free Software Foundation (FSF) for the GNU operating system.
The C standard library or libc is the standard library for the C programming language, as specified in the ISO C standard. Starting from the original ANSI C standard, it was developed at the same time as the C library POSIX specification, which is a superset of it. Since ANSI C was adopted by the International Organization for Standardization, the C standard library is also called the ISO C library.
In computing, a locale is a set of parameters that defines the user's language, region and any special variant preferences that the user wants to see in their user interface. Usually a locale identifier consists of at least a language code and a country/region code. Locale is an important aspect of i18n.
pax is an archiving utility available for various operating systems and defined since 1995. Rather than sort out the incompatible options that have crept up between tar
and cpio
, along with their implementations across various versions of Unix, the IEEE designed a new archive utility pax that could support various archive formats with useful options from both archivers. The pax
command is available on Unix and Unix-like operating systems and on IBM i, and Microsoft Windows NT until Windows 2000.
Technical variations of Linux distributions include support for different hardware devices and systems or software package configurations. Organizational differences may be motivated by historical reasons. Other criteria include security, including how quickly security upgrades are available; ease of package management; and number of packages available.
Linux is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution (distro), which includes the kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses and recommends the name "GNU/Linux" to emphasize the use and importance of GNU software in many distributions, causing some controversy.
LXDE is a free desktop environment with comparatively low resource requirements. This makes it especially suitable for use on older or resource-constrained personal computers such as netbooks or system on a chip computers.
Linux Mint is a community-driven Linux distribution based on Ubuntu, bundled with a variety of free and open-source applications. It can provide full out-of-the-box multimedia support for those who choose to include proprietary software such as multimedia codecs. Compared to standard Ubuntu, it uses the Cinnamon interface in the most popular edition, using a different, more traditional layout that can be customized by dragging the applets and creating panels. New applets can also be downloaded.
The DCC Alliance (DCCA) was an industry association designed to promote a common subset of the Debian Linux operating system that multiple companies within the consortium could distribute. It was founded by Ian Murdock in 2005 and was wound up in 2007.
Bharat Operating System Solutions is an Indian Linux distribution based on Debian, with its latest stable version is 10.0 ("Pragya") which was released in March 2024.
antiX is a Linux distribution, originally based on MEPIS, which itself is based on the Debian stable distribution. antiX initially replaced the MEPIS KDE desktop environment with the Fluxbox and IceWM window managers, making it suitable for older, less powerful x86-based systems. Unlike Debian, antiX does not use the systemd init system, instead, antiX provides images in which either SysVinit or Runit are set as the default init system.
Leafpad is a free and open-source graphical text editor for Linux, Berkeley Software Distribution (BSD), and Maemo that is similar to the Microsoft Windows program Notepad. Created with the focus of being a lightweight text editor with minimal dependencies, it is designed to be simple-to-use and easy-to-compile.
Software Package Data Exchange (SPDX) is an open standard for software bill of materials (SBOM). SPDX allows the expression of components, licenses, copyrights, security references and other metadata relating to software. Its original purpose was to improve license compliance, and has since been expanded to facilitate additional use-cases, such as supply-chain transparency and security. SPDX is authored by the community-driven SPDX Project under the auspices of the Linux Foundation.
Devuan is a fork of the Debian Linux distribution that uses sysvinit, runit or OpenRC instead of systemd. Devuan aims to avoid "lock-in" by projects like systemd and aims to maintain compatibility with other init systems to avoid detaching Linux from other Unix systems.
MX Linux is a Linux distribution based on Debian stable and using core antiX components, with additional software created or packaged by the MX community. The development of MX Linux is a collaborative effort between the antiX and former MEPIS communities. The MX name comes from the "M" in MEPIS and the "X" in antiX — an acknowledgment of their roots. The community's stated goal is to produce "a family of operating systems that are designed to combine elegant and efficient desktops with high stability and solid performance".
Media: