最近看到大家在讨论LSB,看到这个陌生的字眼,我一脸茫然,查了一些信息与和我一样的小白们分享一下:
目前 Linux 的发行版非常繁多,为了促进 Linux 不同发行版间的兼容性,LSB(Linux Standards Base)开发了一系列标准,使各种软件可以很好地在兼容 LSB 标准的系统上运行,从而可以帮助软件供应商更好地在 Linux 系统上开发产品,或将已有的产品移植到 Linux 系统上。
LSB
在90 年代中期,Linux 也开始了自己的标准化努力。实际上,Linux 一直都试图遵守 POSIX 标准,因此在源代码级上具有很好的兼容性,然而对于 Linux 来说,仅仅保证源码级的兼容性还不能完全满足要求:在 Unix 时代,大部分系统都使用的是专有的硬件,软件开发商必须负责将自己的应用程序从一个平台移植到其他平台上;每个系统的生命周期也很长,软件开发商可以投入足够的资源为各个平台发布二进制文件。然而 Linux 使用的最广泛的 x86 通用平台,其发行版是如此众多,而发展却如此之快,软件开发商不可能为每个发行版都发布一个二进制文件,因此就为 Linux 上的标准化提出了一个新的要求:二进制兼容性,即二进制程序不需要重新编译,就可以在其他发行版上运行。
实际上,在 Linux 社区中第一个标准化努力是文件系统层次标准(Filesystem Hierarchy Standard,FHS),用来规范系统文件、工具和程序的存放位置和系统中的目录层次结构,例如 ifconfig 命令应该放在 /usr/bin 还是 /usr/sbin 目录中,光驱应该挂载到 /mnt/cdrom 中还是 /media/cdrom 中。这些需求最终共同促进了 Linux Standard Base(LSB)项目的诞生。
LSB目前是 FSG(Free Standards Group)中最为活跃的一个工作组,其使命是开发一系列标准来增强 Linux 发行版的兼容性,使各种软件可以很好地在兼容 LSB 标准的系统上运行,从而可以帮助软件供应商更好地在 Linux 系统上开发产品,或将已有的产品移植到 Linux 系统上。
LSB 以 POSIX 和 SUS 标准为基础,并对其他领域(例如图形)中源代码的一些标准进行了扩充,还增加了对二进制可执行文件格式规范的定义,从而试图确保 Linux 上应用程序源码和二进制文件的兼容性。
详见【http://www.ibm.com/developerworks/cn/linux/l-lsb-intr/】
|