Unix 1969 年诞生于 AT&T 贝尔实验室,并在 1973 年使用 C 语言进行了重写,从此就具有了很好的可移植性。但是当 AT&T
在 1984 年由于分拆而得以进入计算机领域的市场之后,却引发了 Unix 业界的一场大战。当时最为主要的两个版本是 AT&T
的 System V 和伯克利的 BSD。二者在技术方面(例如终端)和文化方面都存在很多分歧,导致应用程序很难在不同的系统上
平滑地进行移植,为了解决这个问题,IEEE(Institute of Electrical and Electronic Engineers)的 1003 委员会着手开
发了一系列标准,这就是后来的 POSIX(Portable Operating System Interface for UNIX)标准。其目的是为那些兼容各种
UNIX 变种的应用程序制定应用程序编程接口(API)规范,从而确保这些应用程序的兼容性。这些标准后来被 ISO/IEC 采纳
,成为 ISO/IEC 9945 标准。
FHS: 文件系统层次标准(Filesystem Hierarchy Standard,FHS),用来规范系统文件、工具和程序的存放位置和系统中的
目录层次结构。
LSB: 目前 Linux 的发行版非常繁多,为了促进 Linux 不同发行版间的兼容性,LSB(Linux Standards Base)开发了一系列
标准,使各种软件可以很好地在兼容 LSB 标准的系统上运行,从而可以帮助软件供应商更好地在 Linux 系统上开发产
品,或将已有的产品移植到 Linux 系统上。LSB目前是 FSG(Free Standards Group)中最为活跃的一个工作组,其使命是
开发一系列标准来增强 Linux 发行版的兼容性,使各种软件可以很好地在兼容 LSB 标准的系统上运行,从而可以帮助软件供
应商更好地在 Linux 系统上开发产品,或将已有的产品移植到 Linux 系统上。
在现有标准基础上,LSB 制定了应用程序与运行环境之间的二进制接口,这主要是基于以下标准:
Single UNIX Specification(SUS)
System V Interface Definition(SVID)
compilers for the Intel Itanium processor
C++ ABI
System V Application Binary Interface(ABI)
lsb_release 打印与发行版本相关的信息