World Library  
Flag as Inappropriate
Email this Article

Linux Standard Base

Article Id: WHEBN0000246753
Reproduction Date:

Title: Linux Standard Base  
Author: World Heritage Encyclopedia
Language: English
Subject: Linux Foundation, Linux kernel, Linux Assigned Names and Numbers Authority, DCC Alliance, Nobody (username)
Collection: Interfaces of the Linux Kernel, Iso Standards, Linux, Linux Apis, Linux Foundation
Publisher: World Heritage Encyclopedia

Linux Standard Base

The LSB logo

The Linux Standard Base (LSB) is a joint project by several Linux Foundation to standardize the software system structure, including the filesystem hierarchy used in the Linux operating system. The LSB is based on the POSIX specification, the Single UNIX Specification (SUS), and several other open standards, but extends them in certain areas.

According to the 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.

The LSB compliance may be certified for a product by a certification procedure.[1]

The LSB specifies for example: standard libraries, 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.

The command lsb_release -a is available in many systems to get the LSB version details, or can be made available by installing an appropriate package, for example the redhat-lsb package on Red-Hat-flavored Linux distributions such as Fedora.[2]


  • Backward compatibility 1
  • Version history 2
  • ISO standard 3
  • Reception 4
    • Choice of the RPM package format 4.1
    • Limitations on Debian 4.2
    • Quality of compliance test suites 4.3
  • See also 5
  • References 6
  • External links 7
    • Media 7.1

Backward compatibility

LSB aims to make binaries portable

The LSB is designed to be binary-compatible and produce a stable application binary interface (ABI) for independent software vendors. To achieve backward compatibility, each subsequent version is purely additive. In other words, interfaces are only added, not removed. The LSB adopted an interface deprecation policy to give application developers enough time in case an interface is removed from the LSB.

This allows the developer to rely on every interface in the LSB for a known time and also to plan for changes, without being surprised. Interfaces are only removed after having been marked "deprecated" for at least three major versions, or roughly six years.[3]

LSB 5.0 is the first major release that breaks backward compatibility with earlier versions.[4]

Version history

  • 1.0: Initial release June 29, 2001.
  • 1.1: Released January 22, 2002. Added hardware-specific specifications (IA-32).
  • 1.2: Released June 28, 2002. Added hardware-specific specifications (PowerPC 32-bit). Certification began July 2002.
  • 1.2.1: Released October 2002. Added Itanium.
  • 1.3: Released December 17, 2002. Added hardware-specific specifications (Itanium, Enterprise System Architecture/390, z/Architecture).
  • 2.0: Released August 31, 2004
    • LSB is modularized to LSB-Core, LSB-CXX, LSB-Graphics, and LSB-I18n (not released)
    • New hardware-specific specifications (PowerPC 64-bit, AMD64)
    • Synchronized to Single UNIX Specification (SUS) version 3
  • 2.0.1: Released October 21, 2004, ISO version of LSB 2.0, which included specification for all hardware architectures (except LSB-Graphics, of which only a generic version is available).
  • 2.1: Released March 11, 2005.
  • 3.0: Released July 1, 2005. Among other library changes:
    • GNU C Library version 2.3.4
    • C++ ABI is changed to the one used by gcc 3.4
    • The core specification is updated to ISO POSIX (2003)
    • Technical Corrigenda 1: 2005
  • 3.1: Released October 31, 2005. This version has been submitted as ISO/IEC 23360.
  • 3.2: Released January 28, 2008. This version has been submitted as ISO/IEC 23360.
  • 4.0: Released November 11, 2008. This version contains the following features:
    • GNU C Library version 2.4
    • Binary compatibility with LSB 3.x
    • Easier to use SDK
    • Support for newer versions of GTK and Cairo graphical libraries
    • Java (optional module)
    • Simpler ways of creating LSB-compliant RPM packages
    • Crypto API (via the Network Security Services library) (optional module)
  • 4.1: Released February 16, 2011:[5]
    • Java removed[6]
    • "Trial Use" modules from LSB 4.0, covering multimedia (ALSA), security (NSS) and desktop miscellaneous (xdg-utils) have been promoted as required submodules
    • Updated GTK+, Cairo and CUPS libraries
    • Three new test suites added
  • 5.0: Released June 2, 2015
    • First major release that breaks backward compatibility with earlier versions (compatible with LSB 3.0, and mostly compatible with LSB 3.1 and later, with some exceptions[7])
    • Incorporates the changes made in FHS 3.0
    • Qt 3 library has been removed
    • Evolved module strategy; LSB is modularized to LSB Core, LSB Desktop, LSB Languages, LSB Imaging, and LSB Trial Use

ISO standard

The LSB is registered as an official ISO standard.[8] The main parts of it are:

  • ISO/IEC 23360-1:2006 Linux Standard Base (LSB) core specification 3.1 – Part 1: Generic specification
  • ISO/IEC 23360-2:2006 Linux Standard Base (LSB) core specification 3.1 – Part 2: Specification for IA-32 architecture
  • ISO/IEC 23360-3:2006 Linux Standard Base (LSB) core specification 3.1 – Part 3: Specification for IA-64 architecture
  • ISO/IEC 23360-4:2006 Linux Standard Base (LSB) core specification 3.1 – Part 4: Specification for AMD64 architecture
  • ISO/IEC 23360-5:2006 Linux Standard Base (LSB) core specification 3.1 – Part 5: Specification for PPC32 architecture
  • ISO/IEC 23360-6:2006 Linux Standard Base (LSB) core specification 3.1 – Part 6: Specification for PPC64 architecture
  • ISO/IEC 23360-7:2006 Linux Standard Base (LSB) core specification 3.1 – Part 7: Specification for S390 architecture
  • ISO/IEC 23360-8:2006 Linux Standard Base (LSB) core specification 3.1 – Part 8: Specification for S390X architecture

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.[9]

ISO/IEC 23360 and ISO/IEC TR 24715 can be freely downloaded from ISO website.[10]


While the LSB is a standard and without a competitor, it is followed only by few Linux distributions. For instance, only 21 distribution releases (versions) are 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);[11] even fewer are certified for version 4.1.

The LSB has been criticized[12][13][14][15] for not taking input from projects, most notably the Debian project, outside the sphere of its member companies.

Choice of the RPM package format

The LSB specifies that software packages should either be delivered as an LSB-compliant installer,[16] or (preferably) be delivered in a restricted form of the RPM Package Manager format.[17]

This choice of package format precludes the use of the many other, existing package formats not compatible with RPM. To address this, the standard does not dictate what 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.

Limitations on Debian

Debian has included optional support for the 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 has 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 are necessarily LSB-compliant, so while most can be converted between .rpm and .deb, this operation is restricted to a subset of packages.

By using Alien, Debian is LSB-compatible for all intents and purposes, but according to the description of their lsb package,[18] 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."[18]

Debian strived to comply with the LSB, but with many limitations.[19] However, this effort ceased around July 2015 due to lack of interest and workforce inside the project.[20] In September 2015, the Debian project confirmed that while support for Filesystem Hierarchy Standard would continuue, support for LSB had been dropped.[21]

Quality of compliance test suites

Additionally, the compliance test suites have been 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.[22] 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.[22]

For the vendors considering LSB certifications in their portability efforts, the Linux Foundation sponsors a tool that analyzes and provides guidance on symbols and libraries that go beyond the LSB.[23]

See also


  1. ^ "Certifying an Application to the LSB".  
  2. ^ "Package redhat-lsb". Retrieved August 15, 2015. 
  3. ^ "LSB Roadmap".  
  4. ^ "LSB 5.0 Release Notes". Retrieved 3 June 2015. 
  5. ^ djwm (10 March 2011). "Java removed from Linux Standard Base 4.1". 
  6. ^ "Java removed from Linux Standard Base 4.1". March 10, 2011. Retrieved August 15, 2015. 
  7. ^ "LSB 5.0 Release Notes: Qt 3 Removed". Retrieved 3 June 2015. 
  8. ^ "ISO/IEC 23360-1:2006 - Linux Standard Base (LSB) core specification 3.1 -- Part 1: Generic specification". Retrieved 2011-10-15. 
  9. ^ "ISO/IEC TR 24715:2006 - Information technology -- Programming languages, their environments and system software interfaces -- Technical Report on the Conflicts between the ISO/IEC 9945 (POSIX) and the Linux Standard Base (ISO/IEC 23360)". Retrieved 2011-10-15. 
  10. ^ "ISO Publicly Available Standards". Retrieved 2011-10-15. 
  11. ^ Certified Products Product Directory on (2015-01-12)
  12. ^ "". 
  13. ^ "". 
  14. ^ "". 
  15. ^ "". 
  16. ^ "Chapter 22. Software Installation 22.1. Introduction". Linux Standard Base Core Specification 3.1. 2005. 
  17. ^ "Chapter 22. Software Installation 22.3. Package Script Restrictions". Linux Standard Base Core Specification 3.1. 2005. 
  18. ^ a b "Debian -- Details of package lsb in lenny (stable) -- Linux Standard Base 3.2 support package".  
  19. ^ "Debian LSB".  
  20. ^ "Debian LSB ML discussion".  
  21. ^ "Debian dropping the Linux Standard Base". 
  22. ^ a b Drepper, Ulrich (2005-09-17). "Do you still think the LSB has some value?". Retrieved 2010-04-26. 
  23. ^ "All About the Linux Application Checker".  

External links

  • archives of the specification
  • Linux Standard Base (LSB) wiki
  • OLVER Test Suite for LSB - Open Linux Verification project
  • Linux Foundation's Linux Developer Network (LDN) - to help developers building portable Linux applications.


  • Four Linux Vendors Agree On An LSB Implementation (slashdot)
  • August 26, 1998 press release describing breakdown of teams (at the time) and who was involved, of historical interest
  • Yes, the LSB Has Value - Response to Drepper (2005) by Jeff Licquia
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from World eBook Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.