Python M2Crypto 库需要安装命令略有不同如果 Linux 发行版是基于 Fedora core 的(例如 Fedora、RHEL、CentOS、Scientific Linux)。
有没有办法检查发行版是否基于 Fedora-Core,以便我可以编写脚本来根据发行版执行正确的安装命令?
答案1
这取决于发行版的修改程度,但通常应该有一个名为/etc/fedora-release
明显包含发行版名称的文件(令人惊讶!)在我的 Fedora 笔记本电脑上,它包含以下行
Fedora release 14 (Laughlin)
在 CentOS 服务器上是redhat-release
:
[0] ktf> cat /etc/redhat-release
CentOS release 5.6 (Final)
我相信(但目前我不确定)SciLi 还具有一个文件redhat-release
答案2
不要检查您的平台是否基于 Fedora。检查是否需要此特定解决方法。执行这个命令:ls /usr/include/openssl/*-*
看看有没有opensslconf-x86_64.h
文件或者opensslconf-i386.h
文件。
答案3
在所有 rpm 中搜索 rpm 名称为“release”的rpm。我检查过的所有发行版都有这样的名称(RedHat、CentOS 3/4/5、SLES 9/10/11)。由此您可以推断出它是哪个发行版(至少主要版本通常也表示为该 rpm 的版本)。
许多“专业”脚本(例如 Dell-OMSA)会搜索 /etc/redhat-relase、/etc/SuSE-release,然后解析它们以获得主要/次要版本。