/ etc / lsb-release与/ etc / os-release

fla*_*urn 6 linux bash

我需要找出我正在使用bash运行的Linux发行版。找到此页面,这非常有帮助。

但是我的系统有两个/ etc / *-release文件

/etc/lsb-release
/etc/os-release
Run Code Online (Sandbox Code Playgroud)

似乎os-release有更多的信息,但是看起来这两个文件本质上都做同样的事情。有谁知道他们之间有什么区别?当我们这样做时lsblsb-release代表什么呢?

Tod*_*ton 7

/etc/lsb-release文件是一些(但不是全部)Linux发行版中存放的文件,供较旧的程序使用。“ lsb”是指Linux Standard Base,该项目致力于为所有Linux发行版定义一套通用的标准,包括文件系统布局之类。但是,该文件/etc/lsb-release不是标准的一部分。有些发行版使用的是额外的东西,但不是全部。

/etc/os-release文件标准的。必须具有该systemd的任何基于systemd的发行版,包括Red Hat Enterprise Linux,CentOS,Fedora,Gentoo,Debian,Mint,Ubuntu和许多其他发行版。不使用systemd的发行版也可能包含该文件。

如果您需要一种可靠的方法来检测正在运行的发行版,那么最好的选择是阅读/ etc / os-release文件。如果不存在,您可以尝试运行名为的程序lsb_release。但只是忽略该/etc/lsb-release文件。

您可以在此处此处阅读有关os-release的更多信息。只是为了好玩,看看Linux发行版曾经使用的所有不同文件

  • /etc/os-release 也被 FreeBSD 采用。 (2认同)