Linux Standard Base (LSB)

This topic was published by and viewed 1851 times since "". The last page revision was "".

Viewing 1 post (of 1 total)
  • Author

  • DevynCJohnson
    • Topics - 437
    • @devyncjohnson

    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, 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.
    • 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.

Viewing 1 post (of 1 total)