Linux Standard Base (LSB)

Discussion in 'Linux Other' started by DevynCJohnson, Dec 15, 2013.

  1. DevynCJohnson

    DevynCJohnson Super Moderator Staff Member Staff Writer

    Messages:
    959
    Likes Received:
    852
    Trophy Points:
    93
    The Linux Standard Base (LSB) is an ISO standard for GNU/Linux. The purpose is to keep the distros standardized and compatible. LSB is based on several standards including POSIX. LSB sets standards for various portions of Linux systems including run levels, file system hierarchy, and many other subsystems. The latest edition of the LSB specification is 4.1 which has a few parts listed below.

    Core - This is the general basis of the specification
    C++ - The specifications for the libraries
    Desktop - This category contains specifications for GTK, QT(3&4), multimedia (like ALSA), graphics, and others
    Languages - Specifications for Python, Perl, and GTK+
    Printing - The CUPS library is standardized
    Security - Security specifications

    The LSB standard supports seven architectures - IA32, IA64, PPC32, PPC64, S390, S390X, and X86_64

    NOTE: An ISO standard is a standard set by the International Organization for Standardization (ISO). ISO sets various standards; not all pertain to computers.

    Remember, I said that LSB also includes some other set standards. Other standards were used as references when creating the LSB standard. Some of these specifications include

    Filesystem Hierarchy Standard (FHS) - sets the file/folder layout

    ISO C - C-language specification

    Itanium C++ ABI - ABI stands for Application Binary Interface. An ABI is the interface between the software and the operating system.

    Large File Support - Support for large files

    POSIX - Portable Operating System Interface (POSIX). POSIX is a large, stand-alone specification that will not be deeply covered in this article.

    SUS - Single UNIX Specification. Systems that comply with all of the standards in SUS are considered Unix systems. Unix-like systems are operating systems that do not fully satisfy the standard. The different versions of the Unix standard are designated as UNIX93, UNIX95, UNIX98, and UNIX03. Obviously, they were made in 1993, 1995, 1998, and 2003, respectively. HP-Unix and Mac OS X are examples of two commonly used Unix systems. Linux and *BSD are considered Unix-like because they do not satisfy all of the criteria.

    SVID - System V Interface Definition. This standard covers C-libraries, system calls, software, and hardware management.

    System V ABI - A System V Application Binary Interface specification

    X/Open Curses - A standard for the popular text-based interface ncurses.

    DWARF Debugging Information Format - This is a format used by debuggers and compilers for reporting bugs.

    IEC 60559/IEEE 754 Floating Point - Floating-point computation standard

    ISO/IEC TR14652 - Character format specification

    ITU-T V.42 - Error correction standard

    Li18nux Globalization Specification - Specifications that aid in the internationalization of Linux

    Linux Allocated Device Registry - Each type of /dev/ file has a special number. This registry is the officially set numbers.

    Mozilla's NSS SSL Reference - This is a reference for Network Security Services and Secure Socket Layer. https://developer.mozilla.org/en-US/docs/NSS_reference

    NSPR Reference - This is a reference for Netscape Portable Runtime (NSPR).

    RFC 1321 - The MD5 Message-Digest Algorithm

    RFC 1831/1832 - Remote Procedure Call Protocol Specification

    RFC 1833 - Binding Protocols for ONC RPC

    RFC 1950 - ZLIB Compressed Data Format Specification

    RFC 1951 - DEFLATE Compressed Data Format Specification

    RFC 1952 - GZIP File Format Specification


    RFC 2440 - OpenPGP Message Format

    RFC 2821 - Simple Mail Transfer Protocol (SMTP)

    RFC 2822 - Internet Message Format

    RFC 791 - Internet Protocols

    RPM Package Format - The RPM installation package (yes, the same one used on Fedora and RedHat) has a standard that it follows.


    All of these specifications that were implemented in LSB or used as a reference are very important in making Unix and Unix-like systems standard and compatible. Imagine making a cross-platform application for a range of operating systems that were very diverse. If these specifications were followed entirely among all systems, then more software would be compatible. The main purpose of the LSB is to keep all Linux distros compatible with each other. Please note that the Linux Standard Base (LSB) is a standard among Linux distros (not Unix systems), yet some of the adopted specifications (like POSIX) are used among Unix and Unix-like systems.

    Attached Files:

    ryanvade likes this.

Share This Page