我需要使用 bash 找出我正在运行的 Linux 发行版。成立这一页 https://www.cyberciti.biz/faq/find-linux-distribution-name-version-number/,这非常有帮助。
但是我的系统有两个 /etc/*-release 文件
/etc/lsb-release
/etc/os-release
它似乎os-release
有更多信息,但看起来这两个文件本质上做同样的事情。有谁知道它们之间有什么区别?当我们这样做的时候,什么是lsb
in lsb-release
代表?
The /etc/lsb-release
file 是一些(但不是全部)Linux 发行版放在那里供旧程序使用的文件。 “lsb”指的是 Linux Standard Base,该项目致力于为任何 Linux 发行版定义一套通用标准,包括文件系统布局等。然而,该文件,/etc/lsb-release
,不是标准的一部分。这是一些发行版使用的额外功能,但不是全部。
The /etc/os-release
file is然而标准。任何基于 systemd 的发行版(包括 Red Hat Enterprise Linux、CentOS、Fedora、Gentoo、Debian、Mint、Ubuntu 等)都需要拥有该文件。不使用 systemd 的发行版也可能有该文件。
如果您需要一种可靠的方法来检测正在运行的发行版,那么最好的选择是读取 /etc/os-release 文件。如果不存在,您可以尝试运行名为lsb_release
。但只是忽略/etc/lsb-release
file.
您可以阅读有关 os-release 的更多信息here https://www.freedesktop.org/software/systemd/man/os-release.html and here http://0pointer.de/blog/projects/os-release。只是为了好玩,看看所有不同的文件 http://linuxmafia.com/faq/Admin/release-files.htmlLinux 发行版曾经使用过!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)