当从命令行使用不熟悉的 Linux/BSD/Unix 计算机(例如通过 SSH)时,你怎么知道什么分布(以及您使用的发行版的哪个版本)?
我尝试过的一些选择:
lsb_release --all
:在 OpenSuSE 11.3 上不存在;但在 Debian squeeze 和 Ubuntu 10.10 上有效。uname --all
:没有提供 SuSE 和 Debian 的发行版信息;可在 Ubuntu 上运行。cat /etc/apt/sources.list
您可以看到计算机连接到哪个发行版的服务器进行更新。显然,这仅适用于基于 Debian 的发行版。如果计算机已配置为使用自定义存储库服务器,则不起作用。
不幸的是,这些似乎都无法在许多发行版中发挥作用。有没有简单的命令可以检查?
答案1
如果安装了 Python 2.3 或更高版本,则可以使用许多分布:
python -c "import platform; print platform.dist()"
答案2
猫/ proc /版本
可能会奏效。
答案3
没有任何一个神奇的命令可以在所有发行版中起作用 - 您需要尝试一系列的方法才能找到答案。
要尝试的事情包括一些您已经做过的事情,例如lsb_release
,以及一些您还没有看过的事情/etc/redhat-release
,例如/etc/fedora-release
,等等。