LinuxディストリビューションがFedoraコアベース(Fedora、RHEL、CentOS、Scientific Linuxなど)の場合、Python M2Cryptoライブラリには わずかに異なるインストールコマンド が必要です。
ディストリビューションがFedora-Coreベースであるかどうかを確認する方法はありますか?それで、ディストリビューションに応じて正しいインストールコマンドを実行するスクリプトを書くことができますか?
プラットフォームがFedoraベースであるかどうかを確認しないでください。この特定の回避策が必要かどうかを確認してください。次のコマンドを実行します:ls /usr/include/openssl/*-*
そして、opensslconf-x86_64.h
ファイルまたはopensslconf-i386.h
ファイルがあるかどうかを確認します。
これはディストリビューションがどれだけ変更されたかによって異なりますが、通常はリリースの名前を明らかに含む/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
も含まれていると思います(ただし、現時点ではわかりません)。
すべてのrpmで「release」というrpm名を検索します。私がチェックしたすべてのディストリビューションには、そのような名前が付いています(RedHat、CentOS 3/4/5、SLES 9/10/11)。それから、それがどのディストリビューションであるかを推測できます(少なくとも、メジャーリリースはそのrpmのバージョンとして表されることもよくあります)。
多くの「プロフェッショナル」スクリプト(Dell-OMSAなど)は、/ etc/redhat-relase、/ etc/SuSE-releaseを検索し、これらを解析してメジャー/マイナーバージョンを取得します。