在不同的linux版下都有lsb_release这个工具,它可以用来获取发行版特定的信息,包括发行版的名称,发行版的版本号以及描述信息等。
例如在我的FedoraCore下执行后的结果如下
[root@localhost ~]#lsb_release -a
LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID:FedoraCore
Description: Fedora Core release 6 (Zod)
Release: 6
Codename: Zod
可以看到我的操作系统版本是Fedora Core release 6,此外我们还能看到LSB version信息。
LSB是Linux System Base的缩写,它旨在促进不同发行版之间应用程序的二进制兼容性。LSB标准有专门的委员会进行制定,操作系统必须经过严格的认证才可以通过 lsb标准。
上述输出的含义即当前的操作系统版本符合lsb3.1的规范,那么在当前版本下的应用程序也可以在兼容lsb3.1的其他操作系统下运行。
lsbversion的格式也必须为: core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
这种格式,因为应用程序的开发人员可能会根据lsb version的不同去选择不同的代码实现方式,这样才能真正保证应用程序的可移植性